Repolode
MisterTea

MisterTea/EternalTerminal

一款可自动重连的远程 Shell 工具,网络中断后会话不丢失。

可替代:Mosh

Star
3,943
Fork
240
未关闭 Issue
28
最近提交
3天前

这是什么?

Eternal Terminal(ET)是一款远程 Shell 工具,连接在客户端休眠或网络切换后能自动重连,且不中断当前会话。客户端 `et` 先通过 SSH 完成认证并启动远程会话,之后与服务端 `etserver` 保持长连接,默认监听 TCP 2022 端口。

ET 的命令用法与 ssh 相近,支持跳板机(jumphost)、通过 `--tunnel` 做端口转发、读取 SSH 配置文件以及 SSH agent 转发。会话信息可以保存,客户端重启后仍能重新连接。项目还提供 `etctl`,可在脚本中驱动会话并获取命令输出和退出码;内置的 HTM 是兼容 tmux 的终端复用器,也可作为 VS Code 和 Cursor Remote-SSH 的传输层。

项目使用 C++ 编写,支持 macOS、Ubuntu、Debian、Fedora、NixOS、FreeBSD 等 Linux 系统,Windows 上可通过 WSL 使用。遥测默认开启,可通过参数、配置项、环境变量或编译选项关闭。

核心功能

  • 01网络切换后自动重连,远程 Shell 会话保持不中断。
  • 02使用 SSH 完成认证与启动,命令用法与 ssh 相近。
  • 03支持跳板机、`--tunnel` 端口转发和 SSH 配置文件。
  • 04会话可保存,客户端重启后重新挂接。
  • 05提供 etctl,可在脚本中获取命令输出和真实退出码。
  • 06可作为 VS Code 与 Cursor Remote-SSH 的传输层。

适用场景

  • 在不稳定的 Wi-Fi 或移动网络下操作远程服务器。
  • 笔记本合盖休眠后,保持远程开发会话不断开。
  • 通过 etctl 在脚本中驱动交互式远程命令。
  • 经跳板机连接使用非默认 SSH 端口的服务器。

快速上手

  1. 1

    在 macOS 上用 Homebrew 安装客户端

    brew install et
  2. 2

    在 Ubuntu 上通过 PPA 安装(先添加软件源)

    sudo add-apt-repository ppa:jgmath2000/et
  3. 3

    在 FreeBSD 上用 pkg 安装

    pkg install eternalterminal
  4. 4

    连接到主机(需要能通过 ssh 连接且服务器开放 2022 端口)

    et hostname

使用前须知

  • 需要能通过 SSH 连接目标主机,因为 ET 使用 ssh 完成握手。
  • 服务器需要开放 TCP 端口,默认为 2022。
  • 遥测默认开启,会将错误日志发送至 Datadog,崩溃报告发送至 Sentry,需手动关闭。

收录于专题

标签

#remote-shell#ssh#terminal#cpp#reconnect#tmux#devops#mosh

常见问题

EternalTerminal 是什么?
一款可自动重连的远程 Shell 工具,网络中断后会话不丢失。 Eternal Terminal(ET)是一款远程 Shell 工具,连接在客户端休眠或网络切换后能自动重连,且不中断当前会话。客户端 `et` 先通过 SSH 完成认证并启动远程会话,之后与服务端 `etserver` 保持长连接,默认监听 TCP 2022 端口。
EternalTerminal 可以免费使用吗?用的什么许可证?
EternalTerminal 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
EternalTerminal 还在维护吗?
活跃维护中。EternalTerminal 最近一次提交是在 2026年11月4日。
EternalTerminal 适合用来做什么?
在不稳定的 Wi-Fi 或移动网络下操作远程服务器。 笔记本合盖休眠后,保持远程开发会话不断开。 通过 etctl 在脚本中驱动交互式远程命令。 经跳板机连接使用非默认 SSH 端口的服务器。
EternalTerminal 怎么安装和运行?
在 macOS 上用 Homebrew 安装客户端: brew install et 在 Ubuntu 上通过 PPA 安装(先添加软件源): sudo add-apt-repository ppa:jgmath2000/et 在 FreeBSD 上用 pkg 安装: pkg install eternalterminal 连接到主机(需要能通过 ssh 连接且服务器开放 2022 端口): et hostname
在哪里获取 EternalTerminal?
源代码和安装说明在 GitHub 上:https://github.com/MisterTea/EternalTerminal

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目