ネットワークの切り替えに対応するリモート端末ソフトウェアMoshをRustで再実装する独立プロジェクトが、Windowsネイティブクライアントと任意で有効にできる端末のスクロールバック機能を備えた初期版を公開した。mosh-rsと呼ばれるこのプロジェクトは、現行のv0.1.2リリースをプレアルファ版と位置付け、MIT、Moshの開発者キース・ウィンスタイン、上流プロジェクトのメンテナーとは関係がないとしている。

Moshは、不安定な回線、ノートPCのスリープ、ネットワーク間の切り替えがあっても端末セッションを使い続けられるよう設計されている。従来のSSHセッションと同じように端末のバイト列をストリーミングするのではなく、UDPで通信し、画面の状態を同期させ、サーバーからの応答を待つ間はローカルでキー入力の結果を予測する。Mosh-rsは、Mosh 1.4.0との通信プロトコル上の互換性を維持しながら、上流プロジェクトのプロトコルと端末の挙動をRustに移植するとしている。

この互換性により、ユーザーは新しいクライアントだけをインストールし、既存のMoshサーバーに引き続き接続できることを想定している。追加されたスクロールバックモードはこれとは異なり、接続先にmosh-rsサーバーが必要で、コマンドラインオプションによって明示的に有効にしなければならない。通常のセッションは上流版の挙動を維持し、履歴を記録しない。サーバー側では未送達のスクロールバックデータに上限を設定でき、プロジェクトの文書では既定の上限を32 MiBとしている。

Windowsビルドには、最近のWindowsに標準搭載されているOpenSSHクライアントを利用するx86-64クライアントとランチャーが含まれる。プロジェクトによると、Microsoftのx64エミュレーションを通じ、Arm版Windows 11でもこのビルドを動かした。Windows用サーバーはなく、ユーザーには引き続き、上流版MoshまたはRust実装が稼働するLinuxかmacOSのホストが必要となる。Linuxバイナリは静的ビルドとして配布され、macOSビルドも提供されている。

リポジトリには、上流のC++コンポーネントとの互換性テストや、ネットワーク条件を悪化させた環境でのスクリプトによるセッションテストが記載されている。また、v0.1.0で発生した初期のmacOSランチャーの不具合も記録されている。これは、Linux固有のレイアウトでソケットアドレスを読み取っていたことが原因で、v0.1.1で修正された。メンテナーはリリース用アーカイブとともにチェックサムを提供し、未テストの組み合わせを制限事項の一覧に明記している。

インストールの詳細にも、プロジェクトが実験段階にあることが表れている。リポジトリは、crates.ioにある同名に近い`mosh-rs`パッケージは無関係だと注意を促している。このプロジェクト自体のパッケージは`mosh`という名前で公開され、Cargoを使ってビルドする場合はRust 1.89以降が必要となる。リリース用アーカイブでは`mosh`、`mosh-client`、`mosh-server`というプログラム名を維持しているため、既存のスクリプトから想定どおりのコマンドを呼び出せる。

セキュリティ面の留保は重要だ。Mosh-rsは、暗号処理と通信処理のコードが上流の実装に忠実に従っているものの、独立したセキュリティ監査は受けていないとしている。このため、v0.1.2を成熟した代替品ではなく、テスト向けのプレビュー版として提示している。評価するユーザーは、Windowsからのネイティブ接続とローカル端末の履歴を利用できるようになるが、その利便性を、プレアルファという開発段階や文書に記載された未対応事項と比較して判断する必要がある。