Repolode
MisterTea

MisterTea/EternalTerminal

Клиент и сервер для удалённой оболочки: сохраняют SSH-сеансы активными и автоматически восстанавливают подключение после смены сети.

Open source альтернатива:Mosh

Звёзды
3,943
Форки
239
Открытые issues
28
Последний коммит
3 дня назад

Что это?

Eternal Terminal (ET) — удалённая оболочка, которая автоматически восстанавливает подключение, не прерывая сеанс. Клиент `et` использует SSH для аутентификации и запуска удалённого сеанса, а затем поддерживает постоянное соединение с демоном `etserver` (по умолчанию — через TCP-порт 2022). Поэтому переход ноутбука в спящий режим или смена сети не завершает работу оболочки.

Синтаксис команд ET похож на синтаксис ssh. Поддерживаются jumphost, проброс портов через `--tunnel`, файлы конфигурации SSH и переадресация SSH-агента. Сеансы можно сохранять и подключаться к ним повторно после перезапуска клиента. Также в проект входит `etctl` — инструмент для управления сеансом из скриптов с перехватом вывода и кодов завершения. В комплекте есть HTM — совместимый с tmux терминальный мультиплексор; ET можно использовать как транспорт для VS Code и Cursor Remote-SSH.

Проект написан на C++ и устанавливается на macOS, дистрибутивы Linux, включая Ubuntu, Debian, Fedora и NixOS, FreeBSD, а также в WSL на Windows. Телеметрия включена по умолчанию; её можно отключить флагом, настройкой конфигурации, переменной окружения или параметром сборки.

Ключевые возможности

  • 01Автоматически восстанавливает подключение и сохраняет сеанс удалённой оболочки при смене сети.
  • 02Использует SSH для аутентификации и запуска сеанса; синтаксис команд похож на ssh.
  • 03Поддерживает jumphost, проброс портов через `--tunnel` и файлы конфигурации SSH.
  • 04Сохраняет сеансы, чтобы к ним можно было подключиться повторно после перезапуска клиента.
  • 05Предоставляет `etctl` для управления из скриптов с перехватом вывода и кодов завершения.
  • 06Работает как транспорт для VS Code и Cursor Remote-SSH.

Сценарии использования

  • Работа на удалённом сервере при нестабильном подключении по Wi-Fi или мобильной сети.
  • Поддержание долгих сеансов удалённой работы, пока ноутбук находится в спящем режиме.
  • Управление интерактивными удалёнными командами из скриптов с помощью `etctl`.
  • Подключение к серверам за jumphost с нестандартными портами 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?
Клиент и сервер для удалённой оболочки: сохраняют SSH-сеансы активными и автоматически восстанавливают подключение после смены сети. Eternal Terminal (ET) — удалённая оболочка, которая автоматически восстанавливает подключение, не прерывая сеанс. Клиент `et` использует SSH для аутентификации и запуска удалённого сеанса, а затем поддерживает постоянное соединение с демоном `etserver` (по умолчанию — через TCP-порт 2022). Поэтому переход ноутбука в спящий режим или смена сети не завершает работу оболочки.
EternalTerminal можно использовать бесплатно? Какая у него лицензия?
EternalTerminal распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
EternalTerminal всё ещё поддерживается?
Активно поддерживается. Последний коммит в EternalTerminal — 4 нояб. 2026 г..
Для чего можно использовать EternalTerminal?
Работа на удалённом сервере при нестабильном подключении по Wi-Fi или мобильной сети. Поддержание долгих сеансов удалённой работы, пока ноутбук находится в спящем режиме. Управление интерактивными удалёнными командами из скриптов с помощью `etctl`. Подключение к серверам за jumphost с нестандартными портами 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

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Современный C++-эмулятор терминала с ускорением на GPU для Windows, macOS, Linux и BSD: постоянные сессии, вкладки, разделение окон и поддержка графики.

3,1 тыс.+3 за неделю158C++Apache-2.0Активно поддерживаетсяОбновлён 3 часа назад