/wisp-protocol

Wisp is a low-overhead, easy to implement protocol for proxying multiple TCP/UDP sockets over a single websocket.

Creative Commons Attribution 4.0 InternationalCC-BY-4.0

Wisp Protocol

Wisp is designed to be a low-overhead, easy to implement protocol for proxying multiple TCP sockets over a single websocket connection.

For the protocol specifications, see protocol.md.

Server Implementations:

Client Implementations:

Software Using Wisp:

  • libcurl.js - A port of libcurl to WebAssembly, for proxying HTTPS requests from the browser with full TLS encryption
  • epoxy-tls - An encrypted proxy for browser javascript, written in Rust.
  • Ultraviolet - A sophisticated web proxy, which uses either libcurl.js or epoxy.
  • Whisper - A client for Wisp that exposes the connection over a TUN device.

Copyright:

This repository is licensed under the Creative Commons Attribution 4.0 International license. The implementations listed above use different licenses.

The Wisp protocol specifications were written by @ading2210.

creative commons banner