21
Synchi - Two-way file sync (jakobkreft.github.io)
submitted 2 days ago by jak0b@lemmy.ml to c/rust@lemmy.ml

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.

top 7 comments
sorted by: hot top new old
[-] JamonBear@sh.itjust.works 1 points 1 day ago* (last edited 1 day ago)

Interesting, I guess it should fit well with iroh-ssh if its ProxyCommand is set in ssh conf.

[-] jak0b@lemmy.ml 1 points 1 day ago

Haven't tried iroh-ssh but since Synchi just uses standard SSH under the hood, it should work transparently with any ProxyCommand setup. Cool project, though!

[-] Janx@piefed.social 4 points 2 days ago

"Two way"? That just means "sync", right? A 1-way sync would just be a backup.

[-] jak0b@lemmy.ml 5 points 2 days ago

Many sync tools like rsync are actually one-way (yes, only a mirror/backup). Two-way means changes on either side get synced to the other (Synchi helps you resolve conflicts). That said, Synchi can also do one-way mirroring if you set force=root_a in the config.

[-] Janx@piefed.social 3 points 2 days ago

Thanks, good to know!

[-] trxxruraxvr@lemmy.world 1 points 2 days ago

How do you run it on Android?

[-] jak0b@lemmy.ml 2 points 2 days ago

If you wish to sync between computer and Android, you don't even need to install it on your phone. All you need is setup ssh connection and storage permission inside Termux terminal. I have written a short tutorial here: https://jakobkreft.github.io/synchi/termux.html if you wish still wish to run Synchi directly from Android, to sync between two android devices for example you can install it from source like this inside Termux terminal:

pkg install rust git

cargo install --git https://github.com/jakobkreft/synchi

Then add cargo bin to your PATH:

echo 'export PATH="$PATH:/data/data/com.termux/files/home/.cargo/bin"' >> ~/.bashrc

source ~/.bashrc

After that you can just run synchi.

this post was submitted on 22 Mar 2026
21 points (100.0% liked)

Rust Programming

9206 readers
3 users here now

founded 7 years ago
MODERATORS