Что это такое
Syncthing — программа для непрерывной синхронизации файлов между устройствами. Вместо того чтобы отправлять данные в центральное облако, устройства находят друг друга, устанавливают защищенное соединение и обмениваются изменениями напрямую.
Проект полезен, когда нужно синхронизировать документы, заметки, фотографии, рабочие папки или конфигурации между ноутбуком, сервером, домашним ПК и телефоном, но не хочется отдавать файлы стороннему хранилищу.
Что внутри
В репозитории — Go-код синхронизации, протокол обмена блоками, обнаружение устройств, веб-интерфейс, работа с папками, конфигурация, тесты, сборка и документация. Отдельно описаны Docker-запуск, сборка из исходников, signed releases и цели проекта.
Типовой сценарий: установить Syncthing на два устройства, обменяться device ID, выбрать папку и подтвердить доступ с обеих сторон. После этого изменения файлов распространяются между выбранными узлами без ручного копирования.
Модель синхронизации
Фрагмент не команда, а схема того, как пользователь обычно думает о Syncthing: устройства и общая папка.
Laptop <--> Home Server
Папка: Documents
Режим: двусторонняя синхронизация
Доступ: только подтвержденные устройства
Сильные стороны
Сильная сторона — контроль над данными. Нет обязательного центрального сервера, можно строить собственную топологию устройств, а синхронизация работает как постоянный фоновой процесс.
Ограничения
Ограничение — ответственность за надежность. Если все устройства выключены или неправильно настроены, магического облачного восстановления не будет. Нужно думать о резервных копиях, конфликтах, дисковом месте и том, какие устройства имеют право менять папку.