−25%

за Windows при годишно плащане, до 31.10. Към плановете

EQVPS
Започни

VPS за Syncthing: винаги онлайн, само шифриран

Syncthing на сървър, който е онлайн денонощно: устройствата се синхронизират, дори никога да не са включени едновременно, а сървърът пази само шифротекст.

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

Обичайното възражение е „значи файловете ми лежат на VPS“. На това Syncthing също има отговор: споделете папка със сървъра като с недоверено устройство и той ще пази само шифровани данни, които не може да прочете.

Кой план

Самият Syncthing е мъничък — в нашия тест около 25–30 MB RAM. Всъщност купувате диск, защото сървърът държи пълно копие на всяка папка, споделена с него.

Какво синхронизиратеПлан
Документи, бележки, конфигурации, файл с база паролиNano-IP: 2 vCPU, 1 GB, 15 GB ($8/месец)
Документи за години и малко снимкиMicro-IP: 2 vCPU, 2 GB, 25 GB ($10/месец)
Работни папки и по-големи архивиSmall-IP: 4 vCPU, 4 GB, 35 GB ($16/месец)
ФотоархивPro-32: 400 GB ($40/месец), по заявка

Вземете план със собствен IPv4. Устройствата трябва да стигат до сървъра на порт 22000; на план с NAT минава само SSH и Syncthing преминава на публични ретранслатори — по-бавно и през инфраструктура, която не контролирате. Изберете Германия или Финландия — по-близкото до вас и налично при поръчка. Сървърът може да се плати с крипто, без KYC.

Инсталация

Като root на Ubuntu 24.04 или Debian 12, от официалното хранилище на Syncthing (стабилен канал 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. Ако искате файловете ви да са навсякъде, а да могат да се четат само на вашите устройства — това е по-лекият инструмент.

Свързано

Готов за deploy? Плати в crypto, без KYC — онлайн за около минута.

Deploy-ни сега →

Въпроси

Може ли сървърът да чете файловете ми?

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

Трябва ли на Syncthing собствен IP адрес?

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

Колко диск ми трябва?

Сървърът държи пълно копие на всяка папка, споделена с него, така че смятайте по данните си, а не по Syncthing. Документите и бележките се побират в 15–25 GB; фотоархивът обикновено означава план Pro с 400 GB и повече — наличен по заявка.

Защо syncthing@sync не тръгва?

Защото в Debian и Ubuntu вече има системен потребител sync с домашна директория /bin. Syncthing се опитва да създаде конфигурацията си в /bin/.local и пада на файлова система само за четене. Създайте потребител с каквото и да е друго име — ние ползваме syncthing.

Това бекъп ли е?

Не. Синхронизацията копира и изтриванията: изтриете ли файл на лаптопа, той изчезва и от сървъра. Включете версиониране на файловете на доверено устройство или пазете отделен бекъп.

Коментари

Още няма коментари. Бъди първият.

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

Коментарите се модерират преди да се появят.