Випуск відкритої P2P-системи синхронізації файлів Syncthing 1.2.0

представлений реліз системи автоматичної синхронізації файлів Синхронізація 1.2.0, в якій синхронізовані дані не завантажуються в хмарні сховища, а безпосередньо реплікуються між системами користувача при їх одночасному появі в online, використовуючи протокол BEP (Block Exchange Protocol), що розвивається проектом. Код Syncthing написаний мовою Go та поширюється під вільною ліцензією MPL. Готові зборки підготовлено для Linux, Android, Windows, MacOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD та Solaris.

Крім вирішення завдань із синхронізації даних між декількома пристроями одного користувача, за допомогою Syncthing можливе створення великих децентралізованих мереж для зберігання даних, що спільно використовуються, які розподілені по системах учасників. Надаються гнучкі засоби контролю доступу та створення винятків для синхронізації. Можливе визначення хостів, які лише отримуватимуть дані, тобто. зміна даних цих хостах нічого очікувати відбиватися на примірниках даних, які зберігаються інших системах. Підтримується кілька режимів версіонування файлів, при яких зберігаються минулі версії даних, що змінилися.

При синхронізації файл логічно розбивається на блоки, які є неподільною частиною передачі даних між системами користувача. При синхронізації на новий пристрій у разі наявності ідентичних блоків на декількох пристроях копіювання блоків здійснюється з різних вузлів, за аналогією з роботою системи BitTorrent.
Чим більше пристроїв беруть участь у синхронізації, тим швидше буде проходити реплікація нових даних за рахунок розпаралелювання. У процесі синхронізації змінених файлів, по мережі передаються тільки зміни даних, а при перейменуванні або зміні прав доступу синхронізуються тільки метадані.

Канали передачі формуються за допомогою TLS, всі вузли аутентифікують один одного за сертифікатами і ідентифікаторами пристроїв, для контролю цілісності застосовується SHA-256. Для визначення вузлів синхронізації в локальній мережі може бути використаний протокол UPnP, при якому не потрібне ручне введення IP-адрес синхронізованих пристроїв. Для налаштування системи та моніторингу передбачено вбудований web-інтерфейс, CLI-клієнт та GUI Синхронізація-GTK, В якому додатково надаються засоби управління вузлами синхронізації та репозиторіями. Для спрощення пошуку вузлів Syncthing розвивається сервер координації виявлення вузлів, для запуску якого
підготовлений готовий образ Docker.

Випуск відкритої P2P-системи синхронізації файлів Syncthing 1.2.0

У новому випуску:

  • представлений новий транспортний протокол, заснований на QUIC (Quick UDP Internet Connections) з додатками для прокидання через транслятори адрес (NAT). Як кращий протокол для встановлення з'єднань, як і раніше, рекомендується TCP;
  • Поліпшено обробку фатальних помилок та додано засоби для автоматичного надсилання розробникам звітів про проблеми. Відправлення звітів увімкнено за замовчуванням, для її відключення в налаштування додано спеціальна опція. Зазначається, що в звіті про крах не включають імена файлів, дані з лога, ідентифікатори пристроїв, статистику та інші персональні дані;
  • Використання дрібних і фіксованих блоків (128 KiB) оголошено застарілим, при індексації та передачі вмісту файлів тепер застосовуються лише великі блоки змінного розміру;
  • В інтерфейсі забезпечено показ останньої помилки з'єднання для кожної з певних адрес;
  • WebUI компонування стовпців таблиць оптимізована для коректного відображення на вузьких екранах;
  • Внесено зміни, що порушують сумісність. Новий випуск не сумісний з хостами на базі Syncthing 0.14.45 та старішими версіями.

Джерело: opennet.ru

Додати коментар або відгук