SingLink پروٹوکول اب اوپن سورس ہے

By SingLinkVPN Editorial Team2026-11-12پروڈکٹ اپ ڈیٹس9 منٹ کا مطالعہ
SingLink پروٹوکول اب اوپن سورس ہے
Contents

آج SingLinkVPN کے پیچھے کام کرنے والی ٹیم SingLinkLabs نے SingLink پروٹوکول کا مکمل سورس کوڈ Apache-2.0 لائسنس کے تحت GitHub پر شائع کر دیا ہے۔ اب کوئی بھی اس کی اسپیسیفکیشن پڑھ سکتا ہے، کوڈ چلا سکتا ہے، اس کی سکیورٹی کا جائزہ لے سکتا ہے اور اس کی بنیاد پر اپنا کام آگے بڑھا سکتا ہے۔

جب ہم نے SingLinkVPN کا اوپن سورس منصوبہ شروع کیا تھا تو کہا تھا کہ ایک VPN پروٹوکول اور ایک VPN کلائنٹ مرحلہ وار آئیں گے۔ یہ وہی قدم ہے۔ پروٹوکول کے ساتھ ہی SingLinkVPN ایپ کا پہلی نسل کا پروٹوٹائپ بھی جاری کیا گیا ہے، جو اسی پروٹوکول پر چلتا ہے — دیکھیے SingLinkVPN ایپ کا پروٹوٹائپ اب اوپن سورس ہے۔

ریپوزٹری: SingLinkLabs / singlink-protocol · ورژن: 1.0.0-draft (وائر نام SingLink/1، اسپیسیفکیشن ڈرافٹ 2) · لائسنس: Apache-2.0 · زبان: Go، صرف اسٹینڈرڈ لائبریری

کیا جاری کیا جا رہا ہے

  • اسپیسیفکیشن۔ SPEC.md وائر فارمیٹ کو بائٹ بہ بائٹ بیان کرتی ہے، تاکہ کوئی بھی اس پروٹوکول کو آزادانہ طور پر نافذ کر سکے۔
  • Go میں پروٹوکول لائبریری۔ یہ صرف Go کی اسٹینڈرڈ لائبریری کی کرپٹوگرافی استعمال کرتی ہے، کسی تھرڈ پارٹی ڈیپینڈنسی کے بغیر۔
  • ایک کمانڈ لائن ٹول، جس سے کلیدیں بنائی جا سکتی ہیں، رسائی پاس جاری کیے جا سکتے ہیں، کنکشن لنک بنائے جا سکتے ہیں، نوڈ اور کلائنٹ چلائے جا سکتے ہیں اور ایک ہی مشین پر ڈیمو شروع کیا جا سکتا ہے۔
  • ایپس کے لیے ایک لوکل پراکسی (SOCKS5 اور HTTP) اور ایک C لائبریری انٹرفیس (libsinglink)، تاکہ کسی بھی پلیٹ فارم کی ایپس اس پروٹوکول کو اپنے اندر شامل کر سکیں۔
  • ڈیپلائمنٹ کی مثالیں: ایک نمونہ نوڈ کنفیگریشن اور سکیورٹی کے لحاظ سے مضبوط بنائی گئی ایک systemd سروس فائل۔
  • اندرونی سکیورٹی جائزہ، ہر نتیجے اور اس کی اصلاح کے ساتھ: SECURITY-AUDIT.md۔

SingLink 2.0 اور SingLink اوپن پروٹوکول الگ الگ پروٹوکول ہیں

سرکاری SingLinkVPN ایپس ہمارے پروڈکشن پروٹوکولز پر چلتی ہیں، جن میں SingLink 2.0 بھی شامل ہے۔ SingLink 2.0 کا بنیادی سورس کوڈ اس ریلیز کا حصہ نہیں ہے اور بند ہی رہے گا۔

آج شائع ہونے والا SingLink پروٹوکول — جسے SingLink 2.0 سے الگ پہچاننے کی ضرورت ہو تو SingLink اوپن پروٹوکول کہا جاتا ہے — ایک الگ پروٹوکول ہے جسے SingLinkLabs نے کھلی ترقی کے لیے بالکل نئے سرے سے ڈیزائن کیا ہے۔ سرکاری ایپس فی الحال اسے استعمال نہیں کرتیں۔ موجودہ صارفین کے لیے کچھ نہیں بدلتا: وہی ایپس، وہی اکاؤنٹ اور وہی کنکشن۔

ہم اسے اوپن سورس کیوں کر رہے ہیں

  • سکیورٹی کے دعوے قابلِ جانچ ہونے چاہئیں۔ پوسٹ کوانٹم کی ایکسچینج، ڈیوائس بائنڈنگ اور پروبنگ سے بچاؤ کا دعویٰ کرنا آسان ہے۔ کوڈ اور اسپیسیفکیشن عوامی ہونے سے کوئی بھی ان دعووں کی تصدیق کر سکتا ہے۔
  • زیادہ نظریں، مسائل کی جلد نشاندہی۔ بیرونی محققین اور انجینئرز وہ مسائل دیکھ لیں گے جو کسی اندرونی ٹیم سے رہ جاتے ہیں۔
  • دوسرے اس پر تعمیر کر سکتے ہیں۔ ڈویلپرز اسے ٹیسٹ کر سکتے ہیں، اپنے پروجیکٹس میں شامل کر سکتے ہیں اور بہتری کی تجاویز دے سکتے ہیں۔
  • یہ ہمارے منصوبے پر عمل ہے۔ پروٹوکول شائع کرنا ان مراحل میں سے ایک تھا جن کا ہم نے وعدہ کیا تھا۔

یہ کیسے کام کرتا ہے، آسان الفاظ میں

بنیادی خیال ایک جملے میں: باہر سے دیکھنے پر صارف بس ایک عام HTTPS ویب سائٹ کھول رہا ہوتا ہے۔ اس کے اندر رسائی کی ایک خفیہ کردہ درخواست چھپی ہوتی ہے، اور سرور صرف اسی کا ٹریفک آگے بھیجتا ہے جس کے پاس درست پاس ہو۔

ڈیزائن میں تین کلیدیں استعمال ہوتی ہیں۔ اسے کسی دفتری عمارت کی سکیورٹی کی طرح سمجھیں:

  • نوڈ کلید، یعنی دروازے کا تالا۔ ہر سرور کی اپنی کلید ہوتی ہے۔ صرف وہی سرور صارف کی درخواست کھول سکتا ہے، جس سے یہ بھی ثابت ہوتا ہے کہ صارف اصل سرور تک پہنچا ہے۔
  • اجرا کنندہ کلید، یعنی HR شعبے کی مہر۔ یہ اکاؤنٹ بیک اینڈ کے پاس رہتی ہے، جو ہر رسائی پاس پر پلان، میعاد ختم ہونے کی تاریخ، اسپیڈ کی حد اور ڈیوائسز کی حد کی مہر لگاتا ہے۔
  • ڈیوائس کلید، یعنی صارف کا فنگر پرنٹ۔ یہ صارف کے فون یا کمپیوٹر پر رہتی ہے اور ہر کنکشن پر دستخط کرتی ہے، جس سے ثابت ہوتا ہے کہ پاس اس کا جائز مالک ہی استعمال کر رہا ہے۔

کسی پاس کو خود جانچنے کے لیے سرور کو بس یہ معلوم ہونا چاہیے کہ مہر کیسی دکھتی ہے۔ اسی لیے نوڈز نہ کوئی صارف ڈیٹابیس رکھتے ہیں اور نہ کوئی صارف ڈیٹا محفوظ کرتے ہیں۔

ایک کنکشن کے دوران کیا ہوتا ہے

  1. ایپ کسی ویب سائٹ سے بظاہر ایک عام HTTPS کنکشن کھولتی ہے۔
  2. اس کے پہلے پیکٹ میں اس کنکشن کے لیے ایک بار استعمال ہونے والی کلید، ایک پوسٹ کوانٹم سائفر ٹیکسٹ، اور ایک سیل شدہ حصہ ہوتا ہے جس میں منزل، رسائی پاس، اصل ڈیٹا کے پہلے 8 KB تک، اور پوری درخواست پر ڈیوائس کا دستخط شامل ہوتا ہے۔ کسی اضافی راؤنڈ ٹرپ کی ضرورت نہیں پڑتی۔
  3. سرور ہر چیز جانچتا ہے: کہ وہ درخواست کو ڈکرپٹ کر سکتا ہے، کہ مہر اصلی ہے، کہ ڈیوائس کا دستخط میل کھاتا ہے، کہ وقت درست ہے، اور کہ درخواست دہرائی ہوئی نہیں ہے اور نہ ہی اس کی میعاد ختم ہوئی ہے یا اسے منسوخ کیا گیا ہے۔
  4. صرف تمام جانچیں کامیاب ہونے پر ہی وہ جواب دیتا ہے اور ٹریفک آگے بھیجنا شروع کرتا ہے۔ اگر کوئی بھی جانچ ناکام ہو جائے تو کنکشن بغیر کسی چھیڑ چھاڑ کے ایک اصل ویب سائٹ کے حوالے کر دیا جاتا ہے۔ سرور کو ٹٹولنے والے کو ہمیشہ صرف ایک عام ویب سائٹ نظر آتی ہے، وقت میں بھی کوئی فرق نہیں ہوتا۔
  5. دونوں فریق اپنی ایک بار استعمال ہونے والی کلیدوں کو ملا کر اس کنکشن کی سیشن کلیدیں بناتے ہیں۔ ڈیٹا ٹکڑوں میں انکرپٹ ہوتا ہے، ابتدائی ٹکڑوں میں پیڈنگ شامل کی جاتی ہے، اور ایک مقررہ حد تک استعمال کے بعد کلیدیں خود بخود بدل دی جاتی ہیں۔

سکیورٹی خصوصیات

  • انکرپشن کی دو تہیں۔ باہر HTTPS اور اندر پروٹوکول کی اپنی AES-256-GCM تہہ، تاکہ HTTPS کو ٹرمینیٹ کرنے والا CDN بھی مواد نہ دیکھ سکے۔
  • پوسٹ کوانٹم تحفظ۔ کی ایکسچینج میں کلاسیکی X25519 کو ML-KEM-768 (FIPS 203) کے ساتھ ملایا گیا ہے۔ حملہ آور کو دونوں کو توڑنا ہوگا۔
  • فارورڈ سیکریسی۔ ہر کنکشن ایک بار استعمال ہونے والی کلیدیں استعمال کرتا ہے، اس لیے اگر بعد میں کوئی سرور ہیک بھی ہو جائے تو پچھلا ٹریفک ڈکرپٹ نہیں کیا جا سکتا۔ استثنا پہلا پیکٹ ہے (نیچے دی گئی حدود دیکھیں)۔
  • ڈیوائس بائنڈنگ۔ کہیں سے کاپی کیا گیا رسائی پاس اس ڈیوائس کلید کے بغیر بے کار ہے جس کے لیے وہ جاری ہوا تھا۔
  • ری پلے سے تحفظ۔ پکڑے گئے پیکٹ کو دوبارہ بھیجنے سے کچھ حاصل نہیں ہوتا، سرور ری اسٹارٹ ہونے کے بعد بھی نہیں۔
  • پروبنگ سے بچاؤ۔ میعاد ختم، منسوخ شدہ، دہرائی گئی یا جعلی، سب درخواستوں کے ساتھ ایک جیسا سلوک ہوتا ہے: انہیں اصل ویب سائٹ کے حوالے کر دیا جاتا ہے۔
  • مرکزی کنٹرول۔ جب کوئی اکاؤنٹ یا ڈیوائس منسوخ کی جاتی ہے تو ہر سرور پر اس کے جاری کنکشن تقریباً 10 سیکنڈ کے اندر بند ہو جاتے ہیں۔
  • مضبوط بنائے گئے سرورز۔ ہر سرور اور ہر IP کے لیے کنکشن کی حدیں، ہینڈ شیک کے لیے CPU بجٹ، اور نجی اور خصوصی مقصد کے پتوں کی مکمل بلاک لسٹ۔

یہ خیالات کہاں سے آئے

SingLink پروٹوکول آزمودہ ڈیزائنوں سے سیکھتا ہے: VLESS اور Trojan سے ایک ہی درخواست والے کنکشن، Trojan اور obfs4 سے ناکام کنکشنز کو اصل ویب سائٹ کے حوالے کرنا، Noise NK ہینڈ شیک پیٹرن، TLS 1.3 سے کی ڈیریویشن اور 0-RTT کا طریقہ، X-Wing ڈرافٹ اسٹینڈرڈ سے ہائبرڈ پوسٹ کوانٹم کی ایکسچینج، Shadowsocks AEAD سے ٹکڑوں میں انکرپشن، JWT اور PASETO سے دستخط شدہ ٹوکن، OAuth DPoP سے ڈیوائس سے منسلک ٹوکن، HAProxy PROXY protocol، اور WireGuard سے ری پلے اور لوڈ سے تحفظ۔

یہ صرف ڈیزائن کے خیالات ہیں۔ تمام کوڈ نئے سرے سے لکھا گیا ہے۔ Xray، V2Ray، sing-box یا WireGuard کا کوئی بھی کوڈ اس میں شامل نہیں ہے۔

موجودہ صورتحال اور معلوم حدود

  • یہ ایک ڈرافٹ ہے۔ ورژن 1.0.0-draft ہے اور وائر فارمیٹ اب بھی بدل سکتا ہے۔
  • اب تک صرف اندرونی سکیورٹی جائزہ۔ دو جائزہ کاروں نے کرپٹوگرافک ڈیزائن اور اس کے نفاذ کو الگ الگ جانچا اور 31 نتائج درج کیے: 2 اعلیٰ درجے کے، 14 درمیانے درجے کے، اور باقی کم درجے کے یا محض معلوماتی۔ ان میں سے کسی نے بھی صارف کے ٹریفک کی رازداری یا تصدیق کو نہیں توڑا۔ تمام اعلیٰ اور درمیانے درجے کے نتائج درست کر دیے گئے ہیں یا ان کا اثر کم کر دیا گیا ہے، ہر ایک کے لیے ریگریشن ٹیسٹ موجود ہے، اور ہر پارسر fuzz ٹیسٹس سے کور ہے۔
  • ابھی تک کوئی تھرڈ پارٹی آڈٹ نہیں۔ ہماری سفارش ہے کہ جب تک آزادانہ آڈٹ نہ ہو جائے، زیادہ خطرے والے استعمال کے لیے اس پروٹوکول پر انحصار نہ کریں۔ اسے مستحکم قرار دینے سے پہلے ہم ایسا آڈٹ کروانے کا ارادہ رکھتے ہیں۔
  • پہلا پیکٹ فارورڈ سیکریسی سے محفوظ نہیں۔ یہ سرور کی طویل مدتی کلید سے محفوظ ہوتا ہے، اس لیے سرور کلیدیں باقاعدگی سے تبدیل کی جانی چاہئیں۔ کلیدوں کی تبدیلی کی سہولت موجود ہے۔
  • مین لینڈ چین میں عملی طور پر آزمایا نہیں گیا۔ اس کا TLS فنگر پرنٹ اور پہلے پیکٹ کا سائز اب بھی پہچانے جا سکتے ہیں۔ مین لینڈ چین کے صارفین کے لیے سرکاری SingLinkVPN ایپس ہمارے موجودہ پروڈکشن پروٹوکولز ہی استعمال کرتی رہیں گی۔
  • سرور کے لیے اس کا اپنا ڈومین ضروری ہے، ساتھ ہی ایسا سرٹیفکیٹ جسے براؤزر قبول کریں اور اس کے پیچھے ایک اصل ویب سائٹ۔

آزمائیں اور حصہ لیں

Go 1.24 یا اس کے بعد کے ورژن کے ساتھ، make test ٹیسٹ سوٹ چلاتا ہے، make cli کمانڈ لائن ٹول بناتا ہے، اور singlink demo ایک ہی مشین پر لوکل سرور اور کلائنٹ شروع کرتا ہے۔ ریپوزٹری کی README میں سرور چلانے کا طریقہ بتایا گیا ہے۔

GitHub پر سوالات، بگ رپورٹس اور Pull Request کا خیرمقدم ہے۔ براہِ کرم سکیورٹی کمزوریوں کی اطلاع کسی عوامی Issue میں نہیں بلکہ نجی طور پر دیں — طریقہ کار SECURITY.md میں درج ہے۔

لائسنس اور ٹریڈ مارکس

کوڈ Apache-2.0 کے تحت لائسنس یافتہ ہے: لائسنس کی شرائط کے مطابق آپ اسے استعمال کر سکتے ہیں، اس میں ترمیم کر سکتے ہیں اور اسے دوبارہ تقسیم کر سکتے ہیں، تجارتی طور پر بھی۔ "SingLink" اور "SingLinkVPN" نام اور لوگو SingLinkLabs کے ٹریڈ مارکس ہیں، اور لائسنس ان کے استعمال کی اجازت نہیں دیتا، سوائے یہ بتانے کے کہ کام کہاں سے آیا ہے۔ ترمیم شدہ ورژنز اور فورکس کو اپنے نام اور آئیکن کے ساتھ شائع کیا جانا چاہیے۔

مزید مطالعہ

Related articles