عن المشروع
Eternal Terminal (ET) هو نظام خادم-عميل لصدفة طرفية عن بعد يتحمل انقطاعات الشبكة. على عكس SSH العادي، عند انقطاع الاتصال، يعيد الاتصال تلقائيًا ويستعيد الجلسة بالضبط حيث توقف المستخدم — دون أوامر متقطعة أو مخرجات مفقودة.
### كيف يعمل
يستخدم ET ثلاثة مكونات:
- **`et`** (العميل): يعمل على الجهاز المحلي. يصادق عبر SSH، ثم يتحول إلى اتصال ET دائم عبر منفذ TCP 2022.
- **`etserver`** (خادم الخلفية): يعمل كخدمة نظام (عادة بإدارة الجذر) على المضيف البعيد. يقبل اتصالات العملاء ويوجهها إلى جلسة المستخدم الصحيحة.
- **`etterminal`** (مساعد جانب الخادم): يُطلق بواسطة `et` عبر SSH. يستضيف جلسة الطرفية الفعلية ويسجل مع `etserver` عبر FIFO.
### الميزات الرئيسية
- **إعادة الاتصال التلقائي**: انقطاعات الشبكة، أو انتقالات WiFi، أو انقطاع VPN لا تقتل جلستك.
- **مصادقة قائمة على SSH**: يستفيد من مفاتيح SSH الحالية والإعدادات للمصادقة الآمنة.
- **إعادة توجيه المنافذ**: يدعم علامة `-t` لإعادة توجيه المنافذ المحلية والبعيدة.
- **دعم المضيف الوسيط**: الاتصال عبر مضيفات وسيطة باستخدام `--jumphost` و `--jport`.
- **مضاعف HTM**: مضاعف طرفية مدمج (`htm`) يدعم النوافذ الأصلية والتبويبات والتقسيم في محاكيات الطرفية المتوافقة، ويتكامل مع وضع تحكم tmux.
- **قابل للتكوين**: إعدادات الخادم موجودة في `/etc/et.cfg` (المنفذ، عنوان الربط، إلخ).
### التثبيت
حزم مُعدة مسبقًا متاحة لـ macOS (Homebrew، MacPorts)، Ubuntu/Debian (PPA ومستودع deb الرسمي)، Fedora، CentOS 8+، FreeBSD، openSUSE، و NixOS. Windows مدعوم عبر WSL. كما توثق عمليات البناء من المصدر لـ Debian/Ubuntu و CentOS 7 و macOS.
### الاستخدام
```bash
et hostname # المنفذ الافتراضي 2022، اسم المستخدم الحالي
et user@hostname:8000 # منفذ مخصص
et hostname --jumphost jump # عبر مضيف وسيط
```
يقرأ ET ملفات إعدادات SSH الخاصة بالمستخدم والنظام-wide؛ مرر `--ssh-config` مع مسار مطلق لعزل إعدادات SSH المحيطة، أو `--no-ssh-config` لتعطيلها تمامًا.
### وثائق البروتوكول
وثائق مفصلة للبروتوكول وتصميم HTM متاحة في المستودع تحت `docs/`.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.