عن المشروع
stab هي أداة نفق TCP حديثة، بسيطة، صغيرة الحجم وعالية الأداء، مصممة لكشف المنافذ المحلية بسهولة على خادم بعيد. مكتوبة بلغة Rust، وتوفر طريقتين للاستخدام: سطر الأوامر وملف التكوين، كما تدعم التضمين في برامج أخرى.
تشمل الميزات الرئيسية:
- أداء عالٍ
- فحص نبضات القلب
- إحصاءات حركة المرور
- صفحة إدارة ويب تدعم قطع الاتصال يدويًا
- كشف منافذ محلية متعددة في وقت واحد
- إعادة الاتصال التلقائي عند انقطاع الاتصال (قابل للتكوين)
- واجهة IPC محلية: يمكن تشغيلها من برامج أخرى دون تكوين وإرسال التكوين ديناميكيًا
طرق التثبيت:
- التثبيت عبر cargo: `cargo install stab`
- تنزيل ملفات ثنائية جاهزة من GitHub Releases
طرق الاستخدام:
1. تشغيل الخادم على المضيف البعيد: `stab server`، منفذ التحكم الافتراضي 5656، منفذ إدارة الويب 3400. يمكن تعديل المنافذ، وتحديد نطاق منافذ البيانات، وضبط حجم تجمع الاتصالات.
2. إنشاء نفق محليًا: `stab local -l 8000=server.com`، لتعيين منفذ محلي إلى خادم بعيد، ويمكن تخصيص المنفذ البعيد تلقائيًا أو تحديده.
3. يدعم ضبط جميع المعلمات عبر ملف التكوين (TOML)، مع أولوية لمعلمات سطر الأوامر.
4. يدعم المصادقة بمفتاح مشترك لمنع إساءة الاستخدام.
5. يمكن تعيين كلمة مرور لحماية صفحة إدارة الويب.
التضمين في برامج أخرى:
- التشغيل عبر `stab local --api`، واستخدام أنبوب مسمّى (Windows) أو Unix Domain Socket لتوفير واجهة IPC.
- البروتوكول عبارة عن إطارات JSON مسبوقة بالطول، ويدعم طرق ping وget_status وset_config وadd_link وremove_link وlist_links وclear_links وshutdown وغيرها.
- يمكن للعملية المضيفة إضافة/إزالة الأنفاق ديناميكيًا، وتحديث التكوين، والحصول على الحالة.
مثال على ملف التكوين:
- الخادم `server.toml`: ضبط الوضع، المنفذ، المفتاح، السجلات، منفذ الويب، نطاق المنافذ، حجم تجمع الاتصالات، إلخ.
- المحلي `local.toml`: ضبط الوضع، المنفذ، المفتاح، السجلات، المضيف البعيد الافتراضي، استراتيجية إعادة الاتصال، قائمة الأنفاق، إلخ.
نظرة عامة على معلمات سطر الأوامر:
- `server` / `local`: وضع التشغيل
- `-f, --file`: مسار ملف التكوين
- `-c, --control-port`: منفذ التحكم
- `-s, --secret`: مفتاح النفق
- `--log`: مستوى السجل
- `--log-path`: دليل السجلات
- `-l, --link`: تعيين النفق
- `--api`: تمكين واجهة IPC
- `--api-path`: مسار IPC
- `--api-token`: رمز IPC
- `-w, --web-port`: منفذ إدارة الويب
- `-p, --port-range`: نطاق منافذ البيانات
- `--pool-size`: حجم تجمع الاتصالات
يوفر المشروع وثائق باللغتين الصينية والإنجليزية، وهو مناسب للمطورين وموظفي العمليات الذين يحتاجون إلى كشف الخدمات المحلية بسرعة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.