
WebベースのRDPクライアント
Go WebAssembly と grdp で構築された Web ベースの RDP クライアントです。 ブラウザから直接 Windows リモートデスクトップサーバに接続できます — プラグインは不要です。
Browser (WASM) ──WebSocket──► proxy (Go) ──TCP──► RDP Server
ブラウザは生の TCP ソケットを開くことができないため、軽量な Go プロキシサーバがブラウザからの WebSocket 接続を RDP サーバの TCP ポートにブリッジします。
git clone https://github.com/nakagami/grdpwasm.git
cd grdpwasm
make all
make all によって生成されるもの:
| 出力 | 説明 |
|---|---|
static/main.wasm | Go WASM バイナリ (ブラウザで動作) |
static/wasm_exec.js | Go ランタイム JS サポートファイル |
proxy/proxy | WebSocket-to-TCP プロキシ + 静的ファイルサーバ |
make serve
# または同等:
./proxy/proxy -listen :8080 -static static
その後、ブラウザで http://localhost:8080 を開きます。
| フラグ | デフォルト | 説明 |
|---|---|---|
-listen | :8080 | 待ち受けるアドレスとポート |
-static | static | 静的ファイルを提供するディレクトリ |
http://localhost:8080 を開きます。3389)すべての標準キーボード入力は RDP スキャンコードを介してリモートデスクトップに転送されます。 マウスの移動、ボタンクリック、スクロールホイールは完全にサポートされています。
注意: キーボードイベントを転送するには、ブラウザタブにフォーカスがある必要があります。 キーが反応しなくなった場合は、キャンバス領域内をクリックしてください。
リモートオーディオは RDPSND を介してストリーミングされ、ブラウザの Web Audio API (PCM 44100 Hz、ステレオ、16 ビット符号付きリトルエンディアン) で再生されます。
make wasm # WASM バイナリのみ再ビルド
make proxy # プロキシサーバのみ再ビルド
make wasm_exec # ローカルの Go ツールチェーンから wasm_exec.js を更新
make clean # すべてのビルド成果物を削除
GPLv3 — grdp LICENSE を参照