
warpgate v0.30.0
ممرّ/بوابة (Bastion/PAM) شفّاف بالكامل لـ SSH وHTTPS وKubernetes وقواعد البيانات وRDP/VNC، لا يتطلّب أي برامج إضافية على جانب العميل
Warpgate هو مضيف وسيط (bastion host) ذكي وشفاف تمامًا لـ SSH وHTTPS وKubernetes وMySQL وPostgreSQL وRDP وVNC، ولا يتطلب تطبيق عميل أو غلافًا (wrapper) لـ SSH.
- ثبّته في منطقة DMZ الخاصة بك، وأضف حسابات المستخدمين وعيّنهم بسهولة إلى مضيفين وعناوين URL محددة داخل الشبكة.
- سيسجّل Warpgate كل جلسة لتعرضها (مباشرة) وتعيد تشغيلها لاحقًا عبر واجهة ويب إدارية مدمجة.
- الوصول إلى SSH وRDP وVNC عبر المتصفح مدمج؛ وتستمر العملاء الأصلية في العمل.
- ليس مضيف قفز (jump host) - بل يمرّر الاتصال مباشرة إلى الهدف بطريقة شفافة تمامًا للعميل.
- دعم أصلي للمصادقة الثنائية (2FA) والدخول الموحّد (SSO) (TOTP وOpenID Connect)
- حماية مدمجة من هجمات القوة الغاشمة مع حظر عناوين IP وقفل حسابات المستخدمين
- ملف تنفيذي واحد بدون أي تبعيات.
- مكتوب بلغة Rust آمنة 100%.
بدعم من:
البدء والتنزيلات
- راجع صفحة الوثائق Getting started (أو Getting started on Docker).
- ملفات الإصدار / النسخة التجريبية
- النسخ الليلية (Nightly builds)
الوثائق
الوثائق الكاملة متاحة على warpgate.null.page، وتشمل:
- Login Protection - تهيئة الحماية من هجمات القوة الغاشمة
- SSO - الدخول الموحّد باستخدام OpenID Connect
- Tickets - بيانات اعتماد وصول مؤقتة
كيف يختلف Warpgate عن مضيف القفز / VPN / Teleport؟
| Warpgate | SSH jump host | VPN | Teleport |
|---|---|---|---|
| ✅ تعيين دقيق 1:1 بين المستخدمين والخدمات | (عادةً) وصول كامل إلى الشبكة خلف مضيف القفز | (عادةً) وصول كامل إلى الشبكة | ✅ تعيين دقيق 1:1 بين المستخدمين والخدمات |
| ✅ لا حاجة إلى عميل مخصص | يلزم إعداد مضيف القفز | ✅ لا حاجة إلى عميل مخصص | يلزم عميل مخصص |
| ✅ مصادقة ثنائية (2FA) جاهزة للاستخدام | 🟡 المصادقة الثنائية ممكنة مع إضافات PAM إضافية | 🟡 يعتمد على المزوّد | ✅ مصادقة ثنائية (2FA) جاهزة للاستخدام |
| ✅ تسجيل دخول موحّد (SSO) جاهز للاستخدام | 🟡 تسجيل الدخول الموحّد ممكن مع إضافات PAM إضافية | 🟡 يعتمد على المزوّد | مدفوع |
| ✅ تدقيق على مستوى الأوامر | 🟡 تدقيق على مستوى الاتصال على مضيف القفز، دون تدقيق آمن على الهدف في حال منح صلاحيات الجذر | لا يوجد تدقيق آمن على الهدف في حال منح صلاحيات الجذر | ✅ تدقيق على مستوى الأوامر |
| ✅ تسجيل كامل للجلسات | لا يمكن التسجيل الآمن على الهدف في حال منح صلاحيات الجذر | لا يمكن التسجيل الآمن على الهدف في حال منح صلاحيات الجذر | ✅ تسجيل كامل للجلسات |
| ✅ اتصالات غير تفاعلية | 🟡 الاتصالات غير التفاعلية ممكنة إذا كان العميل يدعم مضيفات القفز أصلاً | ✅ اتصالات غير تفاعلية | تتطلب الاتصالات غير التفاعلية استخدام غلاف لعميل SSH أو تشغيل نفق |
| ✅ استضافة ذاتية، أنت تملك البيانات | ✅ استضافة ذاتية، أنت تملك البيانات | 🟡 يعتمد على المزوّد | SaaS |
| ✅ حماية مدمجة ضد القوة الغاشمة | 🟡 يتطلب إعداد fail2ban | 🟡 يعتمد على المزوّد | ✅ حماية مدمجة ضد القوة الغاشمة |
|
|
|
الإبلاغ عن المشكلات الأمنية
يُرجى استخدام نظام الإبلاغ عن الثغرات الخاص بـ GitHub.
حالة المشروع
يُستخدم Warpgate بنشاط في بيئات المؤسسات.
ما هو مخطط له والعمل الجاري عليه لاحقًا مُتتبَّع على خارطة الطريق العامة.
كيف يعمل
Warpgate هو خدمة تنشرها على مضيف الباستيون/DMZ، والتي ستقبل اتصالات SSH وHTTPS وKubernetes وMySQL وPostgreSQL وRDP وVNC وتوفّر واجهة إدارة ويب (اختيارية).
شغّل warpgate setup لإنشاء ملف إعدادات تفاعليًا، بما في ذلك ارتباطات المنافذ. راجع البدء للتفاصيل.
يستقبل الاتصالات ببيانات اعتماد منسّقة بشكل محدد، ويصادق على المستخدم محليًا، ويتصل بالهدف نفسه، ثم يربط الطرفين معًا مع (اختياريًا) تسجيل الجلسة.
عند الاتصال عبر HTTPS، يعرض Warpgate مجموعة من الأهداف المتاحة، ثم يوجّه كل حركة المرور في الجلسة إلى الهدف المحدد. يمكنك التبديل بين الأهداف في أي وقت.
تدير قوائم الأهداف والمستخدمين وتُسنِدها إلى بعضها البعض عبر واجهة الإدارة، ويُخزَّن سجل الجلسات في قاعدة بيانات SQLite (افتراضيًا: في /var/lib/warpgate).
يمكنك أيضًا استخدام واجهة الإدارة على الويب لعرض قائمة الجلسات المباشرة، ومراجعة تسجيلات الجلسات والسجلات والمزيد.
إفصاح الشفافية بشأن الذكاء الاصطناعي
في أواخر عام 2025، بدأ هذا المشروع في قبول المساهمات المدعومة بالذكاء الاصطناعي. يُلزَم المساهمون بالإفصاح عن استخدام الذكاء الاصطناعي. أعتقد أنه من خلال تطبيق نفس معيار الجودة العالي على جميع طلبات السحب (PRs)، سواء كانت مدعومة بالذكاء الاصطناعي أم لا، لا حاجة للتضحية بالجودة أو الأمان.
بما أن الذكاء الاصطناعي طيف يمتد بين هواة "vibe" عديمي الجدوى ومستخدمي الإكمال التلقائي، أعتقد أن الشفافية بشأن استخدامه تساعد في ترسيخ وتحديد مكانة الذكاء الاصطناعي في هذا المشروع.
تُتخذ القرارات المعمارية والأمنية في هذا المشروع بشريًا بنسبة 100%.
المساهمة / البناء من المصدر
- ستحتاج إلى Rust وNodeJS وNPM
- استنسخ المستودع
- يُستخدم Just لتشغيل المهام - ثبّته:
cargo install just - ثبّت تبعيات واجهة الإدارة:
just npm install - ابنِ الواجهة الأمامية:
just npm run build - ابنِ Warpgate:
cargo build(اختياريًا--release)
الملف التنفيذي موجود في target/{debug|release}.
حزمة التقنيات
- Rust 🦀
- HTTP:
poem-web - قاعدة البيانات: SQLite عبر
sea-orm+sqlx - SSH:
russh
- HTTP:
- Typescript
- Svelte 5
- Bootstrap