awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
vi avatar

vi/websocat

0
View on GitHub↗

Websocat

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.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • WebSocket Clients - Ships a terminal-based client for establishing and managing bidirectional WebSocket connections.
  • WebSocket Security - Establishes secure, encrypted WebSocket connections using TLS or static symmetric keys.
  • Command Piping - Pipes the standard input and output of external command-line programs directly to a network connection.
  • Bidirectional Protocol Bridging - Forwards data bidirectionally between different socket types, bridging diverse network endpoints.
  • Pluggable Transport Layers - Utilizes a pluggable transport layer to seamlessly relay data between TCP, UNIX sockets, and WebSockets.
  • Websocket Connection Managers - Establishes secure or insecure connections to remote WebSocket servers.
  • Port-Based WebSocket Listeners - Hosts WebSocket servers listening on TCP ports, UNIX sockets, or abstract-namespaced sockets.
  • Secure - Provides a command-line listener that accepts secure WebSocket connections using PKCS#12 certificates.
  • Secure Server Implementations - Provides a command-line utility to host secure WebSocket servers using PKCS#12 certificates.
  • Event-Driven Networking - Implements a high-performance event-driven networking model using non-blocking I/O for concurrent connections.
  • Process-to-WebSocket Wrappers - Pipes an external program's standard input and output streams directly to a WebSocket connection.
  • Bidirectional Stream Proxying - Provides bidirectional data stream proxying between remote listeners and local clients.
  • Standard IO WebSocket Bridges - Bridges the standard input and output of local processes to WebSocket connections.
  • TCP and Unix Socket Listeners - Connects to and listens on TCP and UNIX sockets for raw bidirectional data exchange.
  • WebSocket Terminal Clients - Provides a terminal-based interface to connect to WebSocket servers for testing and automation.
  • Transport Mapping - Proxies data by mapping TCP connections to WebSocket connections and vice versa.
  • File and Console I/O - Facilitates interaction with the console by reading and writing to standard system input and output streams.
  • WebSocket Protocol Relays - Bridges and routes data bidirectionally between WebSocket connections, TCP sockets, and UNIX sockets.
  • Streaming Data Transformers - Provides a transformation pipeline to modify data streams by adding timestamps or converting messages to lines.
  • Broadcast Messaging Channels - Duplicates replies from a single inner connection to all currently connected downstream clients.
  • Automatic Reconnection - Automatically re-establishes underlying connections after encountering errors or end-of-file signals.
  • Direct-to-Network File Streaming - Streams data from local files directly to network connections or logs traffic to disk using append operations.
  • SOCKS5 Proxies - Routes WebSocket connections through SOCKS5 or HTTP proxies to bypass network restrictions.
  • SOCKS5 Proxy Tunneling Clients - Acts as a networking client that tunnels WebSocket traffic through SOCKS5 or HTTP proxies to bypass restrictions.
  • Text and Binary Message Exchanges - Supports bidirectional transmission and conversion between binary bytes and UTF-8 encoded text messages.
  • Proxy-Routed - Routes WebSocket connections through HTTP or SOCKS5 proxies using the CONNECT method to bypass network restrictions.
  • Stream Processors - Filters and transforms WebSocket data streams into line-based or binary records for external tools.
  • WebSocket Utilities - Includes tools for inspecting raw traffic and protocol frames to debug WebSocket communication issues.
  • Line-Based Record Processing - Translates WebSocket messages into line-based records for compatibility with shell-based text processing tools.
  • TLS Session Wrapping - Wraps raw socket connections with TLS using PKCS#12 certificates for secure communication.
  • Message Encryption - Implements message-level encryption using the ChaCha20-Poly1305 algorithm for secure data transmission.
  • Symmetric Encryption - Secures raw byte streams using symmetric encryption with the ChaCha20-Poly1305 algorithm.
  • TLS Traffic Encryption - Provides capabilities to wrap connections in TLS encryption or accept secure connections via certificates.
  • Network Analysis and Simulation - CLI client for WebSocket debugging and interaction.
  • Network Analysis Tools - CLI client for interacting with WebSocket servers.
  • Networking Tools - Command-line client for WebSockets with advanced relay functions.
8,571 stars·329 forks·Rust·MIT·18 views

Star history

Star history chart for vi/websocatStar history chart for vi/websocat

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Websocat

These projects share indexed features with Websocat. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • boostorg/beastboostorg avatar

    boostorg/beast

    4,801View on GitHub↗

    Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an asynchronous networking framework designed to compose non-blocking I/O operations and layered stream stacks for managing concurrent network traffic, specifically utilizing the Boost.Asio asynchronous model. The library provides a comprehensive implementation of the HTTP/1.1 and WebSocket protocols. For HTTP, it includes primitives for parsing and serializing messages with support for chunked transfer encoding, incremental body reading, and request pipelining. Its WebSocket implementati

    C++asioasync-programmingboost
    View on GitHub↗4,801
  • python-websockets/websocketspython-websockets avatar

    python-websockets/websockets

    5,692View on GitHub↗

    websockets is a Python library that provides both client and server implementations for the WebSocket protocol, enabling real-time, bidirectional communication between applications. At its core, it offers the fundamental primitives for establishing persistent connections, managing their lifecycles, and exchanging text or binary messages asynchronously using coroutines. The library distinguishes itself through comprehensive support for various messaging patterns, including broadcast messaging to all connected clients, targeted messaging to specific clients, and shared application state synchro

    Pythonpythonpython3websocket
    View on GitHub↗5,692
  • ithewei/libhvithewei avatar

    ithewei/libhv

    7,521View on GitHub↗

    libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered

    Ccurlepollhttp-client
    View on GitHub↗7,521
  • daltoniam/starscreamdaltoniam avatar

    daltoniam/Starscream

    8,639View on GitHub↗

    Starscream is a Swift WebSocket client library that provides a concrete implementation of the WebSocket protocol for iOS and macOS applications. It functions as an event-driven wrapper for establishing and managing bidirectional connections to send and receive text and binary frames over TCP. The library includes a secure WebSocket client capable of encrypting traffic and validating server identities. It manages the full connection lifecycle, from the initial handshake and header exchange to session termination with custom close codes. The project covers a broad range of networking capabilit

    Swift
    View on GitHub↗8,639
Compare all 30 related projects→

Frequently asked questions

What does vi/websocat do?

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.

What are the main features of vi/websocat?

The main features of vi/websocat are: WebSocket Clients, WebSocket Security, Command Piping, Bidirectional Protocol Bridging, Pluggable Transport Layers, Websocket Connection Managers, Port-Based WebSocket Listeners, Secure.

Which projects share features with vi/websocat?

Projects with overlapping indexed features include: boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… python-websockets/websockets — websockets is a Python library that provides both client and server implementations for the WebSocket protocol,… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… daltoniam/starscream — Starscream is a Swift WebSocket client library that provides a concrete implementation of the WebSocket protocol for… websocket-client/websocket-client — This is a Python WebSocket client library designed to establish full-duplex, persistent network connections for… tootallnate/java-websocket — Java-WebSocket is a collection of classes for implementing WebSocket clients and servers using pure Java. It provides…