Состоялся очередной выпуск Syncthing — открытой кроссплатформенной программы для синхронизации и резервного копирования. По своим возможностям она аналогична BitTorrent Synс: заявлена синхронизация файлов между узлами в P2P-сети без участия сервера. Для этого используется собственный открытый протокол BEP («Block Exchange Protocol»).
Изменения в версии 0.12:
- Появилась долгожданная возможность соединить два устройства через релей, даже если эти устройства не видят друг друга напрямую (например, оба находятся за файрволлом). Помимо списка релеев по умолчанию, пользователи могут поднять свои собственные или вовсе отключить их использование. Соединения с релеями шифруются, поэтому релей не сможет получить доступ к передаваемым данным.
- Глобальный протокол обнаружения теперь работает по HTTPS через стандартный 443 порт. Развёрнуто несколько серверов обнаружения в разных уголках мира.
- Прогресс сканирования папок отображается в процентах, так же, как и при синхронизации.
- В графическом интерфейсе появилась возможность поставить устройство на паузу, после чего оно остаётся отключённым, не потребляя трафик и прочие ресурсы.
- Автоматические обновления теперь подписываются, а подпись проверяется при установке. Это касается и обновлений вручную (
syncthing -upgrade-from http://.../syncthing.tar.gz
), что даёт возможность безопасно обновить пакет неизвестного происхождения. Для создания и проверки подписей существует консольная утилита. - Обновлён механизм отправки данных разработчикам. Через некоторое время после установки программа спросит пользователя, согласен ли тот отправлять анонимную статистику использования. Собирается информация об используемых возможностях программы, о том, используются предустановленные или собственные серверы, и о количестве процессоров в системе. Эти сведения помогут разработчикам определиться, на чём сосредоточить дальнейшие усилия.
- Разработчики планируют в будущем отделить идентификаторы папок от их имён. Пока что, появилась возможность использовать любые символы до 256 знаков, включая спецсимволы, кириллицу, азиатские языки и тому подобные.
- Добавлены новые методы API и новый графический интерфейс для отладки.
- Возможность работы через SOCKS5-прокси. Перед запуском программы нужно установить системную переменную
all_proxy
:export all_proxy=socks5://10.20.30.40:6789
Протоколы обнаружения и синхронизации несовместимы с предыдущими версиями. Все имеющиеся серверы обнаружения должны быть обновлены до версии 0.12, чтобы работать с новыми клиентами. Старый и новый сервер могут сосуществовать на одной машине, обслуживая старых и новых клиентов, поскольку их протоколы и порты не пересекаются. Кроме того, если раньше требовалось указывать в файле конфигурации все сервера обнаружения по умолчанию, то теперь их список вшит в код, а в файле конфигурации присутствует лишь запись «default», означающая весь этот список. Если необходимо отредактировать его, то достаточно просто указать в файле конфигурации нужные серверы.
Доступны готовые сборки, скриншоты и документация.
>>> Подробности