Repolode
vi

vi/websocat

ws://、wss://接続向けの、netcat、curl、socatのように使えるコマンドラインWebSocketクライアント兼サーバー。

スター
8,732
フォーク
334
未解決の Issue
161
最終コミット
2 か月前

これは何?

websocatは、WebSocketを扱うためのコマンドラインツールです。WebSocket URLに接続してstdinとstdoutを接続先にパイプしたり、ポート上でWebSocket接続を受け付けたり、WebSocketをTCP、UNIXソケット、UDP、外部プログラムなどの別のトランスポートにブリッジしたりできます。シェルからWebSocketエンドポイントを手早くデバッグするのに便利です。

単純な接続に加えて、socatのように処理を組み合わせる機能も備えています。メッセージを行単位に変換したり、Base64エンコードや圧縮を行ったり、JSON-RPCのフレーミングを付けて送信したり、指定したバイト列で処理を停止したりできます。TLS、カスタムヘッダー、Sec-WebSocket-Protocolの選択、SOCKS5プロキシ、自動再接続、複数クライアントへのブロードキャスト、Prometheusメトリクスにも対応しています。Linux、Windows、macOS向けのビルド済みバイナリが提供されており、FreeBSDとHomebrew向けのパッケージもあります。

メインのv1系列はRustで書かれており、cargoでビルドします。新しいv4 alphaは別ブランチで開発中ですが、まだ安定版とは見なされていません。

主な機能

  • 01ws://およびwss://のエンドポイントに接続し、stdin/stdoutをWebSocketメッセージにパイプする
  • 02コマンドラインからWebSocket接続を受け付ける
  • 03WebSocketをTCP、UNIXソケット、UDP、外部プログラムにブリッジする
  • 04行単位・バイナリのメッセージモード、Base64変換、JSON-RPC変換に対応する
  • 05TLS、カスタムヘッダー、SOCKS5プロキシ、自動再接続に対応する

ユースケース

  • クライアントコードを書かずに、ターミナルからWebSocketエンドポイントをデバッグする
  • メッセージを送信して応答を読み取り、WebSocketサーバーをテストする
  • SSHなどのTCPサービスをWebSocket接続経由で公開する
  • スクリプトからChromium DevToolsのWebSocketエンドポイントを操作する

クイックスタート

  1. 1

    macOSにHomebrewでインストールする

    brew install websocat
  2. 2

    公開エコーサーバーに接続し、メッセージを入力する(終了するにはCtrl+d)

    websocat ws://ws.vi-server.org/mirror

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

  • 非常に新しいRustツールチェーンでソースからビルドすると、v1の依存関係の一部が古いため失敗することがあります。
  • Androidでは、証明書バンドルを手動で指定しないとwss://接続に失敗することがあります。

収録されている特集

トピック

よくある質問

websocat とは?
ws://、wss://接続向けの、netcat、curl、socatのように使えるコマンドラインWebSocketクライアント兼サーバー。 websocatは、WebSocketを扱うためのコマンドラインツールです。WebSocket URLに接続してstdinとstdoutを接続先にパイプしたり、ポート上でWebSocket接続を受け付けたり、WebSocketをTCP、UNIXソケット、UDP、外部プログラムなどの別のトランスポートにブリッジしたりできます。シェルからWebSocketエンドポイントを手早くデバッグするのに便利です。
websocat は無料で使えますか?ライセンスは?
websocat は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
websocat は今もメンテナンスされていますか?
半年以内に更新あり。websocat の最終コミットは 2026年8月13日 です。
websocat は何に使えますか?
クライアントコードを書かずに、ターミナルからWebSocketエンドポイントをデバッグする メッセージを送信して応答を読み取り、WebSocketサーバーをテストする SSHなどのTCPサービスをWebSocket接続経由で公開する スクリプトからChromium DevToolsのWebSocketエンドポイントを操作する
websocat のインストール方法は?
macOSにHomebrewでインストールする: brew install websocat 公開エコーサーバーに接続し、メッセージを入力する(終了するにはCtrl+d): websocat ws://ws.vi-server.org/mirror
websocat はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/vi/websocat

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

関連プロジェクト