Syncthing — это свободный P2P‑инструмент синхронизации файлов между вашими устройствами без централизованного облака и подписок. Данные остаются у вас, ключи — у вас, инфраструктура — тоже у вас.
Это обзорная статья, написанная, чтобы дать читателю представление о технологии. Здесь нет конкретных команд для запуска и технических деталей. Вместо этого я предлагаю читателю установить Syncthing и самостоятельно попробовать его на практике.
Проблемы коммерческих «облаков» и как Syncthing отстаивает нашу свободу
Когда мы загружаем файл в коммерческое облако, мы, по сути, отдаем его на хранение третьей стороне. Что это значит на деле:
- Потеря контроля: Ваши файлы лежат на чужих серверах. Корпорация может в любой момент изменить условия обслуживания, заблокировать ваш аккаунт или, в худшем случае, потерять ваши данные.
- Отсутствие приватности: Несмотря на все заверения в безопасности, ваши файлы могут быть просканированы алгоритмами для показа рекламы, проанализированы для сбора метаданных или предоставлены спецслужбам по запросу.
- Vendor Lock-in: Вы привязываетесь к одной экосистеме. Переезд с одного облака на другое становится проблемой. Корпорации не заинтересованы в использовании открытых протоколов и сторонних приложений, и даже если у конкретного облака есть доступ для сторонних приложений, он может быть ограничен или закрыт в любой момент.
- Зависимость от интернета: Нет доступа к серверам корпорации — нет доступа к вашим файлам, даже если ваши устройства находятся в одной комнате.
Syncthing — это противоположность вышеописанному. Это не сервис, а программа. Она не хранит ваши данные на центральном сервере, потому что центрального сервера просто нет. Ваши данные синхронизируются напрямую между вашими устройствами (Peer-to-Peer). Вы — единственный владелец и контролёр своих данных.
Это не «облако» в том смысле, который сейчас подразумевают корпорации. Однако это облако в том смысле, который вкладывался в этот термин изначально. Хранение и обработка данных отвязаны от конкретных физических машин и их настроек. Вместо этого программная среда, в которой живут ваши данные, существует как бы «поверх» машин. Конкретная машина становится несущественна для целостности данных.
Таким образом, ваше облако — это ваши машины.
Ключевые особенности
- Пиринговая (P2P) синхронизация папок между устройствами в реальном времени.
- Вы контролируете носители и маршрут данных. Нет аккаунтов, логинов, чужих серверов, которым нужно «доверять».
- Децентрализация: ваши устройства составляют «облако». Вы не платите подписку за хранение данных, вы используете накопители, которые купили и физически ими владеете.
- Отсутствует выделенная роль «сервера». Любое устройство может быть источником/получателем.
- Сквозное шифрование трафика, идентификация пиров по криптографическому Device ID.
- Приложение имеет веб‑интерфейс, управляется через браузер либо через REST API.
- Свободная лицензия — MPL 2.0, воспроизводимые сборки. Нет «черных ящиков» и vendor lock‑in.
- При желании можно поднять собственные discovery/relay-серверы либо использовать публичные.
Гибкая организация облачных папок
С Syncthing очень легко создавать новые расшаренные папки. Нет необходимости складывать всё в единственную папку. Вместо одной большой папки «Dropbox» или «Яндекс.Диск» вы создаете логические группы для разных типов данных. Это позволяет тонко настроить, что и где хранить.
Вот некоторые примеры, какие папки использую я. У каждой папки можно задать свои настройки версионирования и на каких устройствах она хранится.
Vadim-Min— «минимальное» облако с важными данными, которые желательно иметь на всех устройствах.Vadim-General— различные рабочие и личные файлы более крупного размера.Vadim-Media— крупные файлы, в основном видео, скачанные из соцсетей и других мест. Обычно это временные файлы: просмотреть видео, проанализировать, удалить.Vadim-Photo— личный фотоальбом за несколько лет, сортированный по годам и темам.Vadim-Нужности— различная документация и прочие скачанные из интернета файлы, которые важно иметь под рукой.Vadim-Архив— сжатые резервные копии текущих проектов и архивы старых проектов, неактуальные данные.Камера-{модель_смартфона}— папки, зеркалирующие каталог DCIM на моих смартфонах. Фотографии, сделанные на смартфоне, сразу становятся доступны на компьютере. На компьютере я могу просмотреть, удалить, рассортировать фото, перенести фотографии в папкуVadim-Photo. Удаления файлов синхронизируются обратно на смартфон, таким образом одновременно я еще и на нём освобождаю место.- Несколько папок, синхронирующихся с рабочими компьютерами в организации и с личными ПК знакомых, чтобы обмениваться рабочими файлами.
Примечание: Если вы используете файловую систему с дедупликацией, например btrfs, то вы можете без дополнительных затрат места на диске держать идентичные копии файлов в разных расшаренных папках.
Версионирование файлов
Syncthing умеет сохранять старые версии изменённых/удалённых файлов — это и «страховка от ошибки», и элемент стратегии бэкапа.
Варианты:
- Trash Can: хранение только одной копии удалённого/изменённого файла.
- Simple: хранит фиксированное число последних ревизий.
- Staggered: «ступенчатая» ротация.
- External: передача управления внешнему скрипту.
Для каждой облачной папки на каждом устройстве можно выставить отдельные настройки версионирования. Это позволяет гибко выбирать между надёжностью и экономией места на устройстве.
Обнаружение конфликтов
Syncthing автоматически отслеживает конфликты правок, когда файл изменялся с нескольких устройств.
В этом случае он выбирает более свежий по дате вариант файла как основной, а прочие — как конфликтные. Конфликтные варианты переименовываются в <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>, и затем эти файлы распространяются по облаку в обычном порядке.
Syncthing не делает предположений о том, кто и как ответственен за решение конфликта правок, потому он просто доводит эти файлы до всех пиров и даёт пользователю возможность самому разобраться. Информация о имеющихся конфликтах отображается в веб-интерфейсе программы.
Примечание: По моему опыту, Syncthing крайне редко обнаруживает «ложно-положительные» конфликты (т.е. когда конфликта правок на самом деле нет, но облако считает, что есть). Этим он выгодно отличается от некоторых коммерческих решений, с которыми мне приходилось иметь дело ранее. В том случае ложные конфликты и потеря файлов были обычным делом.
Режимы работы папок
- Send & Receive — режим по умолчанию. Изменение на любом устройстве распространяется на все остальные. Основной вариант для синхронизации рабочих документов между десктопом, ноутбуком и смартфоном.
- Send Only. Устройство в этом режиме является «авторитетным источником». Оно отправляет свои изменения файлов другим узлам, но игнорирует изменения, приходящие от них.
- Receive Only Устройство только принимает и ретранслирует изменения, но не отправляет изменения, которые внесены локально. Подходит для сервера-архива или медиа-сервера, который должен хранить актуальную копию файлов, но сам их не изменять.
Следует отметить, что режим работы папки контролируется тем пиром, на котором, собственно, выставлена настройка. Пиры не знают и не проверяют, какие режимы стоят у других пиров. Таким образом, например, режим Receive Only защищает от случайного распространения изменений, внесенных локально. Но не от злоумышленника, который получил контроль над узлом. Чтобы злоумышленник не мог безвозвратно испортить ваши файлы, включите версионирование на более чем одном устройстве. Чем больше устройств с версионированием включено - тем выше избыточность и надёжность хранения версий.
Зашифрованные реплики на недоверенных машинах (Receive Encrypted)
Хотите держать копию на VPS, но чтобы владелец машины не имел доступа к данным? Для этого есть особый тип папки — Receive Encrypted:
- На «недоверенном» узле файлы хранятся только в зашифрованном виде. Шифруется как содержимое файлов, так и их имена и структура директорий.
- Расшифровка возможна лишь на доверенных устройствах, где настроен «обычный» (нешифрованный) режим папки.
- Используется симметричное шифрование. Шифрование и расшифровка выполняются по паролю, известному доверенным узлам.
- Отлично подходит для внешнего бэкапа без доверия: дешёвый VPS превращается в безопасный архив.
Ограничение очевидно: на таком узле содержимое просматривать/использовать/модифицировать нельзя — только хранить и ретранслировать.
Сеть
Прямая работа в LAN:
- Локальное обнаружение пиров, никакого выхода в интернет.
- Скорость ограничена только вашей сетью, удобно для домашнего/офисного сегмента.
Интернет и NAT:
- Global Discovery — глобальные discovery‑серверы помогают узлам узнать внешние адреса друг друга. Есть публичные, можно поднять свои.
- Relay Servers — ретрансляторы, когда прямое соединение через NAT не складывается. Есть публичные, можно поднять свои.
Важно: discovery/relay — это лишь «сигнализация» и транспорт. Данные остаются шифрованными end‑to‑end, а аутентификация машин — через Device ID.
Поддерживаемые ОС
- Linux (включая серверные дистрибутивы и NAS), Windows, macOS, Android.
- Пакеты есть во многих репозиториях; Android‑клиенты доступны в F‑Droid.
- Также доступны пакеты для FreeBSD, OpenBSD, Illumos.
Syncthing‑Lite на Android: доступ «по требованию»
Сейчас развивается приложение Syncthing‑Lite для Android — оно позволяет работать с вашим облаком Syncthing без загрузки полной копии файлов на телефон:
- Просмотр структуры, выборочная загрузка/кэширование «по клику».
- Добавление локальных файлов в облако.
- Экономия места на смартфоне, удобно для больших медиатек и архивов.
- Расширяет сценарии использования: телефон — вьювер/клиент, а полные копии живут на ПК/сервере.
Этот проект является возрождением старой версии приложения, которая была уже какое-то время брошена.
К сожалению, прямо сейчас у меня приложение не заработало - соединение между пирами есть, но оглавление папки не загрузилось. Такого приложения очень не хватает для расширения возможностей Syncthing. Надеюсь, что разработчик продолжит работу над ним.
Ну а пока это приложение в разработке, вы можете воспользоваться стабильной версией «обычного» варианта приложения: https://github.com/Catfriend1/syncthing-android.
Заключение
Syncthing — это не просто утилита, а технология, меняющая принцип хранения и доступа к данным. Это практический инструмент, который даёт пользователю безопасность и свободу в управлении своими данными. Он реализует принципы свободного программного обеспечения не просто по букве, но и по духу.



