Crates.io | masquerade-proxy |
lib.rs | masquerade-proxy |
version | 0.1.0 |
source | src |
created_at | 2023-02-08 10:58:34.502135 |
updated_at | 2023-02-08 10:58:34.502135 |
description | A implementation of MASQUE based on RFC 9114, 9227, and 9228 |
homepage | https://github.com/jromwu/masquerade |
repository | https://github.com/jromwu/masquerade |
max_upload_size | |
id | 779550 |
size | 139,774 |
Masquerade is an implementation of MASQUE. For UDP, it implements the connect-udp
extended HTTP/3 CONNECT method as defined in RFC 9228 using QUIC datagrams defined in RFC 9227. For TCP, it implements the HTTP/3 CONNECT method as defined in RFC 9114.
For client, it exposes a HTTP/1.1 or SOCKS5 interface for easy connection.
It is built on HTTP/3 and QUIC provided by the library quiche.
Very early prototype with no thorough testing, missing a lot of features, poorly documented, and very poor error and edge case handling.
Server:
# host server on interface with IP 192.168.1.2 port 4433
$ cargo run --bin server -- 192.168.1.2:4433
Client:
# 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