ConfigsJul 23, 2026·3 min read

Eternal Terminal (et) — SSH Sessions That Never Drop

A remote shell tool that automatically reconnects and preserves your session through network changes, sleep, and IP roaming without losing scrollback or state.

Agent ready

Review-first install path

This asset needs a review step. The copied prompt tells the agent to dry-run, show the writes, then proceed only after confirmation.

Needs Confirmation · 64/100Policy: confirm
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Eternal Terminal Overview
Review-first command
npx -y tokrepo@latest install f357dfca-86b7-11f1-9bc6-00163e2b0d79 --target codex

Dry-run first, confirm the writes, then run this command.

Introduction

Eternal Terminal (et) is a remote shell client and server that keeps your terminal session alive through network interruptions, laptop sleep, and IP address changes. Unlike SSH, which drops the connection when the network path changes, et reconnects transparently and resumes where you left off.

What Eternal Terminal Does

  • Maintains persistent terminal sessions that survive network disruptions and IP changes
  • Reconnects automatically without losing scrollback, running processes, or editor state
  • Uses SSH for initial authentication, then switches to its own encrypted UDP-based protocol
  • Supports tmux-like session persistence without requiring tmux on the server
  • Provides low-latency remote typing through its UDP transport layer

Architecture Overview

Eternal Terminal uses SSH for the initial authentication handshake, then establishes a separate encrypted connection over UDP for ongoing terminal traffic. The et daemon on the server holds the terminal session in memory, while the client can disconnect and reconnect freely. The protocol uses protobuf for message serialization and sodium for encryption. Because it runs over UDP, it handles packet loss and network transitions more gracefully than TCP-based SSH.

Self-Hosting & Configuration

  • Install the et package on both client and server machines
  • The server runs as a daemon (etserver) listening on port 2022 by default
  • SSH keys and credentials are used for authentication; no separate credential system
  • Configure the server port and logging in /etc/et.cfg
  • Firewall rules must allow UDP traffic on the et port (default 2022)

Key Features

  • Transparent reconnection through WiFi switches, VPN changes, and laptop sleep/wake cycles
  • Preserves full terminal state including scrollback buffer and running foreground processes
  • Encrypted transport using libsodium, authenticated through standard SSH
  • Lower latency than SSH for interactive typing due to UDP-based transport
  • Works alongside existing SSH infrastructure without replacing it

Comparison with Similar Tools

  • mosh — similar concept using UDP, but mosh does not support scrollback or SSH agent forwarding; et provides a fuller terminal experience
  • SSH + tmux — tmux preserves sessions but requires manual reattachment after disconnects; et reconnects automatically
  • SSH + screen — similar to tmux approach but with an older tool; et eliminates the manual reattach step
  • Teleport — enterprise access platform with session recording; et is focused solely on persistent connections
  • WireGuard + SSH — VPN-based approach ensures a stable tunnel, but adds infrastructure complexity; et works without a VPN

FAQ

Q: Does Eternal Terminal replace SSH? A: Not entirely. et uses SSH for authentication during the initial connection, then switches to its own protocol. You still need SSH keys and an SSH server configured.

Q: Does it support port forwarding? A: et supports SSH-style port forwarding using the -t and -r flags for tunneling.

Q: What happens when the network drops? A: The client detects the disconnection and continuously attempts to reconnect. When the network returns, the session resumes with all state intact, including scrollback.

Q: Is the connection encrypted? A: Yes. After SSH authentication, et establishes an encrypted channel using libsodium (NaCl) for all terminal traffic.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets