Syncthing — синхронизация файлов Windows, Linux, MacOS и Android
Если среди ваших задач есть синхронизация файлов между разными компьютерами, при этом полагаться на облачные сервисы крупных Интернет-компаний вы не хотите, а вместо этого предпочитаете полностью контролировать процесс синхронизации, бесплатное решение Syncthing с открытым исходным кодом, возможно, именно то, что вам требуется.
В этом обзоре о том, как начать использовать Syncthing для синхронизации файлов между компьютерами и мобильными устройствами в локальной сети и через Интернет с использованием безопасного протокола TLS, базовых настройках и возможностях инструмента.
Загрузка и установка
Все файлы для загрузки Syncthing для разных платформ, а также ссылки на Google Play и F-Droid доступны на официальном сайте https://syncthing.net. Все консольные версии можно также загрузить со страницы GitHub. Если требуется версия для iPhone или iPad, можно использовать стороннее приложение Möbius Sync, доступное в App Store — оно сделано специально для Syncthing, но не полностью бесплатное.
Учитывайте, что в базовом варианте Syncthing для Windows и Mac — консольный инструмент, доступ к параметрам которого осуществляется через веб-интерфейс.
Если вы не готовы вручную настраивать автоматический запуск консольного приложения и работать с ним через браузер, можно загрузить готовые сборки с графическим интерфейсом и собственными параметрами — SyncTrayzor и syncthing-macos, предлагаемые в разделе «Integrations» на официальном сайте: эти варианты больше похожи на привычные программы и могут быть более удобными для начинающих пользователей.
Использование Syncthing
В первую очередь поговорим о работе Syncthing в Windows. Вне зависимости от того, какой из вариантов Syncthing вы загрузили (консольную утилиту или приложение-сборку), при первом запуске вам потребуется дать ему необходимые разрешения в брандмауэре.
При запуске консольного инструмента будет запущена консоль и браузер с веб-интерфейсом управления (по умолчанию доступен по адресу 127.0.0.1:8384).
Примечание: если вам потребуется настроить автоматический запуск консольного Syncthing при входе в Windows без появления окна консоли и автоматического открытия браузера, используйте планировщик заданий (или создание своей службы) и запуск syncthing.exe с параметрами
--no-console --no-browser
При запуске SyncTrayzor — в области уведомлений появится значок быстрого доступа, а также откроется окно приложения: тот же веб-интерфейс, но в «обертке» с собственными дополнительными настройками приложения.
Вверху окна будет предложено настроить аутентификацию (имя пользователя и пароль) для входа в веб-интерфейс в будущем: сделайте это, если есть опасения, что кто-то с доступом к компьютеру может изменить параметры синхронизации.
Далее — о базовых действиях для первоначальной настройки синхронизации, если какие-то шаги будут не до конца ясными, ниже также есть видео, где процесс показан наглядно:
- Установите/запустите Syncthing (или SyncTrayzor) на другом устройстве. При нахождении двух устройств в одной локальной сети, они «увидят» друг друга и можно будет просто нажать кнопку «Добавить устройство» и нажать по нужному ID устройства «рядом» в локальной сети, а также подтвердить добавление на добавляемом устройстве.
- Если уведомлений о новом устройстве не появляется, или для добавления устройства в сети Интернет используйте кнопку «Добавить устройство» и ID или QR-код (в случае подключения Android смартфона). Получить ID текущего компьютера можно в меню настроек, пункт «Показать ID».
- По умолчанию приложение работает лишь с одной папкой по умолчанию в
C:\Users\Имя_пользователя\Sync
к которой нет доступа у других устройств. Вы можете добавить собственные папки с помощью кнопки «Добавить папку» в веб-интерфейсе. При добавлении рекомендую задать «Ярлык папки», иначе в списке папок для неё будет отображаться уникальный, но не очень читаемый ID. - Для предоставления доступа к папке другим подключенным устройствам, нажмите откройте вкладку «Предоставление доступа» окне редактирования свойств нужной папки и включите доступ для нужных устройств. Если синхронизация выполняется через Интернет и требуется шифрование данных, задайте пароль шифрования.
- На компьютере, которому был предоставлен доступ, появится уведомление о новой общей папке, которое нужно принять. Если был предоставлен доступ к папке Default Folder (По умолчанию), то синхронизация будет автоматически производиться с аналогичной папкой по умолчанию на удаленном компьютере, если к другой папке — потребуется указать путь к локальной папке на нем, данные из которой будут синхронизированы (он может отличаться от пути на исходном компьютере).
- Аналогичным образом можно подключить больше устройств и предоставить доступ к нужным папкам им: не только для компьютеров и ноутбуков, но и для мобильных устройств Android:
На этом основные необходимые действия для выполнения синхронизации ваших данных выполнены: файлы будут автоматически обновляться до последней версии на всех устройствах, которым предоставлен доступ к соответствующим папкам. Если устройство выключено или отключено от локальной сети или Интернета, данные будут синхронизированы при очередном его включении.
Возможности синхронизации и её настройки не ограничиваются простым сценарием использования, который был предложен выше, вы также можете:
- Настроить управление версиями файлов в свойствах общей папки (кнопка «Редактирование папки» — «Управление версиями»).
- На вкладке «Дополнительно» в окне редактирования папки настроить интервалы сканирования, необходимость синхронизации прав доступа и владельцев NTFS, отправку расширенных атрибутов.
- В настройках (в веб-интерфейсе) настроить ограничения пропускной способности и другие параметры сети.
- При использовании SyncTrayzor использовать дополнительные настройки самого приложения, такие как автоматический запуск при входе в Windows, отключение синхронизации при лимитных подключениях, уведомления об измененных и синхронизированных файлах, а также настройки Syncthing — изменение адреса доступа к веб-интерфейсу, приоритет исполняемого процесса и другие.
Полная документация по использованию и настройке Syncthing (на английском языке) доступна на сайте https://docs.syncthing.net/. В ней вы найдете информацию по параметрам командной строки, доступным настройкам сети, расширенным возможностям настройки синхронизации файлов и другие сведения.
SwaEgo
Не так давно искал подобное решение, чтобы связать в синхросеть ноут-ком-андроид. Resilio Synс по-моему оптимальное решение, не нужны танцы с бубнами, как в данной статье.
Ответить
Dmitry
Я как-то и сам рекомендовал помню где-то здесь в комментариях Resilio, но продукт сильно не бесплатный (причем что-то я на официальном сайте не нашел ограничений бесплатного плана при беглом просмотре), что может оттолкнуть.
Ответить
Александр
Приветствую ! Душевная благодарность за подробный и понятный (в будущем при частом использовании — таки точно) обзор ! Эти действия можно проводить между устройствами, а можно ли так синхронизировать файлы/папки/каталоги на носителях?
Ответить
Dmitry
Здравствуйте. Если вы имеете в виду на носителях в рамках одного устройства — не знаю точно, но очевидной возможности для этого я не нашел, похоже, что нет (но могу ошибаться).
Ответить
Добрый время
Много текста. Программа умеет в облоко заливать файлы зашифрованными? Что б хостинг не мог посмотреть? Статьи пишет какой то не умеющий доносить информацию. Прочитал и ничего не понял ЧТО?
Ответить
Dmitry
Эта программа не заливает в облако ничего…
Шифрованные файлы при передаче, на конечных машинах — в обычном виде
Ответить
Добрый Слава
Подскажи самую удобную и работающую программу которая синхронизирует папку с облаком, но на облаке каждый файл в оболочке (архив rar или 7z с паролем).
Или есть немного другие решения, но лишь бы было просто, удобно и надёжно (не глючно).
Ответить
Dmitry
Здравствуйте.
Вопрос хороший, но готовые решения для такого мне неизвестны…
Ответить
Lecron
Хорошо что я ей уже пользуюсь. Для новичков же, желательно указать что существует возможность «односторонней» синхронизации (файлы удаленные на ПК2 не будут удалены с ПК1) и некоторые другие неочевидные возможности. Просто списком. Ибо детали есть в документации, но не бросаются в глаза.
Ответить
Дима
Прекрасная штука для синхронизации огромных файлов через инет!
Дмитрий, спасибо огромное за инструкцию!
Ответить
Dmitry
Вам спасибо за отзыв!
Ответить
Pavel
Спасибо за мануал. Софт очень полезный, начал использовать. Проблема правда одна есть syncing: name is invalid, must not end in space or period on Windows. Не знаю с чем связано, вроде всё синхронизируется, но эта ошибка постоянно даёт о себе знать, толи какой-то тип файлов не нравится, толи ещё что, но в целом всё равно гуд!
Ответить
Dmitry
Здравствуйте.
Текст ошибки указывает на проблему с именем файла «не должно оканчиваться пробелом или точкой в Windows».
Ответить
Алексей
Использовал Syncthing долгое время, пока не появился проект с 10 миллионов мелких файлов. Вот тут Syncthing конечно призадумался…. Проиндексировал на nvme диске конечно относительно быстро (час), но вот передача по 100мбит на другой комп затянулось на неделю, и на 34% прогресса я бросил это дело. Оказывается Syncthing шифрует каждый файл, кроме этого производит множество других операций с КАЖДЫМ передаваемым файлом. Поэтому я решил искать что-то другое.
Нашел Resilio Sync, обещают что файлы летают через p2p. Поставил, проиндексировалось за 50 мин, еще 3 часа готовился к передаче. И вот передает уже часов 10. Посмотрим как будет дальше, но уже 14%.
Ответить
Николай
10ккк файлов это Вы что пентагон сливаете?)
Ответить