An ftp syncing python package that I use to sync pokemon saves between my hacked 3ds running ftpd and my server

Related tags

Networkingftp_sync
Overview

ftp sync

Sync file pairs over ftp and apply patches to them. Useful for using ftpd to transfer ROM save files to and from your DS if you also play on an emulator. Setup a cron job to check for your DS's ftp server periodically to setup automatic syncing. Untested on windows. It may just work out of the box, unsure though.

Installation

Clone this repo, cd into it, pip3 install .

Config file format

Default config file location:

  • Windows: Documents\ftp_sync\ftp_sync.yaml
  • Linux/MacOS: ~/.config/ftp_sync/ftp_sync.yaml

Use either yaml or json. An example yaml file is provided with all of the currently supported options.

If the patcher option is not specified, files will be transfered unmodified.

Automatic sync behavior

On your first run, you'll likely have to specify one of the to/from commands if both remote and local files exist.

  • Will sync if either remote or local file do not exist
  • Will sync if either local or remote files change, not both.
  • Will not sync if both files change

Usage

Usage: python -m ftp_sync [OPTIONS] COMMAND [ARGS]...

Options:
  -c, --config-file TEXT  Yaml or json config file defining connection and 
                          sync pair settings
  -d, --debug
  --help                  Show this message and exit.

Commands:
  sync           Automatically sync a specified sync pair.
  sync-all       Automatically sync all sync pairs.
  sync-all-from  Sync all sync pairs remote to local.
  sync-all-to    Sync all sync pairs local to remote.
  sync-from      Sync a pair remote to local.
  sync-to        Sync a pair local to remote.

The singular sync commands (the ones that aren't sync-all*) take a -n/--name argument which specifies the sync pair to use.

Ex: python3 -m ftp_sync sync -n pokemon_pearl will sync the pokemon_pearl sync pair in the example yaml file.

Future work

  • Windows support
  • Add directory sync support
  • Sync between multiple sources/servers
  • Cleanup old backup files
  • Define and enforce config file schema
  • Add more patchers (Would love to extract/inject saves from/to VC)
  • Make this README better
  • If enough people like this I'll consider adding it to pypi and turning this into a real REPO with CI, unit tests, etc
  • Suggestions?
Owner
B.S./M.S. CMPE UMBC 2019................. ORNL Cybersecurity Researcher
Wallc - Calculate the layout on the wall to hang up pictures

wallc Calculate the layout on the wall to hang up pictures. Installation pip install git+https://github.com/trbznk/wallc.git Getting Started Currently

Alex Trbznk 68 Sep 09, 2022
ThorFI: A Novel Approach for Network Fault Injection as a Service

ThorFI: a Novel Approach for Network Fault Injection as a Service This repo includes ThorFI, a novel fault injection solution for virtual networks in

DESSERT research lab (Federico II University of Naples, Italy) 6 Dec 14, 2022
Get Your Localhost Online - Ngrok Alternative

Get Your Localhost Online - Ngrok Alternative

Azimjon Pulatov 442 Jan 04, 2023
πŸŽ₯ PYnema is a simple UDP server written in python, allows you to watch downloaded videos.

πŸŽ₯ PYnema is a simple UDP server written in python, allows you to watch downloaded videos.

Jan Kupczyk 1 Jan 16, 2022
πŸ‘¨πŸΌβ€πŸ’» β€Žβ€Žβ€Žβ€β€ A customizable man-in-the-middle TCP proxy with out-of-the-box support for HTTP & HTTPS.

πŸ‘¨β€πŸ’» mitm A customizable man-in-the-middle TCP proxy with out-of-the-box support for HTTP & HTTPS. Installing pip install mitm Note that OpenSSL 1.1

Felipe 92 Jan 05, 2023
A tool to generate valid ip addresses of 55 countries. These ip's can be used for OpenBullet.

IP-Grabber A tool to generate valid ip addresses of 55 countries. These ip's can be used for OpenBullet. ive added the feature to set the generated ip

Saad 9 Dec 17, 2022
An ftp syncing python package that I use to sync pokemon saves between my hacked 3ds running ftpd and my server

Sync file pairs over ftp and apply patches to them. Useful for using ftpd to transfer ROM save files to and from your DS if you also play on an emulator. Setup a cron job to check for your DS's ftp s

17 Jan 04, 2023
ServerStatus with node management and monitor

ServerStatus with node management and monitor

lidalao 162 Jan 01, 2023
A project that forwards data it receives in a URL POST Request to a Discord Webhook link

Mailman Mailman is a project that basically just forwards data it receives in a URL POST Request to a Discord Webhook link and act as a sort of messag

Prakhar Trivedi 2 Mar 14, 2022
Dokumentasi belajar Network automation

Repositori belajar network automation dengan Docker, Python & GNS3 Using Frameworks and integrate with: Paramiko Netmiko Telnetlib CSV SFTP Netmiko, S

Daniel.Pepuho 3 Mar 15, 2022
Using AWS's API Gateway + Lambda + Python to run a simple websocket application. For learning/testing

Using AWS's API Gateway + Lambda + Python to run a simple websocket application. For learning/testing. The AWS Resources seemed overly complex and were missing some critical gotchas in setting up a s

Seth Miller 15 Dec 23, 2022
A tool which is capable of scanning ports as TCP & UDP and detecting open and closed ones.

PortScanner Scan All Open Ports Of The Target IP. A tool which is capable of scanning ports as TCP & UDP and detecting open and closed ones. Clone fro

Msf Nmt 17 Nov 26, 2022
The sequel to SquidNet. It has many of the previous features that were in the original script, however a lot of the functions that do not serve much functionality have been removed.

SquidNet2 The sequel to SquidNet. It has many of the previous features that were in the original script, however a lot of the functions that do not se

DrSquidX 5 Mar 25, 2022
Easy-to-use sync library for handy proxy parse

Proxy Parser About Synchronous library, for convenient and fast parsing of proxies from different sources. Uses Scrapy as a parser. At the moment the

Michael Mironov 2 Nov 22, 2022
A vpn that sits in your browser, accessible via a website

VPNInYourBrowser A vpn that sits in your browser, accessible via a website Example setup: https://VPNInBrowser.jaffa42.repl.co Setup Put the code onto

1 Jan 20, 2022
Vent domain information retrieval tool, which is capable of retrieving customer information

Vent domain information retrieval tool, which is capable of retrieving customer information. This tool has been created for the purpose of complete education, Iam not responsible for any illegal acti

Md. Ridwanul Islam Muntakim 25 Dec 09, 2022
IPV4 network calculation project in Python

Curso de Python 3 do BΓ‘sico ao AvanΓ§ado Desafio: Calculando redes IPV4 Criar um programa que obtem um numero de IP com o prefixo da mascara de rede. O

Diego Guedes 3 Jan 21, 2022
Readable, simple and fast asynchronous non-blocking network apps

Fast and readable async non-blocking network apps Netius is a Python network library that can be used for the rapid creation of asynchronous non-block

Hive Solutions 120 Nov 20, 2022
sync application configuration and settings across multiple multiplatform devices

sync application configuration and settings across multiple multiplatform devices ✨ Key Features β€’ βš—οΈ Installation β€’ πŸ“‘ How To Use β€’ πŸ€” FAQ β€’ πŸ› οΈ Setu

Souvik 6 Aug 25, 2022
a decompilation of NAP36 the widevine removal software for amz and nf used by p2p groups until it stoped working due to it using expired cdm keys

NAP36 a decompilation of NAP36 the widevine removal software for amz and nf used by p2p groups until it stoped working due to it useing expired cdm ke

9 Aug 29, 2021