このプロジェクトについて

websocketdは、プログラム自体にネットワーキングライブラリを必要とせずに、既存のコマンドラインプログラムをWebSocket経由で公開する簡単な方法を提供します。選択したポートで起動後、WebSocket接続を受け入れ、接続ごとに設定された実行可能ファイルを起動します。ブラウザからのメッセージは末尾に改行を付けてプロセスのSTDINに書き込まれ、改行で終了するSTDOUT出力はWebSocketメッセージとしてクライアントに返されます。どちらかが切断すると、関連するプロセスとそのプロセスグループがシャットダウンされます。 バックエンドプログラムは、標準入出力をサポートする任意の言語(シェルスクリプト、Python、Ruby、Perl、C、Go、PHP、Java、PowerShell、Lua、Rなど)で記述できます。リモートホスト、パス、クエリパラメータ、Cookieなどのリクエスト情報は、CGI環境変数を介してスクリプトに公開されます。 追加機能には、静的ファイルサーバー、従来のCGIサポート、設定可能な権限を持つUnixドメインソケットでの待ち受け、タグ付きJSONとしてのオプションのSTDERR転送、および接続、フレーム送信、応答検査のための組み込みWebSocket開発者コンソールが含まれます。このツールは、Linux、macOS、Windows向けの単一のスタンドアロン実行可能ファイルとして配布され、macOSではHomebrewインストールが利用可能です。リポジトリには、リアルタイムシステム統計、ブラウザベースのREPL、データベースアクセス、ファイル一覧表示、ゲームパッド入力に関する例やサンプルプロジェクトへのリンクも含まれています。