Websocat is a specialized set of command-line tools for WebSocket communication, acting as a client, server, and stream processor. It provides a terminal-based interface for connecting to WebSocket servers, hosting secure WebSocket servers, and bridging data between WebSockets and other network transports.
The project distinguishes itself by functioning as a bidirectional network relay, allowing the routing of data between WebSocket streams, TCP sockets, UNIX sockets, and standard system input and output. It includes specialized implementations for SOCKS5 and HTTP proxying, as well as a stream processor capable of transforming WebSocket messages into line-based or binary records for use with external programs.
The toolset covers a broad range of networking capabilities, including secure communication via TLS and symmetric encryption, protocol bridging, and network debugging through traffic inspection. It also supports server mocking, automatic connection re-establishment, and the exposure of performance metrics on dedicated ports.
The project is packaged as a lightweight Docker container image for deployment across different environments.