Repolode
MisterTea

MisterTea/EternalTerminal

Cliente e servidor de shell remoto que mantêm sessões no estilo SSH ativas e reconectam automaticamente após mudanças na rede.

Alternativa open source a:Mosh

Estrelas
3,943
Forks
240
Issues abertas
28
Último commit
anteontem

O que é?

O Eternal Terminal (ET) é um shell remoto que reconecta automaticamente sem interromper a sessão. O cliente `et` usa SSH para autenticar e iniciar a sessão remota e, em seguida, mantém uma conexão persistente com o daemon `etserver`, por padrão na porta TCP 2022. Assim, o shell não é encerrado quando o laptop entra em suspensão ou a rede muda.

O ET funciona como o ssh na sintaxe dos comandos e oferece suporte a jumphosts, encaminhamento de portas com `--tunnel`, arquivos de configuração do SSH e encaminhamento do SSH agent. As sessões podem ser salvas e retomadas após reiniciar o cliente, e o projeto também oferece o `etctl`, uma ferramenta para controlar sessões por meio de scripts, capturando a saída e os códigos de saída. Ele inclui o HTM, um multiplexador de terminal compatível com tmux, e pode ser usado como transporte para o VS Code e o Cursor Remote-SSH.

O projeto é escrito em C++ e pode ser instalado no macOS, em distribuições Linux como Ubuntu, Debian, Fedora e NixOS, no FreeBSD e no Windows por meio do WSL. A telemetria vem ativada por padrão e pode ser desativada com uma flag, uma configuração, uma variável de ambiente ou uma opção de build.

Recursos principais

  • 01Reconecta automaticamente e mantém a sessão de shell remoto ativa mesmo quando a rede muda.
  • 02Usa SSH para autenticação e inicialização, com sintaxe de comandos no estilo ssh.
  • 03Oferece suporte a jumphosts, encaminhamento de portas via `--tunnel` e arquivos de configuração do SSH.
  • 04Salva as sessões para que possam ser retomadas depois que o cliente for reiniciado.
  • 05Oferece o etctl para controle por scripts, com captura da saída e dos códigos de saída.
  • 06Funciona como transporte para o VS Code e o Cursor Remote-SSH.

Casos de uso

  • Trabalhar em um servidor remoto por uma conexão Wi-Fi ou móvel instável.
  • Manter sessões de edição remota de longa duração ativas enquanto o laptop entra em suspensão.
  • Controlar comandos remotos interativos por scripts com o etctl.
  • Conectar-se a servidores atrás de um jumphost usando portas SSH personalizadas.

Início rápido

  1. 1

    Instale o cliente no macOS com Homebrew

    brew install et
  2. 2

    Instale no Ubuntu via PPA, depois de adicionar o repositório

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

    Instale no FreeBSD com pkg

    pkg install eternalterminal
  4. 4

    Conecte-se a um host (o SSH precisa estar funcionando para esse host e a porta 2022 deve estar aberta no servidor)

    et hostname

Antes de usar

  • É necessário ter acesso SSH funcional ao host, pois o ET usa SSH para o handshake.
  • É preciso deixar uma porta TCP aberta no servidor; a porta padrão é 2022.
  • A telemetria vem ativada por padrão e envia logs de erro para o Datadog e relatórios de falha para o Sentry; é necessário desativá-la manualmente.

Em coleções

Tópicos

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

Perguntas frequentes

O que é EternalTerminal?
Cliente e servidor de shell remoto que mantêm sessões no estilo SSH ativas e reconectam automaticamente após mudanças na rede. O Eternal Terminal (ET) é um shell remoto que reconecta automaticamente sem interromper a sessão. O cliente `et` usa SSH para autenticar e iniciar a sessão remota e, em seguida, mantém uma conexão persistente com o daemon `etserver`, por padrão na porta TCP 2022. Assim, o shell não é encerrado quando o laptop entra em suspensão ou a rede muda.
EternalTerminal é gratuito? Qual é a licença?
EternalTerminal é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
EternalTerminal ainda é mantido?
Manutenção ativa. O último commit de EternalTerminal foi em 4 de nov. de 2026.
Para que posso usar EternalTerminal?
Trabalhar em um servidor remoto por uma conexão Wi-Fi ou móvel instável. Manter sessões de edição remota de longa duração ativas enquanto o laptop entra em suspensão. Controlar comandos remotos interativos por scripts com o etctl. Conectar-se a servidores atrás de um jumphost usando portas SSH personalizadas.
Como instalar EternalTerminal?
Instale o cliente no macOS com Homebrew: brew install et Instale no Ubuntu via PPA, depois de adicionar o repositório: sudo add-apt-repository ppa:jgmath2000/et Instale no FreeBSD com pkg: pkg install eternalterminal Conecte-se a um host (o SSH precisa estar funcionando para esse host e a porta 2022 deve estar aberta no servidor): et hostname
Onde consigo EternalTerminal?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/MisterTea/EternalTerminal

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados