Wisp is an open protocol that carries many TCP and UDP connections inside one WebSocket, so code running in a browser tab can reach network services a web page normally cannot open.
Explanation
A web page cannot open raw network connections. It can make HTTP requests, and it can open a WebSocket: one long-lived, two-way connection to a server that agrees to it. Wisp, written by Mercury Workshop and published under a Creative Commons licence in 2024, builds a small networking layer on that second option. The browser side asks a Wisp server to open a TCP or UDP connection to a host and port; the server does so and relays bytes back and forth. Each message has a five-byte header naming its type and stream number, so dozens of connections can share one WebSocket instead of opening one each. Version 2 adds a handshake with extensions such as password or key authentication. The specification lists server and client implementations in Python, JavaScript, Rust, Go and C++, and names libcurl.js and epoxy-tls, which run TLS inside the browser over Wisp, and the Ultraviolet web proxy among the software that uses it. Wisp does not change where traffic comes from: the destination sees the Wisp server's address. AnyProxy's own August 2026 article describes using a Wisp endpoint only for hosts that need it, alongside its normal server-side path.
In practice
Wisp is an open protocol from Mercury Workshop that carries many TCP and UDP streams over a single WebSocket. Browser-based proxy stacks use it because a web page cannot open raw network connections — but it can open a WebSocket. One connection to the server then carries every stream the proxied page needs, instead of a new connection per request.
Sources: Wisp protocol specification (GitHub) · AnyProxy blog - What is the Wisp protocol?
Questions about Wisp protocol
Related terms