Language: ur
Syncthing: کسی اور کے کلاؤڈ کے بغیر ڈیوائسز کے درمیان فائل سنکرونائزیشن
آپ صبح لیپ ٹاپ پر ایک دستاویز میں ترمیم کرتے ہیں اور اسے بند کر دیتے ہیں۔ شام کو گھر کا کمپیوٹر کھولتے ہیں تو تازہ ترین ورژن پہلے ہی وہاں موجود ہوتا ہے۔ فائل Google Drive یا Dropbox سے نہیں گزری: اسے آپ کے اپنے Syncthing نوڈ نے حاصل کیا تھا۔
Syncthing منتخب فولڈرز کو قابل اعتماد ڈیوائسز کے درمیان براہ راست سنکرونائز کرتا ہے، جبکہ ڈیٹا کہاں محفوظ ہو اس کا کنٹرول آپ کے پاس رہتا ہے۔ مرکزی سرور اختیاری ہے۔
لیکن اگر دو کمپیوٹر ایک ہی وقت میں شاذ و نادر ہی آن لائن ہوتے ہوں تو تبدیلیوں کا تبادلہ مشکل ہو جاتا ہے۔ ہر وقت چلنے والا VPS یہ مسئلہ حل کرتا ہے: وہ ایک ڈیوائس سے فائلیں وصول کرتا ہے اور بعد میں انہیں دوسری ڈیوائس تک پہنچا دیتا ہے۔
یہ سمجھنا ضروری ہے کہ Syncthing کس مقصد کے لیے بنایا گیا ہے۔ یہ نیٹ ورک ڈرائیو یا براؤزر پر مبنی فائل مینیجر نہیں بلکہ منتخب فولڈرز کی خودکار نقول بنانے کا ٹول ہے۔
Syncthing پانچ مراحل میں
کم سے کم ترتیب یوں نظر آتی ہے:
- جن کمپیوٹرز کی ضرورت ہے ان پر Syncthing انسٹال کریں۔
- VPS پر Syncthing کا ایک اور انسٹنس چلائیں۔
- SSH ٹنل کے ذریعے سرور کا ڈیش بورڈ کھولیں۔
- ڈیوائس شناخت کنندگان کا تبادلہ کریں اور کنکشن منظور کریں۔
- مشترکہ فولڈر شامل کریں، سنکرونائزیشن موڈ منتخب کریں اور فائل ورژننگ فعال کریں۔
Syncthing کیا ہے اور کیسے کام کرتا ہے
Syncthing مسلسل فائل سنکرونائزیشن کے لیے مفت اوپن سورس سافٹ ویئر ہے۔ یہ Windows، macOS، Linux اور دیگر ڈیسک ٹاپ اور سرور آپریٹنگ سسٹمز پر چلتا ہے۔
ہر تنصیب کو ایک منفرد Device ID ملتا ہے، جو ایک کرپٹوگرافک شناخت کنندہ ہے۔ دو نوڈز کے ڈیٹا کا تبادلہ کرنے سے پہلے انہیں ایک دوسرے میں شامل کرنا اور کسی مخصوص فولڈر تک رسائی واضح طور پر دینا ضروری ہے۔ کوئی ایک Syncthing اکاؤنٹ ایسا نہیں جو آپ کی ڈیوائسز اور فائلیں محفوظ رکھے۔
جب فائل تبدیل ہوتی ہے تو Syncthing اسے بلاکس میں تقسیم کرتا ہے، چیک سمز کا موازنہ کرتا ہے اور صرف غائب حصے منتقل کرتا ہے۔ نتیجتاً بڑی فائل کے اندر چھوٹی ترمیم کے لیے ہر بار پوری فائل بھیجنا ضروری نہیں ہوتا۔
Discovery سروسز ڈیوائسز کو ایک دوسرے کو تلاش کرنے میں مدد دیتی ہیں، لیکن فائلیں محفوظ نہیں کرتیں۔ اگر براہ راست کنکشن ممکن نہ ہو تو انکرپٹڈ ٹریفک ایک سست ریلے سے گزر سکتی ہے۔
VPS کیا بدل دیتا ہے
سرور کے بغیر لیپ ٹاپ گھر کے کمپیوٹر کے ساتھ براہ راست سنکرونائز ہو سکتا ہے، لیکن دونوں ڈیوائسز کو بیک وقت آن لائن ہونا پڑے گا، چاہے تھوڑی دیر کے لیے ہی۔ VPS اس ترتیب کو ہمیشہ دستیاب تبادلے کے مقام میں بدل دیتا ہے۔
مثال کے طور پر، آپ کا لیپ ٹاپ صبح سرور پر پروجیکٹ اپ لوڈ کر کے بند ہو جاتا ہے۔ شام کو گھر کا کمپیوٹر VPS سے نیا ورژن ڈاؤن لوڈ کر لیتا ہے۔
Syncthing دستاویزات، Obsidian نوٹس، سورس کوڈ، تصاویر اور خاندانی فولڈرز کے لیے اچھا ہے۔ کیش، node_modules اور build outputs کو .stignore کے ذریعے خارج کرنا بہتر ہے۔ فعال ڈیٹابیسز اور ورچوئل مشین کی تصاویر کو سنکرونائز نہیں کرنا چاہیے۔
VPS آپ کے ڈیٹا کی ایک کاپی گھر سے باہر بھی بناتا ہے۔ تاہم یہ کاپی تبھی مناسب بیک اپ بنتی ہے جب ورژننگ اور الگ بیک اپ آرکائیو کے ساتھ استعمال ہو: حادثاتی حذف ہر ڈیوائس تک پھیل سکتا ہے۔
Syncthing یا Nextcloud: آپ کو کیا منتخب کرنا چاہیے؟
دونوں ٹولز کا اکثر موازنہ کیا جاتا ہے، حالانکہ وہ مختلف مسائل حل کرتے ہیں۔
| معیار | Syncthing | Nextcloud |
|---|---|---|
| ماڈل | فولڈرز ڈیوائسز کے درمیان کاپی ہوتے ہیں | فائلیں مرکزی سرور پر محفوظ ہوتی ہیں |
| سرور کی ضرورت | نہیں، VPS اختیاری ہے | ہاں |
| براؤزر سے فائلوں تک رسائی | مکمل ویب ڈرائیو نہیں | ہاں |
| عوامی لنکس | نہیں | ہاں |
| مشترکہ ترمیم | فراہم نہیں کی جاتی | شامل کی جا سکتی ہے |
| بہترین استعمال | اپنی ڈیوائسز پر ایک جیسے فولڈرز برقرار رکھنا | ذاتی یا ٹیم کا کلاؤڈ |
بے تکلف پس منظر کی سنکرونائزیشن کے لیے Syncthing منتخب کریں۔ جب ویب رسائی، شیئر کرنے کے قابل لنکس، صارف اکاؤنٹس، کیلنڈر اور اشتراکی خصوصیات درکار ہوں تو Nextcloud بہتر ہے۔
Docker Compose کے ساتھ VPS پر Syncthing انسٹال کرنے کا طریقہ
ذیل کے مراحل Ubuntu 24.04 چلانے والے VPS کے لیے ہیں۔ ڈیش بورڈ سرور کے مقامی ایڈریس سے منسلک رہے گا اور آپ SSH ٹنل کے ذریعے اس سے جڑیں گے۔
1. Docker انسٹال کریں
sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker2. ڈائریکٹری اور Compose فائل بنائیں
sudo mkdir -p /opt/syncthing/data
sudo chown -R 1000:1000 /opt/syncthing/data
cd /opt/syncthing
sudo nano compose.yamlدرج ذیل متن چسپاں کریں:
services:
syncthing:
image: syncthing/syncthing:latest
container_name: syncthing
hostname: syncthing-vps
environment:
- PUID=1000
- PGID=1000
- STGUIADDRESS=
volumes:
- ./data:/var/syncthing
network_mode: host
restart: unless-stoppedیہ ترتیب Syncthing کی سرکاری امیج استعمال کرتی ہے۔ host نیٹ ورک موڈ براہ راست کنکشن آسان بناتا ہے، جبکہ خالی STGUIADDRESS قدر ڈیش بورڈ کو 127.0.0.1:8384 پر رکھتی ہے۔
کنٹینر شروع کریں:
sudo docker compose up -d
sudo docker compose ps3. سنکرونائزیشن کنکشنز کی اجازت دیں
پہلے SSH کی اجازت دیں تاکہ خود کو لاک آؤٹ نہ کر دیں:
sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable22000/TCP مرکزی سنکرونائزیشن پروٹوکول کے لیے استعمال ہوتا ہے جبکہ 22000/UDP کو QUIC کے لیے استعمال کیا جاتا ہے۔ ڈیش بورڈ کا پورٹ 8384 ظاہر کرنے کی ضرورت نہیں۔ عوامی VPS پر مقامی discovery پورٹ 21027/UDP بھی عموماً غیر ضروری ہے۔
4. SSH کے ذریعے ڈیش بورڈ کھولیں
اپنے کمپیوٹر پر درج ذیل کمانڈ چلائیں:
ssh -L 9999:127.0.0.1:8384 root@SERVER_IPٹرمینل کھلا رکھیں اور یہاں جائیں:
http://127.0.0.1:9999ڈیش بورڈ کھولنے کے بعد Actions → Settings → GUI پر جائیں اور صارف نام اور پاس ورڈ مقرر کریں۔ اگر بعد میں ڈومین کے ذریعے ڈیش بورڈ تک رسائی چاہیے ہو تو اسے HTTPS ریورس پراکسی کے پیچھے رکھیں اور تصدیق فعال رکھیں۔
5. ڈیوائسز اور فولڈر شامل کریں
اپنے کمپیوٹر پر Syncthing انسٹال کریں، پھر:
- کمپیوٹر اور VPS دونوں پر Actions → Show ID منتخب کریں۔
- ہر نوڈ کا Device ID دوسری ڈیوائس میں شامل کریں۔
- کمپیوٹر پر Add Folder پر کلک کریں، ڈائریکٹری منتخب کریں اور اسے سرور کے ساتھ شیئر کریں۔
- VPS پر فولڈر قبول کریں اور
/var/syncthing/Filesجیسا راستہ منتخب کریں۔
دو طرفہ سنکرونائزیشن کے لیے کمپیوٹرز پر Send & Receive فعال رہنے دیں۔ VPS پر Receive Only اکثر آسان ہوتا ہے: سرور نوڈز کے درمیان تبدیلیاں وصول اور آگے بھیجتا رہے گا، لیکن VPS پر براہ راست کی گئی حادثاتی مقامی ترمیم پورے نیٹ ورک میں نہیں پھیلے گی۔
Syncthing بیک اپ کی جگہ کیوں نہیں لیتا
اگر ایک ڈیوائس پر فائل حذف یا انکرپٹ ہو جائے تو یہ تبدیلی دوسری ڈیوائسز تک پھیل سکتی ہے۔ اسی لیے VPS پر فولڈر کی ترتیبات کھول کر File Versioning فعال کریں۔
ایک عملی انتخاب 30–90 دن کی مدت کے ساتھ Staggered File Versioning ہے۔ جب کوئی ریموٹ نوڈ فائل تبدیل یا حذف کرتا ہے تو پچھلا ورژن .stversions میں منتقل ہو جاتا ہے۔ پرانی نقول ڈسک کی جگہ لیتی ہیں، اس لیے برقرار رکھنے کی حد مقرر کریں۔
قابل اعتماد ترتیب کی تین تہیں ہیں:
- Syncthing کام کرنے والی نقول کو تازہ رکھتا ہے۔
- ورژننگ کچھ غلطیوں کو واپس کرنے میں مدد دیتی ہے۔
- ایک الگ مقررہ بیک اپ Syncthing سے آزاد محفوظ کیا جاتا ہے۔
کیا VPS فائلوں کا مواد دیکھے بغیر انہیں محفوظ رکھ سکتا ہے؟
Syncthing میں غیر معتبر ڈیوائس موڈ شامل ہے۔ مرکزی کمپیوٹر پر فولڈر کے لیے پاس ورڈ مقرر کریں اور VPS پر Receive Encrypted منتخب کریں۔ سرور انکرپٹڈ ڈیٹا محفوظ کرے گا اور اسی پاس ورڈ والی کسی دوسری قابل اعتماد ڈیوائس کو اسے بھیج سکتا ہے۔
مواد، فائل نام، ٹائم اسٹیمپس اور ڈائریکٹری کا ڈھانچہ چھپا رہتا ہے۔ مشترکہ فولڈر اور فائلوں کے تقریباً حجم سے متعلق معلومات نظر آتی رہتی ہیں۔
ڈیولپرز اب بھی اس خصوصیت کو تجرباتی سمجھتے ہیں۔ پاس ورڈ اور Folder ID الگ الگ محفوظ کریں: ان کے بغیر انکرپٹڈ فولڈر کی بازیابی ناممکن ہو سکتی ہے۔
Syncthing کو کس VPS کی ضرورت ہے؟
وسائل کا استعمال صرف ڈیٹا کے حجم پر نہیں بلکہ فائلوں کی تعداد، ان میں تبدیلی کی فریکوئنسی اور ابتدائی انڈیکسنگ کے عمل پر بھی منحصر ہے۔ دستاویزات اور چند درجن گیگا بائٹ ڈیٹا والے ذاتی نوڈ کے لیے عموماً یہ ابتدائی ترتیب کافی ہے:
- 1 vCPU؛
- 1 GB RAM؛
- SSD یا NVMe اسٹوریج؛
- فائلوں اور
.stversionsکے لیے کافی ڈسک جگہ؛ - مستحکم نیٹ ورک کنکشن۔
بڑی فوٹو لائبریری یا لاکھوں فائلوں کے لیے زیادہ وسائل درکار ہوں گے۔ سب سے زیادہ لوڈ عموماً پہلے اسکین اور چیک سم کے حساب کے دوران آتا ہے۔
tropic.host کا بنیادی Ubuntu VPS اس کام کے لیے موزوں ہے۔ آپ چھوٹی ترتیب سے شروع کر کے کلیکشن بڑھنے پر وسائل میں اضافہ کر سکتے ہیں۔ ڈسک کی گنجائش منتخب کرتے وقت موجودہ فولڈرز کے ساتھ مستقبل کی فائلوں، عارضی ڈیٹا اور ورژن کی تاریخ کو بھی مدنظر رکھیں۔
پانچ غلطیاں جن سے بچنا چاہیے
- پورٹ 8384 کو پورے انٹرنیٹ کے لیے ظاہر کرنا۔ سیٹ اپ کے لیے SSH ٹنل استعمال کریں۔ مستقل ویب رسائی کے لیے HTTPS، پاس ورڈ اور ریورس پراکسی استعمال کریں۔
- سرور کی کاپی کو مکمل بیک اپ سمجھنا۔ ورژننگ فعال کریں اور الگ بیک اپ آرکائیوز بنائیں۔
- کیش اور dependencies کو سنکرونائز کرنا۔
.stignoreسے غیر ضروری ڈائریکٹریز خارج کریں۔ - ڈسک کے استعمال کو نظر انداز کرنا۔
.stversionsڈائریکٹری وقت کے ساتھ خاصی بڑی ہو سکتی ہے۔ - کھوئی ہوئی ڈیوائس کو trusted چھوڑ دینا۔ اسے دوسرے نوڈز سے ہٹا دیں اور Syncthing کی اس ترتیب کو محفوظ کریں جس میں ڈیوائس کیز موجود ہیں۔
اسمارٹ فونز کے بارے میں کیا جاننا چاہیے
سرکاری Android ایپ 2024 کے آخر میں بند کر دی گئی، لیکن کمیونٹی کے کلائنٹس دستیاب ہیں۔ iOS کے لیے بھی کوئی سرکاری کلائنٹ نہیں: پس منظر میں چلنے کی پابندیاں مسلسل سنکرونائزیشن کو مشکل بناتی ہیں۔ اپنی مرکزی فوٹو لائبریری جوڑنے سے پہلے منتخب موبائل ایپ کو ایک چھوٹے فولڈر کے ساتھ آزمائیں۔
نتیجہ
Syncthing ان لوگوں کے لیے موزوں ہے جو لازمی کلاؤڈ ثالث پر انحصار کیے بغیر کئی ڈیوائسز پر ایک جیسے فولڈرز رکھنا چاہتے ہیں۔ VPS نظام کو زیادہ آسان بناتا ہے: کمپیوٹرز کو اب بیک وقت آن لائن رہنے کی ضرورت نہیں، اور گھر سے باہر ایک ہمیشہ دستیاب کاپی مل جاتی ہے۔
محفوظ ترتیب کے لیے انتظامی ڈیش بورڈ براہ راست ظاہر نہ کریں، ورژننگ فعال کریں اور سنکرونائزیشن کے ساتھ ایک آزاد بیک اپ بھی رکھیں۔
FAQ
کیا Syncthing کے لیے VPS ضروری ہے؟
نہیں۔ ڈیوائسز براہ راست سنکرونائز ہو سکتی ہیں۔ VPS ہمیشہ چلنے والے نوڈ کے طور پر کام کرتا ہے اور انہیں مختلف اوقات میں تبدیلیاں شیئر کرنے دیتا ہے۔
کیا Syncthing کی فائلیں براؤزر میں کھولی جا سکتی ہیں؟
ویب ڈیش بورڈ ترتیب دینے کے لیے ہے، Google Drive کی طرح دستاویزات براؤز کرنے کے لیے نہیں۔ اگر ویب ڈرائیو چاہیے تو Nextcloud بہتر انتخاب ہے۔
کیا Syncthing بیک اپ کا حل ہے؟
نہیں۔ حذف اور خرابی دوسری ڈیوائسز تک پھیل سکتی ہے۔ ورژننگ مدد دیتی ہے، لیکن آزاد بیک اپ کی جگہ نہیں لیتی۔
کیا پورٹ 8384 کھولنا ضروری ہے؟
نہیں۔ ڈیش بورڈ کو 127.0.0.1:8384 پر رکھیں اور SSH ٹنل کے ذریعے جڑیں۔ سنکرونائزیشن کے لیے 22000/TCP اور 22000/UDP کھولیں۔
کیا VPS کا مالک فائلیں پڑھ سکتا ہے؟
معیاری ترتیب میں ممکنہ طور پر ہاں۔ Receive Encrypted انہیں انکرپٹڈ شکل میں محفوظ کرتا ہے، لیکن یہ خصوصیت اب بھی تجرباتی سمجھی جاتی ہے، اس لیے پاس ورڈ اور Folder ID کو محفوظ رکھنا ضروری ہے۔
