Syncthing

Syncthing is a free and open source peer-to-peer file synchronization application available for Windows, macOS, Linux, Android, Solaris, Darwin, and BSD.

Efficient syncing is achieved via compression of metadata or all transfer data,[12] block re-use[13] and lightweight scanning[14] for changed files, once a full hash has been computed and saved.

[18] Moving and renaming files and folders is handled efficiently, with Syncthing intelligently processing these operations rather than re-downloading data from scratch.

[22] Syncthing can be used without any connection to the project or community's servers:[23] upgrades, opt-in usage data, discovery and relaying can all be disabled or configured independently, thus the mesh and its infrastructure can all be run in a closed system for privacy or confidentiality.

[44] On 22 April 2015, 0.11.0 was released and it introduced conflict handling, language selection in the UI, CPU usage and synching speed improvements, Long filename support on Windows, automatic restarting when there is a problem for example the drive being inaccessible, and support for external versioning software.

[48][49] Despite the change in the major number Jakob Borg, the lead developer, stated that it was otherwise identical to 0.14.55-rc.2[47] Alongside the 1.0.0 release the team introduced a new semver-like versioning system with the following criteria:[50] In 1.1.0 syncthing adopted Go 1.12 and as such loses compatibility with Windows XP and Windows Server 2003[51] 1.2.0 introduces support for QUIC, can now perform automatic crash reporting and deprecates small / fixed blocks.

[53] 1.9.0 introduced the option caseSensitiveFS that allowed users to disable the newly added handling for case insensitive filesystems.

[54] The 1.10.0 release gave users the ability to toggle whether they would like LAN IPs to be broadcast to the global discovery network.