Repolode
MisterTea

MisterTea/EternalTerminal

ネットワークが変わってもSSH風のセッションを維持し、自動再接続するリモートシェルのクライアント/サーバー。

代替できる製品:Mosh

スター
3,943
フォーク
240
未解決の Issue
28
最終コミット
3 日前

これは何?

Eternal Terminal(ET)は、セッションを中断せずに自動再接続するリモートシェルです。クライアントの `et` はSSHで認証してリモートセッションを開始し、その後は既定でTCPポート2022を使って `etserver` デーモンとの永続的な接続を維持します。そのため、ノートPCがスリープしたりネットワークが切り替わったりしても、シェルは終了しません。

ETはコマンド構文がsshに似ており、jumphost、`--tunnel` によるポートフォワーディング、SSH configファイル、SSH agent forwardingに対応しています。セッションは保存でき、クライアントの再起動後に再接続できます。また、出力と終了コードを取得しながら、スクリプトからセッションを操作できるツール `etctl` も提供します。tmux互換のターミナルマルチプレクサであるHTMが同梱されており、VS CodeやCursorのRemote-SSH用トランスポートとしても利用できます。

このプロジェクトはC++で開発されており、macOS、Ubuntu、Debian、Fedora、NixOSなどのLinuxディストリビューション、FreeBSD、およびWindows上のWSLにインストールできます。テレメトリーはデフォルトで有効ですが、フラグ、設定項目、環境変数、またはビルドオプションで無効にできます。

主な機能

  • 01ネットワークが変わってもリモートシェルのセッションを維持し、自動的に再接続します。
  • 02SSHで認証とセッション開始を行い、ssh風のコマンド構文を採用しています。
  • 03jumphost、`--tunnel` によるポートフォワーディング、SSH configファイルに対応しています。
  • 04セッションを保存し、クライアントの再起動後に再接続できます。
  • 05出力と終了コードを取得しながらスクリプトから操作できる `etctl` を提供します。
  • 06VS CodeおよびCursorのRemote-SSH用トランスポートとして利用できます。

ユースケース

  • 不安定なWi-Fiやモバイル回線経由でリモートサーバーを操作する。
  • ノートPCがスリープしても、長時間のリモート編集セッションを維持する。
  • `etctl` を使って、対話型のリモートコマンドをスクリプトから操作する。
  • 独自のSSHポートを使い、jumphostの背後にあるサーバーへ接続する。

クイックスタート

  1. 1

    Homebrew を使って macOS にクライアントをインストールする

    brew install et
  2. 2

    リポジトリを追加してから、PPA 経由で Ubuntu にインストールする

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

    pkg を使って FreeBSD にインストールする

    pkg install eternalterminal
  4. 4

    ホストに接続する(接続先で SSH が利用可能で、サーバーのポート 2022 が開いている必要があります)

    et hostname

使う前に知っておきたいこと

  • ET はハンドシェイクに SSH を使用するため、ホストへの SSH 接続が正常に機能する必要があります。
  • サーバーで TCP ポートを開放する必要があります。デフォルトは 2022 です。
  • テレメトリーはデフォルトで有効になっており、エラーログを Datadog に、クラッシュレポートを Sentry に送信します。無効にするには手動で設定する必要があります。

収録されている特集

トピック

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

よくある質問

EternalTerminal とは?
ネットワークが変わってもSSH風のセッションを維持し、自動再接続するリモートシェルのクライアント/サーバー。 Eternal Terminal(ET)は、セッションを中断せずに自動再接続するリモートシェルです。クライアントの `et` はSSHで認証してリモートセッションを開始し、その後は既定でTCPポート2022を使って `etserver` デーモンとの永続的な接続を維持します。そのため、ノートPCがスリープしたりネットワークが切り替わったりしても、シェルは終了しません。
EternalTerminal は無料で使えますか?ライセンスは?
EternalTerminal は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
EternalTerminal は今もメンテナンスされていますか?
活発にメンテナンス中。EternalTerminal の最終コミットは 2026年11月4日 です。
EternalTerminal は何に使えますか?
不安定なWi-Fiやモバイル回線経由でリモートサーバーを操作する。 ノートPCがスリープしても、長時間のリモート編集セッションを維持する。 `etctl` を使って、対話型のリモートコマンドをスクリプトから操作する。 独自のSSHポートを使い、jumphostの背後にあるサーバーへ接続する。
EternalTerminal のインストール方法は?
Homebrew を使って macOS にクライアントをインストールする: brew install et リポジトリを追加してから、PPA 経由で Ubuntu にインストールする: sudo add-apt-repository ppa:jgmath2000/et pkg を使って FreeBSD にインストールする: pkg install eternalterminal ホストに接続する(接続先で SSH が利用可能で、サーバーのポート 2022 が開いている必要があります): et hostname
EternalTerminal はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/MisterTea/EternalTerminal

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト