PokeSync is a simple tool to keep your Citra saves synchronized between multiple computers using a Cloud folder (Dropbox/OneDrive) or GitHub.
- Universal Sync: Works with ALL 3DS games (Pokémon, Zelda, Mario, etc.).
- Safe: Automatically backs up your saves before syncing.
- Smart: Warns you if you are about to overwrite a newer save.
- Easy UI: Simple buttons to "Push" (upload) or "Pull" (download) your progress.
git clone <your-repo-url> && cd pokesync
./setup.sh
python3 main.pySee the detailed USAGE_GUIDE.md for Windows installation and troubleshooting.
git clone https://github.com/FaiGiJoon/PokeSync; cd pokesync
.\install.ps1
python main.pygit clone <your-repo-url> && cd pokesync
./setup_macos.sh
python3 main.pydocker-compose up -d- Set Sync Mode to "Local Folder".
- Click Browse Cloud Path and select a folder in your Dropbox, OneDrive, or Google Drive.
- Use Push to upload your save and Pull on your other computer.
See the GUIDE.md for step-by-step GitHub setup.
- Backups: Your saves are stored in
backups/every time you pull. - Isolation: When using Docker, the app runs in a containerized environment.
- Secure Access: We recommend using Tailscale for remote access (see below).
To sync your saves from anywhere without opening ports on your router:
- Install Tailscale on both your local and remote machines.
- Enable Tailscale SSH in your Tailscale dashboard.
- Use the included
sync_data.pyscript to fetch saves securely:python sync_data.py [user] [tailscale-ip] 22 [remote-path] [local-path]
- Copy the service file:
cp pokesync.service ~/.config/systemd/user/ - Enable it:
systemctl --user enable --now pokesync.service
