عن المشروع

tailscaled-rs هو برنامج خفي نظامي مستقل مكتوب من الصفر بلغة Rust، مصمم للانضمام إلى شبكات WireGuard المتداخلة عبر تنفيذ بروتوكول تحكم Tailscale. بُني فوق مكتبة المحرك القابلة للتضمين `tailscale-rs`، ويوفر هذا المشروع طبقة البرنامج الخفي المفقودة: خدمة خلفية دائمة (`tailnetd`) تتميز بآلة حالة قابلة للتوفيق، وتفضيلات محفوظة، ومقبس تحكم محلي للتفاعل عبر واجهة سطر أوامر رفيعة (`tnet`). تشمل القدرات الرئيسية: - **الانضمام إلى الشبكة**: ينضم بشكل غير تفاعلي إلى شبكة tailnet حقيقية باستخدام مفاتيح ما قبل المصادقة، ويحصل على عنوان IP في tailnet ويؤسس الاتصال عبر روابط DERP المرحّلة. - **إدارة الحالة**: ينفذ آلة حالة بنمط IPN (NoState → NeedsLogin → Starting → Running) مستمدة من واقع المحرك الحي، مما يضمن عدم انحراف الحالة. تُحفظ التفضيلات مثل اسم المضيف وإعدادات التوجيه عبر عمليات إعادة التشغيل. - **التحكم المحلي**: يكشف LocalAPI عبر مقبس نطاق Unix، مما يسمح لواجهة `tnet` CLI بإدارة حالة العقدة، ورفع الاتصالات أو خفضها، وضبط السياسات مثل أسماء المضيفين وقبول المسارات في الوقت الفعلي دون إعادة الاتصال. - **تكامل النظام**: يدعم التثبيت كخدمة نظام على Linux (systemd) وmacOS (launchd)، مع التعامل مع بدء التشغيل عند الإقلاع والإنهاء النظيف لمسارات الشبكة عند الإيقاف. المشروع حالياً في مرحلة MVP تجريبية. يعمل افتراضياً في وضع الشبكات في مساحة المستخدم، مما يعني أنه لا يبرمج واجهات TUN في النواة أو يعدل DNS/التوجيه على مستوى نظام التشغيل مباشرة بعد؛ تصل التطبيقات إلى tailnet عبر netstack الخاص بالبرنامج الخفي. تشمل خطط الطريق المستقبلية دعم وضع TUN، وتسجيل الدخول التفاعلي عبر المتصفح، وتكامل MagicDNS، ووظائف عقدة الخروج، وميزات SSH/Serve. تنطبق تحذيرات مهمة: التشفير الأساسي غير مدقق، والبرنامج لا يقدم أي ضمانات استقرار. وهو غير تابع لشركة Tailscale Inc. ولا معتمد أو مدعوم منها. يجب على المستخدمين عدم الاعتماد عليه لخصوصية البيانات في بيئات الإنتاج حتى ينضج التطوير أكثر. المشروع مرخص بموجب BSD-3-Clause.