−25%

на годовую оплату Windows, до 31.10. К тарифам

EQVPS
Начать

VPS для Syncthing: всегда онлайн и с шифрованием

Syncthing на сервере, который онлайн круглые сутки: устройства синхронизируются, даже если никогда не включены одновременно, а сервер хранит только шифротекст.

У Syncthing есть одна раздражающая привычка: два устройства синхронизируются, только пока оба онлайн. Ноутбук спит, телефон в кармане на мобильном интернете, домашний компьютер выключен — и файлы ждут момента, когда два из них случайно проснутся одновременно. Это лечится участником, который онлайн всегда. Всё синхронизируется через сервер, когда бы каждое устройство ни появилось.

Обычное возражение — «тогда мои файлы лежат на VPS». У Syncthing и на это есть ответ: поделитесь папкой с сервером как с недоверенным устройством, и он будет хранить только зашифрованные данные, которые сам прочитать не может.

Какой тариф

Сам Syncthing крошечный — в нашем тесте около 25–30 МБ RAM. Покупаете вы на самом деле диск: сервер держит полную копию каждой папки, которой вы с ним поделились.

Что синхронизируетеТариф
Документы, заметки, конфиги, файл базы паролейNano-IP — 2 vCPU, 1 ГБ, 15 ГБ ($8/мес)
Документы за годы плюс немного фотоMicro-IP — 2 vCPU, 2 ГБ, 25 ГБ ($10/мес)
Рабочие папки и архивы побольшеSmall-IP — 4 vCPU, 4 ГБ, 35 ГБ ($16/мес)
ФотоархивPro-32 — 400 ГБ ($40/мес), по заявке

Берите тариф со своим IPv4. Устройствам нужно достучаться до сервера на порт 22000; на NAT-тарифе снаружи проходит только SSH, и Syncthing уходит на публичные релеи — медленнее и через инфраструктуру, которую вы не контролируете. Германия или Финляндия — что ближе к вам и доступно при заказе. Оплатить сервер можно криптой, без KYC.

Установка

От root на Ubuntu 24.04 или Debian 12, из официального репозитория Syncthing (канал stable v2):

mkdir -p /etc/apt/keyrings
curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" > /etc/apt/sources.list.d/syncthing.list
apt update && apt install -y syncthing

Запускайте от отдельного пользователя через systemd:

useradd -m -s /bin/bash syncthing
systemctl enable --now syncthing@syncthing
ufw allow 22/tcp && ufw allow 22000/tcp && ufw allow 22000/udp && ufw enable

Не называйте пользователя sync. Это имя уже занято системной учёткой с домашней папкой /bin, и syncthing@sync падает с ошибкой про файловую систему только для чтения — мы сами на этом споткнулись.

Узнайте ID устройства сервера — его вы вставите на остальных устройствах:

runuser -u syncthing -- syncthing device-id

Веб-интерфейс слушает только 127.0.0.1:8384, и это правильно. Заходите в него через SSH-туннель со своего компьютера:

ssh -L 8384:127.0.0.1:8384 root@YOUR_SERVER_IP

Откройте http://127.0.0.1:8384 и первым делом задайте пароль интерфейса в Settings → GUI.

Делимся папкой так, чтобы сервер не мог её прочитать

На ноутбуке (или любом доверенном устройстве):

  1. Добавьте сервер как удалённое устройство по его ID.
  2. Откройте нужную папку → Sharing, отметьте сервер и рядом с ним введите пароль шифрования. Сохраните его в менеджере паролей: без него данные на сервере — просто шум.
  3. В веб-интерфейсе сервера примите папку и выберите тип Receive Encrypted.

Всё. Посмотрите, что на самом деле легло на сервер:

find /home/syncthing -path '*syncthing-enc*' -type f | head

Вместо имён ваших файлов будут пути вроде …/I.syncthing-enc/C8/PICA7BFKFPSGQ06C4D4SQ50GB6E151QUNF1EOBK. В нашем тесте мы поискали на сервере фразу из синхронизированного файла — ничего.

Остальные устройства делятся той же папкой как обычно: между собой — без пароля, с сервером — с тем же паролем шифрования. Любое доверенное устройство, которое знает пароль, может забрать данные с сервера — в том числе новый ноутбук, когда старый умрёт.

Честно о минусах

  • Синхронизация — не бэкап. Удаления и случайные перезаписи тоже синхронизируются. Включите версионирование файлов на доверенном устройстве или держите отдельный бэкап в другом месте.
  • Шифрование прячет содержимое и имена, но не всё. Размеры файлов и моменты изменений на сервере всё равно можно вычислить. Для большинства это нормальный размен; если для вас нет — эта схема не для вас.
  • Пароль — это ключ. Потеряете его — зашифрованная копия на сервере бесполезна. В этом весь смысл, и в этом же риск.
  • Телефоны. Официального мобильного приложения больше нет: для Android есть приложение, которое поддерживает сообщество, для iOS — только сторонние клиенты. Проверьте свой, прежде чем строить на нём планы.

Если нужен полноценный веб-интерфейс с календарями, контактами и ссылками для обмена, а не тихая синхронизация в фоне, — посмотрите на Nextcloud. Если же нужно, чтобы файлы были везде, а читать их могли только ваши устройства, Syncthing — инструмент полегче.

По теме

Готовы развернуть? Оплата криптой, без KYC — сервер за минуту.

Развернуть →

Частые вопросы

Сервер может прочитать мои файлы?

Нет, если делиться с ним папками как с недоверенным устройством. Пароль шифрования вы задаёте на своём устройстве, а сервер хранит зашифрованное содержимое под перемешанными именами. В нашем тесте текстовый файл появился на сервере как что-то вроде I.syncthing-enc/C8/PICA7…, и его текста в открытом виде там не нашлось нигде. Размеры файлов и время изменений вычислить можно — имена и содержимое нельзя.

Нужен ли Syncthing выделенный IP?

Очень желателен. Устройства подключаются к серверу на порт 22000 (TCP и UDP). На NAT-тарифе снаружи доступен только SSH-порт, и Syncthing уходит на публичные релеи — работать будет, но медленнее, а ваш зашифрованный трафик пойдёт через чужой релей.

Сколько нужно диска?

Сервер хранит полную копию каждой папки, которой вы с ним поделились, — считайте по своим данным, а не по Syncthing. Документы и заметки помещаются в 15–25 ГБ; фотоархив обычно означает тариф Pro на 400 ГБ и больше — он по заявке.

Почему не стартует syncthing@sync?

Потому что в Debian и Ubuntu уже есть системный пользователь sync с домашней папкой /bin. Syncthing пытается создать конфиг в /bin/.local и падает на файловой системе только для чтения. Создайте пользователя с любым другим именем — у нас это syncthing.

Это бэкап?

Нет. Синхронизация переносит и удаления: стёрли файл на ноутбуке — он пропал и с сервера. Включите версионирование файлов на доверенном устройстве или держите отдельный бэкап.

Комментарии

Пока нет комментариев. Будьте первым.

Оставить комментарий

Комментарии проходят модерацию перед публикацией.