- cross-posted to:
- opensource@lemmy.ml
- opensource@programming.dev
- cross-posted to:
- opensource@lemmy.ml
- opensource@programming.dev
cross-posted from: https://lemmy.ml/post/44815211
Two-way file sync, no remote agent needed
Today Synchi is finally public! It’s designed for syncing files between two locations (local or over SSH). It detects conflicts, and lets you decide what to do.
Why not rsync/Unison/Syncthing?
- rsync has no memory between runs and is one-way
- Unison needs to be installed on both sides
- Syncthing requires always-on daemons
Synchi runs on demand, works over SSH, and only transfers what actually changed.
I use it daily for syncing a shared folder between my machines and an android phone. Works great in combination with Tailscale/WireGuard so that you can sync files remotely.



Genuine question: How’s this different to
rsync?I have
rsyncinstalled locally, but not remotely and I’m able to sync changes, so how does this differ?Edit: ok, I read the article a bit further and found the rsync comparison
Great question! Let me sum it up here for others:
rsync is one-way only and has no memory between runs, every execution starts from scratch. Synchi is two-way, stateful (knows what changed since last sync), and content-aware (uses hashes, so no false positives from timestamp changes). It also handles conflicts explicitly instead of silently overwriting.
That said, rsync is still the better tool for backups and one-way mirroring. Synchi is for when you need true bidirectional sync.
Here is also a comparison with unison and syncthing: https://jakobkreft.github.io/synchi/why.html