Syncthing is a cross-platform peer-to-peer file synchronization client/server application written in Go. Similar to BitTorrent Sync, the tool can be used to synchronize files between computers however, unlike BitTorrent Sync, Syncthing is open source:

"Syncthing replaces Dropbox and BitTorrent Sync with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet".



"Using Syncthing, that control is returned to you".

Syncthing Web GUI

The P2P protocol used by Syncthing, called "Block Exchange Protocol", is open too. Read more about BEP And it's not just Syncthing that's open source.Read more about BEP HERE





Unlike cloud sync tools such as Dropbox, Syncthing transfers the files directly between nodes (other computers on which you've installed Syncthing) which has several advantages: the files don't end up on some cloud server, the transfer speed doesn't depend on third-party servers and also, there are no space restrictions (except, obviously, the HDD space available for those nodes).



synchronize as many folders as you need with different people

responsive web GUI;

cross-platform: Syncthing works on Linux, Mac OS X, Windows, FreeBSD and Solaris. There's also an unofficial Android port;

Syncthing doesn't require advanced configuration and it should work out of the box, both over LAN and over the Internet;

secure & private:

the data is only stored on your computers, without using a central server;



all communication is secured using TLS;



every node is identified by a strong cryptographic certificate and only nodes you have explicitly allowed can connect to your cluster;

open source app, open protocol.

It's also important to mention that with Syncthing, you can select which nodes you want to share a repository with. So for instance, you can create multiple repositories and enable/disable sharing with some existing nodes on the fly:

Also, Syncthing comes with an option called master repository which, if enabled, protects the files from changes made on other nodes, but the changes made on the current node will be sent to the rest of the cluster.





Note that Syncthing is under constant development and new / improved features are added frequently. For instance, the current release includes a simple file versioning feature but in the future a more advanced file versioning should be added.





Here are a few more Syncthing (web GUI) screenshots: