Amazing piece of software, have been using it for about 5-6 years between 4 computers and an Android phone. Never had a single problem with it, it respects your privacy, does only what it advertises, and gets out of your way.
> The following platforms unfortunately no longer get prebuilt binaries for
download at syncthing.net and on GitHub, due to complexities related to
cross compilation with SQLite:
dragonfly/amd64
illumos/amd64 and solaris/amd64
linux/ppc64
netbsd/*
openbsd/386 and openbsd/arm
windows/arm
I'm surprised they're dropping windows/arm considering that seems to be the direction things are moving in.
I don't understand why they chose to use github.com/mattn/go-sqlite3 instead of modernc.org/sqlite
Windows GUI for Syncthing named SyncTrayzor is also actively developed.
https://github.com/GermanCoding/SyncTrayzor
After SyncTtrayzor stopped being developed in 2021, it just worked along the updating SyncThing as backend. Now that Syncthing v2 came out, old one is not compatible anymore, but new one picked up the mantle.
I love this software. I am using it to sync files across different computers and different people for years now.
Do you have to upgrade across all your syncthing instances at once, or will 1.x be able to talk to 2.x for a while without breaking? It seems like a pretty big update and I'm not sure what I need to think about if I'm upgrading
“Syncthing version 1.x will soon be replaced by Syncthing version 2.x.
Version 2 brings a new database format and various cleanups, but remains
protocol compatible with Syncthing 1.”
Rolling hash detection of shifted data is no longer supported as this
effectively never helped. Instead, scanning and syncing is faster and more efficient without it.
Different use case. Syncthing just keeps folders "in sync" between two machines even if they are not on the same network. Great tool to always have a backup of pictures taken from your phone to a small raspberry pi running at home for instance.
It'll let me keep a folder in sync, automatically, across multiple machines. There's no faffing with accounts, it has a GUI simple enough for me to talk entirely non technical people through setting it up and it doesn't matter if one of more of the endpoints is behind NAT.
Once running, it's just a case of copying or editing files in a folder and they're everywhere else. No manual intervention, no trying to remember which computer has the latest copy, it doesn't get upset if I throw terabytes of media at it, it doesn't get upset if I `git init` inside multiple folders and suddenly I have my coding projects ready to go on whatever laptop I pick up.
It also does some nice additional bits, like making it possible to have machines that store a copy of the data but never have decryption keys, so I can use a cheap VPS without worrying about it having a plain-text copy of my data. There's also the ability to store multiple revisions of changed files, should you want it. It's also, at the end of the day, actual plain files on your filesystem which can save a lot of headaches.
It also does a pretty good job of finding the best path to a different box. It shares IPs (that you run the service on), so same lan, different vlan, via a VPN, via a double nat'd someone else's wifi; it doesn't care and usually does the right thing (and is configurable if you wish/need).
The comparison isn't rsync. SyncThing is a host-your-own dropbox/onedrive/other alternative without a requirement for a provider, accounts, fees or your data belonging to someone else, and stunningly low barriers to entry/usage by non technical people.
You can thing of Syncthing as a p2p dropbox. It can also double as a "live-backup" program, similar e.g. to Time Machine, if you enable file versioning in one of the peer nodes.
Rsync is great as there is a clear master copy. But if changes may happen at any copy of the data, it can become a chore.
Amazing piece of software, have been using it for about 5-6 years between 4 computers and an Android phone. Never had a single problem with it, it respects your privacy, does only what it advertises, and gets out of your way.
What's the latest story on Android? Last I heard they stopped official support there due to the newer restrictions Google has been imposing.
At the time they retired the Official Android App, there was already a much more popular and better maintained fork: https://github.com/Catfriend1/syncthing-android
AFAIK, it's only available on F-Droid/Github/Obtainium
Yeah, no longer being able to gain permission to access your directory hierarchy feels like it'd be a major roadblock on that platform?
Syncthing-fork is in the Play Store and works fine for me.
> The following platforms unfortunately no longer get prebuilt binaries for download at syncthing.net and on GitHub, due to complexities related to cross compilation with SQLite:
dragonfly/amd64 illumos/amd64 and solaris/amd64 linux/ppc64 netbsd/* openbsd/386 and openbsd/arm windows/arm
I'm surprised they're dropping windows/arm considering that seems to be the direction things are moving in.
I don't understand why they chose to use github.com/mattn/go-sqlite3 instead of modernc.org/sqlite
> I'm surprised they're dropping windows/arm considering that seems to be the direction things are moving in.
Note that windows/arm64 is still supported. Not sure if 32 bit arm was ever relevant on Windows.
32-but ARM support is on its way out:
> Support for 32-bit Arm versions of applications will be removed in a future release of Windows 11.
https://learn.microsoft.com/en-us/windows/whats-new/deprecat...
Some devices, like Windows 11 running on a VM on Apple’s ARM processors, already can’t run 32-bit ARM applications.
https://support.microsoft.com/en-us/windows/options-for-usin...
I don't if it's the reason but the performance of modernc.org/sqlite is worse than github.com/mattn/go-sqlite3
Windows GUI for Syncthing named SyncTrayzor is also actively developed. https://github.com/GermanCoding/SyncTrayzor After SyncTtrayzor stopped being developed in 2021, it just worked along the updating SyncThing as backend. Now that Syncthing v2 came out, old one is not compatible anymore, but new one picked up the mantle.
I love this software. I am using it to sync files across different computers and different people for years now.
> A "default folder" is no longer created on first startup.
Finally some sanity!
(And that db removal interval setting).
Do you have to upgrade across all your syncthing instances at once, or will 1.x be able to talk to 2.x for a while without breaking? It seems like a pretty big update and I'm not sure what I need to think about if I'm upgrading
“Syncthing version 1.x will soon be replaced by Syncthing version 2.x. Version 2 brings a new database format and various cleanups, but remains protocol compatible with Syncthing 1.”
https://github.com/syncthing/syncthing/releases/tag/v1.30.0
Ah thank you, I was looking for that in the v2 release notes and couldn't find it
Love to hear more about this:
Rolling hash detection of shifted data is no longer supported as this effectively never helped. Instead, scanning and syncing is faster and more efficient without it.
here's the associated issue, I believe.
https://github.com/syncthing/syncthing/pull/10005
How tightly coupled is the codebase to the file system? I would love to use the syncing as a library on my own data not on files.
I use rsync for this, what does syncthing do better? Maybe have a nice GUI?
Different use case. Syncthing just keeps folders "in sync" between two machines even if they are not on the same network. Great tool to always have a backup of pictures taken from your phone to a small raspberry pi running at home for instance.
It also syncs modifications, so it's not really a backup solution.
It can be, if you enable file versioning [1]. Or, of course, if your remote filesystem is configured for periodic snapshots.
[1] https://docs.syncthing.net/users/versioning.html
It'll let me keep a folder in sync, automatically, across multiple machines. There's no faffing with accounts, it has a GUI simple enough for me to talk entirely non technical people through setting it up and it doesn't matter if one of more of the endpoints is behind NAT.
Once running, it's just a case of copying or editing files in a folder and they're everywhere else. No manual intervention, no trying to remember which computer has the latest copy, it doesn't get upset if I throw terabytes of media at it, it doesn't get upset if I `git init` inside multiple folders and suddenly I have my coding projects ready to go on whatever laptop I pick up.
It also does some nice additional bits, like making it possible to have machines that store a copy of the data but never have decryption keys, so I can use a cheap VPS without worrying about it having a plain-text copy of my data. There's also the ability to store multiple revisions of changed files, should you want it. It's also, at the end of the day, actual plain files on your filesystem which can save a lot of headaches.
It also does a pretty good job of finding the best path to a different box. It shares IPs (that you run the service on), so same lan, different vlan, via a VPN, via a double nat'd someone else's wifi; it doesn't care and usually does the right thing (and is configurable if you wish/need).
The comparison isn't rsync. SyncThing is a host-your-own dropbox/onedrive/other alternative without a requirement for a provider, accounts, fees or your data belonging to someone else, and stunningly low barriers to entry/usage by non technical people.
Nice, thanks. I don't use dropbox much, maybe to publicly post a file for a week or perhaps a resume longer term.
So, don't think I need this but will keep it in mind for NAT traversal or something like that.
> without a requirement for a provider, accounts, fees or your data belonging to someone else
Sounds like it is not completely true if you need a server in the cloud as a prerequisite, though maybe I misunderstood.
Syncthing is peer-to-peer, not client-server, so you don't need a server in the cloud or anywhere.
It operates continuously whereas rsync has to be run periodically (I believe, if there is a continuous setup lmk).
Also SyncThing is bidirectional whereas rsync is one way (obvs you could also push both ways).
You can thing of Syncthing as a p2p dropbox. It can also double as a "live-backup" program, similar e.g. to Time Machine, if you enable file versioning in one of the peer nodes.
Rsync is great as there is a clear master copy. But if changes may happen at any copy of the data, it can become a chore.