Sobre el proyecto
Eternal Terminal (ET) es un sistema cliente-servidor de shell remoto que sobrevive a interrupciones de red. A diferencia de SSH simple, cuando una conexión se cae, se reconecta automáticamente y restaura la sesión exactamente donde el usuario la dejó, sin comandos interrumpidos ni salida perdida.
### Cómo funciona
ET utiliza tres componentes:
- **`et`** (cliente): Se ejecuta en la máquina local. Autentica mediante SSH y luego cambia a una conexión ET persistente sobre el puerto TCP 2022.
- **`etserver`** (demonio del servidor): Se ejecuta como un servicio del sistema (normalmente gestionado por root) en el host remoto. Acepta conexiones de clientes y las enruta a la sesión de usuario correcta.
- **`etterminal`** (ayudante del lado del servidor): Lanzado por `et` a través de SSH. Aloja la sesión de terminal real y se registra con `etserver` mediante un FIFO.
### Características clave
- **Reconexión automática**: Los cortes de red, transiciones WiFi o caídas de VPN no matan tu sesión.
- **Autenticación basada en SSH**: Aprovecha las claves y configuraciones SSH existentes para una autenticación segura.
- **Reenvío de puertos**: Soporta la bandera `-t` para reenvío de puertos local y remoto.
- **Soporte de host de salto**: Conéctate a través de hosts intermedios con `--jumphost` y `--jport`.
- **Multiplexor HTM**: El multiplexor de terminal incluido (`htm`) soporta ventanas, pestañas y divisiones nativas en emuladores de terminal compatibles, integrándose con el modo de control de tmux.
- **Configurable**: La configuración del servidor vive en `/etc/et.cfg` (puerto, dirección de enlace, etc.).
### Instalación
Hay paquetes precompilados disponibles para macOS (Homebrew, MacPorts), Ubuntu/Debian (PPA y repositorio deb oficial), Fedora, CentOS 8+, FreeBSD, openSUSE y NixOS. Windows se soporta mediante WSL. También se documentan compilaciones desde el código fuente para Debian/Ubuntu, CentOS 7 y macOS.
### Uso
```bash
et hostname # puerto predeterminado 2022, usuario actual
et user@hostname:8000 # puerto personalizado
et hostname --jumphost jump # a través de host de salto
```
ET lee tanto archivos de configuración SSH específicos del usuario como del sistema; pasa `--ssh-config` con una ruta absoluta para aislarse de la configuración SSH ambiental, o `--no-ssh-config` para desactivarla por completo.
### Documentación del protocolo
La documentación detallada del protocolo y del diseño de HTM está disponible en el repositorio bajo `docs/`.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.