ShadowSync is a cross-platform tray app that mirrors selected USB folders to your computer using a shadow cache for fast incremental syncs.
ShadowSync is meant for a straightforward removable-drive workflow:
- Plug in a USB drive
- Pull the latest changes onto your computer
- Work from the local folder instead of the drive
- Push back to the USB only when you want to
- Eject safely from the tray when you're done
- Pull sync with
USB -> shadow cache -> local folder - Optional push-back with
local folder -> shadow cache -> USB - Incremental syncing that skips unchanged files
- Tray controls for sync, logs, folders, setup, and eject
- Native Rust setup wizard
- Single-instance protection and config recovery
- Windows, macOS, and Linux release builds
- Download the right release for your platform from the GitHub Releases page.
- Launch ShadowSync and let it create its local app data files.
- Open the setup wizard from the tray and configure your USB source and local target.
- Run
Sync from USB nowto pull files onto the machine. - Use
Sync to USB nowonly when you want to publish changes back to the drive.
This README stays short on purpose. Use the docs for setup details, behavior, and troubleshooting:
- 🌐 Docs site
- 🛠️ Getting Started
- 🧩 Configuration
- 🖱️ Tray App
- 🔄 Sync Model
- 🧹 Reset and Cleanup
- 📦 Installer and Releases
cargo test --locked
cargo build --releaseFor docs previews:
python -m pip install -r requirements-docs.txt
python -m mkdocs serveShadowSync was built with AI-assisted tooling and then refined through manual review and iteration.