#proxy #rfc #connect #quic #client #udp #masque

bin+lib masquerade-proxy

基于 RFC 9114、9227 和 9228 的 MASQUE 实现

1 个不稳定版本

0.1.0 2023 年 2 月 8 日

#108#quic

MITGPL-3.0-or-later

105KB
1.5K SLoC

Masquerade 是 MASQUE 的一个实现。对于 UDP,它实现了 RFC 9228 中定义的 connect-udp 扩展 HTTP/3 CONNECT 方法,使用 RFC 9227 中定义的 QUIC 数据包。对于 TCP,它实现了 RFC 9114 中定义的 HTTP/3 CONNECT 方法。

对于客户端,它提供了一个 HTTP/1.1 或 SOCKS5 接口,以便于连接。

它基于由库 quiche 提供的 HTTP/3 和 QUIC 构建。

一个非常早期的原型,没有经过彻底测试,缺少许多功能,文档编写不佳,错误和边缘情况处理非常糟糕。

示例

服务器

# host server on interface with IP 192.168.1.2 port 4433
$ cargo run --bin server -- 192.168.1.2:4433

客户端

# connect to server at 192.168.1.2:4433 and host HTTP/1.1 server on localhost port 8989
$ cargo run --bin client -- 192.168.1.2:4433 127.0.0.1:8989 http

# or host a socks server
$ cargo run --bin client -- 192.168.1.2:4433 127.0.0.1:8989 socks

依赖项

~28–38MB
~876K SLoC