Только что была представлена версия системы автоматической синхронизации файлов Syncthing 1.2.0, в котором синхронизированные данные не выгружаются в облачные хранилища, а реплицируются напрямую между пользовательскими системами при одновременном появлении в сети с использованием протокола обмена блоками, разработанного проектом.
Код Syncthing написан на языке Go и распространяется по бесплатной лицензии MPL. Готовые сборки готовы для Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD и Solaris.
Помимо решения проблем синхронизации данных между несколькими однопользовательскими устройствами, с помощью Syncthing можно создавать большие децентрализованные сети для хранения общих данных, которые распределены между системами-участниками.
О синхронизации
Предусмотрены гибкие элементы управления доступом и исключения синхронизации. Можно определить хосты, которые будут только получать данные, то есть изменения данных на этих хостах не повлияют на экземпляры данных, хранящиеся в других системах.
При синхронизации с новым устройством, если на нескольких устройствах есть одинаковые блоки, блоки копируются с разных узлов по аналогии с работой системы BitTorrent.
Чем больше устройств задействовано в синхронизации, тем быстрее будет репликация. новых данных за счет распараллеливания.
В процессе синхронизации измененных файлов по сети передаются только измененные блоки данных, а при изменении имени или прав доступа синхронизируются только метаданные.
Каналы данных формируются с использованием TLS, все узлы аутентифицируют друг друга с помощью сертификатов и идентификаторов устройств, для проверки целостности используется SHA-256.
Для определения узлов синхронизации в локальной сети может использоваться протокол UPnP, который не требует ручного ввода IP-адресов синхронизируемых устройств.
Для настройки и мониторинга системы предусмотрен встроенный веб-интерфейс., клиент CLI и графический интерфейс Syncthing-GTK, который также предоставляет инструменты для управления узлами синхронизации и репозиториями.
Для упрощения поиска узлов Syncthing разрабатывается сервер координации обнаружения узлов, для которого подготовлен подготовленный образ Docker.
Syncthing 1.2.0 Основные новые функции
В этой новой версии Syncthing 1.2.0 представлен новый транспортный протокол на базе QUIC (быстрые интернет-соединения UDP) с дополнениями для пересылки через трансляцию адресов (NAT). TCP по-прежнему является предпочтительным протоколом для установления соединений.
Кроме того, отмечены улучшения в обработке фатальных ошибок и добавлены инструменты для автоматической отправки отчетов о проблемах разработчикам. Отправка отчетов включена по умолчанию.
С другой стороны добавлена специальная опция для отключения в настройках. Следует отметить, что данные в отчете о сбое не включают имена файлов, данные реестра, идентификаторы устройств, статистику и другие личные данные.
Использование небольших и фиксированных блоков (128 КБ) объявлено устаревшим; теперь для индексации и передачи содержимого файлов используются только большие блоки переменного размера.
Интерфейс обеспечивает отображение последней ошибки подключения для каждого из указанных адресов. В WebUI расположение столбцов таблицы оптимизировано для правильного отображения на узких экранах.
Как установить Syncthing 1.2.0?
Для тех, кто заинтересован в возможности установить это приложение в своей системе, они должны открыть терминал и ввести в нем следующую команду
sudo apt-get install apt-transport-https curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
Сделав это сейчас, мы добавим стабильный репозиторий приложения в нашу систему с помощью:
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
Наконец, мы можем установить его с помощью:
sudo apt-get update sudo apt-get install syncthing
Синхронизация также доступна для мобильных устройств, поэтому скачать приложение можно по следующей ссылке с сайта PlayStore.