MercuryWorkshop/wisp-protocol
GitHub: MercuryWorkshop/wisp-protocol
Wisp 协议定义了一种通过单条 WebSocket 连接代理多个 TCP/UDP socket 的低开销通信规范,并拥有多语言实现生态。
Stars: 157 | Forks: 11
# Wisp 协议
Wisp 旨在成为一种低开销、易于实现的协议,用于通过单个 websocket 连接代理多个 TCP 和 UDP socket。
有关协议规范,请参阅 [`protocol.md`](https://github.com/MercuryWorkshop/wisp-protocol/blob/v2/protocol.md)。
## 主要版本:
Wisp 有两个主要版本:
- [Wisp V1](https://github.com/MercuryWorkshop/wisp-protocol/blob/v1/protocol.md) - 更简单的版本,更容易实现,但不具备身份验证等高级功能。
- [Wisp V2](https://github.com/MercuryWorkshop/wisp-protocol/blob/v2/protocol.md) - 增加了握手步骤,允许添加协议扩展、密码和密钥身份验证、MOTD 消息等功能。
## 服务端实现:
- **[wisp-server-python](https://github.com/MercuryWorkshop/wisp-server-python)** - 由 [@ading2210](https://github.com/ading2210) 提供
- **[wisp-js/server](https://github.com/MercuryWorkshop/wisp-js)** - 由 [@ading2210](https://github.com/ading2210) 提供
- [epoxy-server](https://github.com/MercuryWorkshop/epoxy-tls/tree/multiplexed/server) (Rust) - 由 [@r58Playz](https://github.com/r58Playz) 提供
- [Woeful](https://github.com/MercuryWorkshop/Woeful) (C++) - 由 [@FoxMoss](https://github.com/FoxMoss) 提供
- [mrrowisp](https://github.com/soap-phia/mrrowisp) (Go) - 由 [@soap-phia](https://github.com/soap-phia) 提供
## 客户端实现:
- **[wisp-js/client](https://github.com/MercuryWorkshop/wisp-js)** - 由 [@ading2210](https://github.com/ading2210) 提供
- [wisp-mux](https://crates.io/crates/wisp-mux) (Rust) - 由 [@r58Playz](https://github.com/r58Playz) 提供
- [pixie](https://github.com/soap-phia/pixie) (Go) - 由 [@soap-phia](https://github.com/soap-phia) 提供
## 使用 Wisp 的软件:
- [WispMark](https://github.com/MercuryWorkshop/wispmark) - 一款用于 Wisp 协议实现的基准测试工具。
- [libcurl.js](https://github.com/ading2210/libcurl.js) - 将 libcurl 移植到 WebAssembly,用于通过完整的 TLS 加密从浏览器代理 HTTPS 请求。
- [epoxy-tls](https://github.com/MercuryWorkshop/epoxy-tls) - 一个用于浏览器 JavaScript 的加密代理,使用 Rust 编写。
- [Mittens](https://github.com/scaratech/mittens) - 可编程的 middleware,可与任何 Wisp 实现配合使用。
- [Ultraviolet](https://github.com/titaniumnetwork-dev/Ultraviolet) - 一个复杂的 Web 代理,使用 libcurl.js 或 epoxy。
- [Scramjet](https://github.com/MercuryWorkshop/scramjet) - 一个实验性的 Web 代理,旨在成为 Ultraviolet 的继任者。
- [Whisper](https://github.com/MercuryWorkshop/Whisper) - 一个 Wisp 客户端,通过 TUN 设备公开连接。
- [v86](https://github.com/copy/v86) - x86 PC 模拟器和 x86 到 wasm 的 JIT,在浏览器中运行。
- [Puter](https://github.com/HeyPuter/puter/) - 一个先进的开源互联网操作系统,设计得功能丰富、异常快速且高度可扩展。
- [browser.js](https://github.com/HeyPuter/browser.js) - 一个基于 Scramjet 的 Web 浏览器环境。
- [Wispcraft](https://github.com/MercuryWorkshop/wispcraft) - 一个针对 Eaglercraft 的 mod,让你可以在浏览器中游玩在线的 Minecraft Java 版服务器。
## 版权:
本仓库采用 [知识共享署名 4.0 国际](https://github.com/MercuryWorkshop/wisp-protocol/blob/main/LICENSE) 许可协议授权。上面列出的实现使用不同的许可协议。
Wisp 协议规范由 [@ading2210](https://github.com/ading2210) 编写。
标签:TCP/UDP多路复用, WebSocket, 代理, 依赖分析, 内核驱动, 可视化界面, 数据可视化, 无文件攻击, 日志审计, 网络协议, 网络通信, 逆向工具, 通信规范