Syncthing یک عادت آزاردهنده دارد: دو دستگاه فقط وقتی همگام میشوند که هر دو آنلاین باشند. لپتاپ خواب است، گوشی با دادهٔ همراه در جیب است، کامپیوتر خانه خاموش است — و فایلها منتظر لحظهای میمانند که دو تا از آنها تصادفاً همزمان بیدار باشند. همتایی که شبانهروز آنلاین است این را حل میکند. هر دستگاهی هر وقت پیدا شود، همهچیز از طریق سرور همگام میشود.
اعتراض همیشگی این است: «پس فایلهایم روی یک VPS میمانند.» Syncthing برای این هم جواب دارد: پوشه را با سرور بهعنوان دستگاه نامطمئن به اشتراک بگذارید تا فقط دادههای رمزشدهای را نگه دارد که خودش نمیتواند بخواند.
کدام پلن
خود Syncthing بسیار کوچک است — در آزمایش ما حدود ۲۵ تا ۳۰ مگابایت RAM. چیزی که واقعاً میخرید دیسک است، چون سرور نسخهٔ کامل هر پوشهٔ اشتراکی را نگه میدارد.
| چه چیزی همگام میکنید | پلن |
|---|---|
| اسناد، یادداشتها، پیکربندیها، فایل پایگاه دادهٔ گذرواژه | Nano-IP: ۲ vCPU، ۱ گیگابایت، ۱۵ گیگابایت (۸ دلار در ماه) |
| اسناد چندساله بهعلاوهٔ چند عکس | Micro-IP: ۲ vCPU، ۲ گیگابایت، ۲۵ گیگابایت (۱۰ دلار در ماه) |
| پوشههای کاری و آرشیوهای بزرگتر | Small-IP: ۴ vCPU، ۴ گیگابایت، ۳۵ گیگابایت (۱۶ دلار در ماه) |
| کتابخانهٔ عکس | Pro-32: ۴۰۰ گیگابایت (۴۰ دلار در ماه)، با درخواست |
پلنی با 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 با خطای سیستم فایل فقطخواندنی شکست میخورد — خودمان هم به این خوردیم.
شناسهٔ دستگاه سرور را بگیرید — آن را در دستگاههای دیگرتان میچسبانید:
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 گذرواژه بگذارید.
پوشه را طوری به اشتراک بگذارید که سرور نتواند بخواند
روی لپتاپ (یا هر دستگاه مطمئنی):
- سرور را با شناسهٔ دستگاهش بهعنوان دستگاه راهدور اضافه کنید.
- پوشهای را که میخواهید همگام شود باز کنید ← Sharing، سرور را تیک بزنید و کنارش یک گذرواژهٔ رمزنگاری وارد کنید. این گذرواژه را در مدیر گذرواژه نگه دارید: بدون آن، دادههای روی سرور فقط نویز است.
- در رابط وب سرور، پوشه را بپذیرید و نوع پوشه را Receive Encrypted انتخاب کنید.
همین. ببینید واقعاً چه چیزی روی سرور رسیده:
find /home/syncthing -path '*syncthing-enc*' -type f | head
بهجای نام فایلهایتان مسیرهایی مثل …/I.syncthing-enc/C8/PICA7BFKFPSGQ06C4D4SQ50GB6E151QUNF1EOBK میبینید. در آزمایش ما روی سرور دنبال عبارتی از فایل همگامشده گشتیم — هیچ.
دستگاههای دیگرتان همان پوشه را بین خودشان بهطور معمول و با سرور با همان گذرواژهٔ رمزنگاری به اشتراک میگذارند. هر دستگاه مطمئنی که گذرواژه را بداند میتواند از سرور همگام شود، حتی لپتاپ تازه پس از خراب شدن لپتاپ قدیمی.
بخش صادقانه
- همگامسازی پشتیبانگیری نیست. حذفها و بازنویسیهای اشتباهی هم همگام میشوند. نسخهبندی را روی یک دستگاه مطمئن روشن کنید یا جای دیگری پشتیبان جداگانه نگه دارید.
- رمزنگاری محتوا و نامها را پنهان میکند، نه همهچیز را. اندازهٔ فایلها و زمان تغییرات هنوز روی سرور قابل تشخیص است. برای بیشتر آدمها این معاملهٔ خوبی است؛ اگر برای شما نیست، این چیدمان مناسب شما نیست.
- گذرواژه کلید است. گمش کنید، نسخهٔ رمزشده روی سرور بیمصرف میشود. هدف همین است، و خطر هم همین.
- گوشیها. دیگر اپ موبایل رسمی وجود ندارد: Android اپی دارد که جامعهٔ کاربران نگهداریاش میکند و iOS فقط کلاینتهای شخص ثالث. پیش از اینکه رویش حساب کنید، دستگاه خودتان را بررسی کنید.
اگر بهجای همگامسازی بیصدا در پسزمینه، رابط وب کاملی با تقویم، مخاطبان و لینک اشتراک میخواهید، سراغ Nextcloud بروید. اگر فقط میخواهید فایلهایتان همهجا باشند و جز روی دستگاههای خودتان هیچجا خوانده نشوند، این ابزار سبکتر است.
مرتبط
- Nextcloud را خودتان روی VPS میزبانی کنید: ابر خصوصی کامل با رابط وب
- سرور VPS برای Vaultwarden: گذرواژهها روی سرور خودتان
- سرور VPS برای ذخیرهسازی رمزشده: LUKS و اینکه رمزنگاری روی سرور چه کاری میتواند و نمیتواند بکند
- چگونه احراز هویت با کلید SSH را راه بیندازیم
- چگونه فایروال ufw را پیکربندی کنیم
نظرات
هنوز نظری نیست. اولین نفر باشید.