Релиз открытой P2P-системы синхронизации файлов Syncthing 0.13
17 мая 2016 года
Состоялся релиз системы Syncthing 0.13, которая позволяет организовать автоматическую синхронизацию файлов пользователя на нескольких устройствах, решая задачи сходные с проприетарной системой BitTorrent Sync. Синхронизированные данные не загружаются в облачные хранилища, а напрямую реплицируются между системами пользователя при их одновременном появлении в online, используя развиваемый проектом протокол BEP (Block Exchange Protocol).
При синхронизации файл логически разбивается на блоки, которые являются неделимой частью при передаче данных между системами пользователя. При наличии идентичных блоков на нескольких устройствах, при синхронизации на новое устройство копирование осуществляется с распределением отдачи трафика по узлам, по аналогии с работой системы BitTorrent. Чем больше устройств участвуют в синхронизации, тем быстрее будет проходить репликация новых данных за счёт распараллеливания. При изменении синхронизируемых файлов по сети передаются только изменившиеся блоки данных, а при переименовании или изменении прав доступа синхронизируются только метаданные. Поддерживается несколько режимов версионирования файлов, при которых сохраняются прошлые версии изменившихся данных.
Возможно создание больших сетей совместно используемых данных, в которых принимают участие разные пользователи. Также возможно определение хостов, которые будут только получать данные, т.е. их изменения не будут распространяться. Предоставляются гибкие средства контроля доступа и создания исключений для синхронизации. Каналы передачи данных формируются при помощи TLS, все узлы аутентифицируют друг друга по сертификатам и идентификаторам устройств, для контроля целостности применяется SHA-256. Для определения узлов синхронизации в локальной сети может быть использован протокол UPnP, при котором не требуется ручной ввод IP-адресов синхронизируемых устройств.
Код Syncthing написан на языке Go и распространяется под свободной лицензией MPL. Поддерживается работа в Linux, Android, Windows, OS X, BSD* и Solaris. Для настройки системы и мониторинга предусмотрен встроенный web-интерфейс, CLI-клиент и GUI Syncthing-GTK, в котором дополнительно предоставляются средства управления узлами синхронизации и репозиториями. Для упрощения поиска узлов Syncthing развивается сервер координации обнаружения узлов, для которого также имеется готовый образ для запуска в Docker.
Основные изменения в Syncthing 0.13:
- Временные индексы, позволяющие начать репликацию на другие устройства уже полученной части файла, не дожидаясь получения на текущем устройстве полной копии обновлённого файла;
- Представлены метки папок (Folder Labels), которые отделены от идентификаторов папок (Folder ID): Folder Labels позиционируются как читаемые человеком метки, в то время как Folder ID используются как разбираемые машиной, уникальные, генерируемые случайно идентификаторы.
- При попытке соединения от неизвестных устройств (Unknown Devices) теперь выводится не только идентификатор устройства, но и его имя.
- В дополнение к UPnP реализована поддержка технологии NAT-PMP для автоматической настройки проброса входящего соединения на систему за транслятором адресов;
- Исключённые из процесса синхронизации файлы (подпадающие под маски игнорирования) теперь помечаются специальным префиксом "?d", указывающим на то, что в случае удаления директории данный файл будет потерян;
- Возможность ограничения протокола приёма соединений только IPv4 или IPv6 (по умолчанию соединения принимаются по обоим протоколам);
- Переработан диалог настройки параметров папки;
- Добавлена переменная окружения ALL_PROXY_NO_FALLBACK, запрещающая установку прямого соединения в случае недоступности рабочего прокси;
- Изменён формат БД и нарушена обратная совместимость протокола (пользователи версии 0.12 не могут взаимодействовать с пользователями версии 0.13).
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.