Щойно представлена версія автоматичної системи синхронізації файлів Syncthing 1.2.0, в якому синхронізовані дані не завантажуються на хмарні склади, а копіюються безпосередньо між системами користувачів при одночасному появі в мережі за допомогою протоколу обміну блоками, розробленого проектом.
Синхронний код написаний мовою Go і поширюється за безкоштовною ліцензією MPL. Готові збірки готові для Linux, Android, Windows, macOS, FreeBSD, Dragonfly BSD, NetBSD, OpenBSD та Solaris.
На додаток до вирішення проблем синхронізації даних між кількома однокористувацькими пристроями, за допомогою Syncthing можна створювати великі децентралізовані мережі для зберігання спільних даних, які розподіляються між системами-членами.
Про синхронізацію
Надаються гнучкі засоби контролю доступу та винятки щодо синхронізації. Можна визначити хости, які отримуватимуть лише дані, тобто зміни даних на цих хостах не впливатимуть на екземпляри даних, що зберігаються в інших системах.
При синхронізації з новим пристроєм, якщо в кількох пристроях є однакові блоки, блоки копіюються з різних вузлів, за аналогією з роботою системи BitTorrent.
Чим більше пристроїв бере участь у синхронізації, тим швидша реплікація нових даних через розпаралелювання.
У процесі синхронізації модифікованих файлів по мережі передаються лише модифіковані блоки даних, а при зміні імені або зміні прав доступу синхронізуються лише метадані.
Канали даних формуються за допомогою TLS, всі вузли автентифікують один одного за допомогою сертифікатів та ідентифікаторів пристроїв, SHA-256 використовується для перевірки цілісності.
Для визначення вузлів синхронізації в локальній мережі може бути використаний протокол UPnP, який не вимагає введення вручну IP-адрес пристроїв, що синхронізуються.
Для конфігурації та моніторингу системи передбачений вбудований веб-інтерфейс, клієнт CLI та графічний інтерфейс Syncthing-GTK, який також надає інструменти для управління вузлами синхронізації та сховищами.
Для спрощення пошуку вузлів Syncthing розробляється сервер координації виявлення вузлів, для якого підготовлено підготовлене зображення Docker.
Синхронізація 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.