Didn’t want to open a new topic so I just post on this old one, hope that’s okay.
I’m really impressed by Syncthing and I believe this is an awesome piece of software.
I discovered Syncthing in the middle of this year. At that point, I really needed a synchronisation between (at least) two devices. Over the past year(s) I had increasingly used multiple PC’s simultaneously and it was getting worse and worse to keep track of changed files.
In the beginning I used mostly USB sticks/drives to sync data. I rarely did this, maybe once per month. Later I switched to a network sync solution, but fully manual. Still, I often ended up having outdated data on one computer which was not a big problem, until someday I really needed a specific file on my Laptop while I was on vacation - but it just wasn’t there, it was at home and I had no way to get it.
So after that I deciced to get myself a proper automated file synchronisation. The question was how (at that point I didn’t even knew Syncthing existed).
I made a quick search for popular programs and compared their features with my requirements. Not a single one was sufficient for me. They were either lacking features I needed (for example keeping pre-existing folder structures, very high storage abilities at no/low cost…)
As I’m a programmer for myself, I decided: “When you need a good sync program, you got to write it for yourself”. And I began work on the project. To make it short, at some point I needed some “inspiration” for a proper protocol that detects changes and compares them, preferably accross 3+ devices and I thought: “Why not google if someone has done something similar in the past? Maybe you can find some ideas”.
And guess what I found? The Syncthing Block Exchange Protocol! After reading this for a good 15 minutes or so I thought: “You know what? This looks good. Let’s have a look what this program is capable of.” And so I got to install Syncthing.
The end of the story is that I have Syncthing installed on all my devices, have my own discovery and relay server setup as well as an “intermediate” server for mid-term saving of data (it’s basically a server that’s always online and can deliver files when the other device is offline - a great solution when I change data on PC 1, go to sleep, next day I turn my Laptop on at work and boom all my files are magically synced).
SyncTrayzor is one of the most important programs in my tray bar. Syncthing is exactly what I needed: It is the only sync program that really meets all my requirements (I’m not easily satisfied, but Syncthing does everything I dreamed of - wish I would have discovered this earlier).
Sadly, I don’t have any experience in Go (and no time to learn it atm), so I can’t participate in the coding (for now). But that will not stop me from sending you a small christmas gift
Props to everyone who contributed to this project and of course special thanks to Jakob Borg for this awesome program!