Релиз открытой P2P-системы синхронизации файлов Syncthing 2.0
Состоялся релиз системы автоматической синхронизации файлов Syncthing 2.0. В этом проекте синхронизированные данные не загружаются в облачные хранилища, а напрямую реплицируются между системами пользователя при их одновременном появлении в online, используя развиваемый проектом протокол BEP (Block Exchange Protocol). Исходный код решения Syncthing написан на языке Go и опубликован на GitHub под свободной лицензией MPL.
Готовые сборки Syncthing 2.0 подготовлены для Linux (Debian/APT), Windows, macOS и FreeBSD.
По информации OpenNET, кроме решения задач по синхронизации данных между несколькими устройствами одного пользователя, при помощи Syncthing возможно создание больших децентрализованных сетей для хранения совместно используемых данных, которые распределены по системам участников. В проекте предоставляются средства контроля доступа и создания исключений для синхронизации. Возможно определение хостов, которые будут только получать данные, а изменение данных на этих хостах не будет отражаться на экземплярах данных, хранимых на других системах. Поддерживается несколько режимов версионирования файлов, при которых сохраняются прошлые версии изменившихся данных.
При синхронизации в Syncthing файл логически разбивается на блоки, которые неделимы при передаче данных между системами пользователя. При синхронизации на новое устройство, в случае наличия идентичных блоков на нескольких устройствах, копирование блоков производится с разных узлов, по аналогии с работой системы BitTorrent. Чем больше устройств участвуют в синхронизации, тем быстрее будет проходить репликация новых данных за счёт распараллеливания. В процессе синхронизации изменённых файлов, по сети передаются только изменившиеся блоки данных, а при переименовании
Читать на habr.com