Syncthing 2.0: новая версия P2p-системы синхронизации файлов без облаков и серверов

Syncthing 2.0: Выпущена новая версия P2P-системы синхронизации файлов

Представлена вторая версия Syncthing — открытой децентрализованной системы для автоматической синхронизации файлов между устройствами. В отличие от облачных решений, Syncthing не использует сторонние серверы: файлы передаются напрямую между устройствами пользователя в момент их одновременного подключения к сети. Передача осуществляется по собственному протоколу BEP (Block Exchange Protocol), разработанному в рамках проекта.

Программа написана на языке Go и распространяется под лицензией MPL. Доступны готовые сборки для различных операционных систем, включая Linux, Windows, macOS и FreeBSD.

Syncthing не только подходит для синхронизации данных между несколькими устройствами одного владельца, но и позволяет формировать масштабируемые децентрализованные сети для обмена и совместного хранения файлов. Пользователи могут гибко управлять доступом, указывая, какие устройства могут вносить изменения, а какие только получать обновления, не влияя на исходные данные.

Система поддерживает различные варианты хранения версий файлов, что позволяет сохранять предыдущие редакции при изменениях. Файлы при передаче разбиваются на блоки, которые остаются неделимыми во время синхронизации. Если одинаковые блоки уже присутствуют на нескольких узлах, они могут быть получены параллельно с разных устройств, что ускоряет процесс обмена — по принципу, схожему с BitTorrent. С увеличением числа участников синхронизации скорость репликации возрастает.

При передаче изменённых файлов система отправляет только те блоки, которые были изменены. Если же произошло только переименование файла или изменение его прав доступа, пересылаются исключительно обновлённые метаданные.

Передача данных осуществляется через зашифрованные каналы, защищённые протоколом TLS. Все узлы проходят взаимную аутентификацию с помощью сертификатов и уникальных идентификаторов устройств. Для обеспечения целостности данных применяется алгоритм SHA-256. В локальных сетях обнаружение устройств может быть автоматизировано с использованием UPnP, что избавляет от необходимости вручную вводить IP-адреса.

Управление и настройка Syncthing осуществляется через встроенный веб-интерфейс, консольный клиент и графическую оболочку на базе GTK. Интерфейсы предоставляют возможности для мониторинга состояния системы, настройки репозиториев и управления подключёнными устройствами.

В версии 2.0 реализован ряд улучшений, призванных повысить стабильность и производительность системы, однако технические детали нововведений в данной публикации не раскрываются.

Прокрутить вверх