SingLinkVPN ایپ کا پروٹوٹائپ اب اوپن سورس ہے

Contents
آج SingLinkVPN کے پیچھے کام کرنے والی ٹیم SingLinkLabs نے SingLinkVPN ایپ کے پہلی نسل کے پروٹوٹائپ کا سورس کوڈ Apache-2.0 لائسنس کے تحت GitHub پر شائع کر دیا ہے۔ یہ Windows، macOS، Android اور iOS کے لیے عام صارفین جیسی ایک VPN ایپ ہے، جو ایک ہی کوڈ بیس سے، حال ہی میں اوپن سورس کیے گئے SingLink پروٹوکول پر بنائی گئی ہے۔
اسے خود پروٹوکول کے ساتھ ہی جاری کیا گیا ہے — دیکھیے SingLink پروٹوکول اب اوپن سورس ہے۔ دونوں مل کر دکھاتے ہیں کہ ایک اوپن VPN پروٹوکول اور ایک مکمل کلائنٹ کیسے ایک دوسرے سے جڑتے ہیں، کنیکٹ بٹن سے لے کر انکرپٹڈ پیکٹس تک۔
ریپوزٹری: SingLinkLabs / singlink-vpn-app · حیثیت: پہلی نسل کا پروٹوٹائپ · لائسنس: Apache-2.0 · ٹیکنالوجی: انٹرفیس کے لیے Flutter (Dart)، کور کے لیے Go
یہ وہ ایپ نہیں جو آپ ہماری ویب سائٹ سے ڈاؤن لوڈ کرتے ہیں
سرکاری SingLinkVPN ایپس، جو آپ ہماری ویب سائٹ سے ڈاؤن لوڈ کرتے ہیں یا ایپ اسٹورز سے حاصل کرتے ہیں، الگ پروڈکٹس ہیں۔ وہ ہمارے پروڈکشن پروٹوکولز پر چلتی ہیں، جن میں SingLink 2.0 بھی شامل ہے، اور ان کا بنیادی سورس کوڈ اس ریلیز کا حصہ نہیں ہے۔ موجودہ صارفین کے لیے کچھ نہیں بدلتا۔
یہ پروٹوٹائپ اوپن SingLink پروٹوکول کا ایک ریفرنس کلائنٹ ہے۔ یہ صرف انہی سرورز سے جڑتا ہے جو یہ پروٹوکول استعمال کرتے ہیں، اور اس میں اکاؤنٹ سائن اِن نہیں ہے: سرورز آپ خود شامل کرتے ہیں، سرور لنک پیسٹ کر کے یا کلپ بورڈ سے امپورٹ کر کے۔ یہ کسی بھی ایپ اسٹور پر شائع نہیں کی گئی۔
ایپ کیا کرتی ہے
- ایک ٹیپ میں کنیکٹ اور ڈس کنیکٹ، ایک بڑے گول بٹن کے ذریعے جو تین حالتیں دکھاتا ہے: منسلک نہیں، منسلک ہو رہا ہے اور منسلک۔
- تحفظ کی حالت ("Not protected" یا "Protected") اور کنکشن ٹائمر۔
- آپ کا IP: کنیکٹ ہونے کے بعد ایپ وہ ایگزٹ IP ایڈریس دکھاتی ہے جو ویب سائٹس کو نظر آتا ہے۔
- مقام منتخب کریں: سرورز ملکوں کے جھنڈوں کے ساتھ فہرست میں ہوتے ہیں اور سب سے اوپر "Quick connect (auto)" ہوتا ہے۔ کنکشن کے دوران مقام بدلنے پر ایپ خود بخود دوبارہ کنیکٹ ہو جاتی ہے۔
- دیانت دار لیٹنسی: صرف ناپی گئی قدریں دکھائی جاتی ہیں۔ جن سرورز کو ابھی ناپا نہیں گیا، ان کے لیے کوئی گھڑا ہوا عدد نہیں بلکہ "—" دکھایا جاتا ہے۔
- لائیو اسپیڈ: ڈاؤن لوڈ اور اپ لوڈ کی رفتار، نیز موجودہ سیشن میں استعمال ہونے والا ڈیٹا۔
- واضح ایرر پیغامات جو بتاتے ہیں کہ آگے کیا کرنا ہے، اور تکنیکی تفصیلات بس ایک ٹیپ کی دوری پر۔
- لائٹ اور ڈارک موڈ، سسٹم سیٹنگ کے مطابق۔
کنکشن کے دو موڈ
فونز پر، پوری ڈیوائس کے لیے VPN۔ Android سسٹم کی VpnService استعمال کرتا ہے اور iOS ایک Network Extension۔ تمام ایپس کا ٹریفک ٹنل سے گزرتا ہے، اور DNS لُک اپ بھی اسی کے اندر ہوتے ہیں۔
کمپیوٹرز پر، سسٹم پراکسی موڈ۔ کنیکٹ کرنے پر ایپ سسٹم پراکسی سیٹ کرتی ہے، اور ڈس کنیکٹ کرنے یا ایپ بند کرنے پر آپ کی پچھلی سیٹنگز بحال کر دیتی ہے۔ اگر کنکشن کے دوران ایپ کو زبردستی بند کر دیا جائے تو اگلی بار شروع ہونے پر وہ انہیں بحال کر دیتی ہے۔ براؤزرز اور زیادہ تر ایپس سسٹم پراکسی کی پیروی کرتی ہیں؛ پراکسی سیٹنگز کو نظرانداز کرنے والے چند پروگرام ایسا نہیں کرتے۔ ڈیسک ٹاپ کے لیے پیکٹ کی سطح کا VPN (macOS پر Network Extension، Windows پر Wintun) اگلا منصوبہ بند قدم ہے۔
اسے کیسے بنایا گیا ہے
- ایک ہی Flutter کوڈ بیس سے چاروں ایپس بنتی ہیں، ہر پلیٹ فارم پر ایک جیسے انٹرفیس کے ساتھ۔ انٹرفیس انگریزی میں ہے۔
- ایک Go کور میں SingLink پروٹوکول موجود ہے، جسے ہر پلیٹ فارم کے لیے ایک نیٹو لائبریری میں کمپائل کیا جاتا ہے اور ایپ اسے براہِ راست کال کرتی ہے۔
- فونز پر، کور میں Google کا gVisor یوزر اسپیس نیٹ ورک اسٹیک (Apache-2.0) شامل کیا جاتا ہے، جو پوری ڈیوائس کے ٹریفک کو SingLink کنکشنز میں بدل دیتا ہے۔
- نئے سرے سے لکھی گئی۔ نئے پروجیکٹ کے لیے Flutter جو خالی ٹیمپلیٹ بناتا ہے، اس کے علاوہ تمام کوڈ نیا ہے۔ کسی دوسری VPN ایپ سے کوئی کوڈ، آئیکن یا تصویر نہیں لی گئی۔
ہر پلیٹ فارم کی موجودہ صورتحال
- macOS 13 یا بعد کا (Apple silicon): سسٹم پراکسی موڈ۔ بلڈ کیا گیا اور حقیقی کنکشن کے ساتھ ٹیسٹ کیا گیا۔
- Android 7 یا بعد کا: پوری ڈیوائس کے لیے VPN۔ APK بلڈ ہو چکا ہے اور Android ایمولیٹر پر حقیقی کنکشن کے ساتھ ٹیسٹ کیا گیا۔
- iOS 15 یا بعد کا: پوری ڈیوائس کے لیے VPN۔ یہ iOS سمیولیٹر میں بلڈ ہوتی اور چلتی ہے؛ سمیولیٹر VPN ٹنل نہیں بنا سکتا، اور حقیقی iPhone پر چلانے کے لیے Apple Developer اکاؤنٹ درکار ہے۔
- Windows 10 اور 11 (x64): سسٹم پراکسی موڈ۔ کور لائبریری بلڈ ہو چکی ہے؛ ایپ کو Windows پر ہی کمپائل کرنا ضروری ہے، اور ریپوزٹری میں ایک GitHub Actions ورک فلو شامل ہے جو یہ کام کرتا ہے۔
حقیقی حدود
- یہ ایک پروٹوٹائپ ہے۔ یہ ڈویلپرز، محققین اور ہر اس شخص کے لیے ہے جو دیکھنا چاہتا ہے کہ یہ حصے کیسے کام کرتے ہیں؛ یہ سرکاری ایپس کا متبادل نہیں ہے۔
- تقسیم کے لیے اضافی مراحل درکار ہیں۔ Mac پر عوامی ریلیز کے لیے Apple سائننگ اور نوٹرائزیشن درکار ہے، حقیقی iPhone کے لیے Apple Developer اکاؤنٹ چاہیے، اور Android بلڈز ایک ٹیسٹ کلید سے سائن کیے گئے ہیں۔
- macOS سپورٹ کا مطلب فی الحال Apple silicon (M-series) والے Mac پر macOS 13 یا بعد کا ورژن ہے۔
- ڈیسک ٹاپ سسٹم پراکسی موڈ استعمال کرتا ہے، اس لیے پراکسی سیٹنگز کو نظرانداز کرنے والے پروگرام ابھی اس میں شامل نہیں۔
- اس کے نیچے کا پروٹوکول ایک ڈرافٹ ہے۔ اس کا اندرونی سکیورٹی جائزہ ہوا ہے لیکن ابھی تک کوئی تھرڈ پارٹی آڈٹ نہیں ہوا، اور اسے مین لینڈ چین میں عملی طور پر آزمایا نہیں گیا۔
- سرورز کے نام ویسے ہی دکھائے جاتے ہیں جیسے سرور انہیں بھیجتا ہے۔ مکمل انگریزی انٹرفیس کے لیے سرورز کے نام انگریزی میں رکھیں۔
بلڈ کریں اور حصہ لیں
ریپوزٹری کی README میں ہر پلیٹ فارم کے لیے کور اور ایپ بلڈ کرنے کا طریقہ بتایا گیا ہے۔ پروٹوکول کور اپنی الگ ریپوزٹری SingLinkLabs / singlink-protocol میں ہے۔
GitHub پر سوالات، بگ رپورٹس اور Pull Request کا خیرمقدم ہے۔ براہِ کرم سکیورٹی کمزوریوں کی اطلاع کسی عوامی Issue کے بجائے نجی طور پر دیں — طریقہ کار پروٹوکول ریپوزٹری کی SECURITY.md میں بیان کیا گیا ہے۔
لائسنس اور ٹریڈ مارکس
کوڈ Apache-2.0 کے تحت لائسنس یافتہ ہے: لائسنس کی شرائط کے مطابق آپ اسے استعمال کر سکتے ہیں، اس میں ترمیم کر سکتے ہیں اور اسے دوبارہ تقسیم کر سکتے ہیں، تجارتی طور پر بھی۔ "SingLink" اور "SingLinkVPN" نام، ان کے چینی نام اور لوگو SingLinkLabs کے ٹریڈ مارکس ہیں، اور لائسنس ان کے استعمال کی اجازت نہیں دیتا۔ فورکس کو اپنا نام اور آئیکن استعمال کرنا ہوگا۔ ایپ میں gVisor نیٹ ورک اسٹیک شامل ہے، جو بھی Apache-2.0 کے تحت لائسنس یافتہ ہے۔
مزید مطالعہ
- SingLink پروٹوکول اب اوپن سورس ہے
- SingLinkLabs کے اوپن سورس پروجیکٹس
- SingLink 2.0 تکنیکی وائٹ پیپر، سرکاری ایپس کا پروڈکشن پروٹوکول
- سرکاری SingLinkVPN ایپس ڈاؤن لوڈ کریں

