Repolode
vi

vi/websocat

命令行 WebSocket 客户端与服务端工具,可用于 ws:// 和 wss:// 连接,类似 netcat、curl 和 socat。

Star
8,732
Fork
334
未关闭 Issue
161
最近提交
2个月前

这是什么?

websocat 是一个用于操作 WebSocket 的命令行工具。它可以连接到 WebSocket 地址并将标准输入输出与之相连,也能在指定端口提供 WebSocket 服务,还可以把 WebSocket 与 TCP、UNIX 套接字、UDP 或外部程序等其他传输方式互相转发,适合在终端中快速调试 WebSocket 接口。

除基本连接外,它还支持类似 socat 的组合用法:消息可在行与消息之间转换,支持 Base64 编码、压缩、JSON-RPC 封装,也能用字节序列作为结束标记。工具还支持 TLS、自定义 HTTP 头、Sec-WebSocket-Protocol 协商、SOCKS5 代理、断线自动重连、向多个客户端广播以及 Prometheus 指标导出。预编译版本覆盖 Linux、Windows 和 macOS,也可通过 FreeBSD pkg、Homebrew 等方式安装。

当前主流的 v1 版本使用 Rust 编写,通过 cargo 构建。v4 alpha 版本在独立分支中开发,尚未被视为稳定版本。

核心功能

  • 01连接 ws:// 与 wss:// 地址,并将标准输入输出转换为 WebSocket 消息
  • 02在命令行中直接提供 WebSocket 服务
  • 03将 WebSocket 与 TCP、UNIX 套接字、UDP 及外部程序互相转发
  • 04支持按行或二进制模式处理消息,并提供 Base64 与 JSON-RPC 转换
  • 05支持 TLS、自定义请求头、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 是什么?
命令行 WebSocket 客户端与服务端工具,可用于 ws:// 和 wss:// 连接,类似 netcat、curl 和 socat。 websocat 是一个用于操作 WebSocket 的命令行工具。它可以连接到 WebSocket 地址并将标准输入输出与之相连,也能在指定端口提供 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目