Release of open P2P file synchronization system Syncthing 1.16

The release of the Syncthing 1.16 automatic file synchronization system is presented, in which synchronized data is not uploaded to cloud storages, but directly replicated between user systems when they appear online simultaneously using the BEP protocol (Block Exchange Protocol) developed by the project. The Syncthing code is written in Go and distributed under the free MPL license. Ready builds are prepared for Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD and Solaris.

In addition to solving the problems of synchronizing data between multiple devices of the same user, using Syncthing it is possible to create large decentralized networks for storing shared data that are distributed across participant systems. Flexible access controls and synchronization exceptions are provided. It is possible to define hosts that will only receive data, i.e. data changes on these hosts will not affect data instances stored on other systems. Several file versioning modes are supported, in which past versions of changed data are preserved.

During synchronization, the file is logically divided into blocks, which are an indivisible part when transferring data between user systems. When synchronizing to a new device, if there are identical blocks on several devices, blocks are copied from different nodes, similar to the operation of the BitTorrent system. The more devices involved in synchronization, the faster the replication of new data will take place due to parallelization. During the synchronization of changed files, only the changed blocks of data are transferred over the network, and when renaming or changing access rights, only metadata is synchronized.

Data transmission channels are formed using TLS, all nodes authenticate each other by certificates and device identifiers, SHA-256 is used for integrity control. The UPnP protocol can be used to determine the synchronization nodes in the local network, which does not require manual entry of the IP addresses of the synchronized devices. For system configuration and monitoring, a built-in web interface, CLI client and Syncthing-GTK GUI are provided, which additionally provides tools for managing synchronization nodes and repositories. To simplify the search for nodes, Syncthing is developing a node discovery coordination server.

The new version introduces experimental support for file encryption, which allows you to use Syncthing with servers that are not trustworthy, for example, to synchronize your data not only with your devices, but also with external servers that are not controlled by the user. In addition, the new release introduces a dialog to ask for confirmation before reverting changes or overwriting a directory. Problems with excessive consumption of CPU resources in dialogs with animated indicators of the progress of operations have been solved. Update 1.16.1 was immediately released, fixing the issue in the Debian package.

Release of open P2P file synchronization system Syncthing 1.16
Release of open P2P file synchronization system Syncthing 1.16


Source: opennet.ru

Add a comment