Syncthing: some notes and recommendations

Syncthing is a open source synchronization application. It’s a replacement for the closed source Bittorrent Sync (BTS).  If you are currently using BTS, I recommend switching because 1) it’s closed sourced, and 2) owned by an American company, and thus 3) likely to implement NSA-style backdoors. This is made more likely by the fact that newer versions default to using a website to share the private key needed to set up a shared folder. Very suspicious. It makes it very easy to snoop the private key. If you must use it, use the old 1.4.110 version which does not have this suspicious ‘feature’.

However, really, use Syncthing. It’s free unlike Dropbox etc. The trade-off is that there is no central server. You only have your own network to synchronize between. I recommend setting up a network of devices using your trustworthy friends. Simply synchronize important folders to each other and pick people who don’t snoop your data or encrypt it to be safe (they must be trustworthy, but perhaps their wife/husband/kids aren’t).

I have used the software for more than a year and here are some experiences and comments:

  • Syncthing works well on mobile devices (only tested Android). I use it to automatically synchronize photos from my camera and to synchronize a subset of my elibrary to the mobile devices.
  • Sometimes there are version conflicts. It’s usually easy to figure out which file is newer. One can open both of them to verify the choice.
  • Most of the version conflicts contain temporary files or cache files. A bit annoying having to have to keep telling it which to use.
  • If you’re on Sindows, use the SyncTrazor GUI. It’s a small stand-alone browser that automatically runs, restarts, updates etc. Syncthing for you.
  • One can use versioning for files that frequently get edited, so as to avoid data loss. There are multiple types of versioning available. It’s not as good as git, but it’s reasonable good and suitable for larger files.
  • There does not seem to be any practical limitations to the size of shared folders. I have multiple with >400 GBs and they run fine.
  • There does not seem to be any practical limitations with the number of devices interconnected. I have clusters with 2-10 devices without any problems.
  • Connections can be poor when both devices are on the same LAN. It seems mostly related to the initial ability to connect. If in a hurry, make a wifi hotspot for one device to use to get around the problem.
  • Sometimes files will fail to synchronize. This is almost always because of illegal names. Windows and unix (linux/mac) have different rules for which characters that can be in names and how long names can be. So Windows devices will fail to synchronize names like “Henry Ford: My Favorite Car.pdf” because of the colon. One can click the “failed items” in the GUI to see which items are failing and get an idea about how to fix it.
  • In one case have I tried the index getting corrupted. This can be deleted manually and then it rebuilds itself on the next run. It can take a while, but I had no data loss. They should add a “Rebuild index” button to the GUI.
  • Syncthing does not handle very large files that are in use well. In my case I sync a virtual computer image which is a 40 GB file. If this file is open (=virtual computer running), it results in high CPU use because it keeps scanning the file while it gets changed. Note: pausing only pauses the syncing, not the indexing. One has to close it entirely. Still have not found a good solution to this problem. Can be a little alleviated by increasing the scanning intervals.