proxy_request 给 proxy server
sp.v2.udp-over-tcp.arpa,则将 proxy tunnel 升级成 UoT tunnel
uot_request ,其包含即将要发送的 UDP 目标地址uot_stream(connect_stream 或 no_connect_stream)is_connect = 0x01 则 后续使用 connect_stream,proxy server 只能转发来自目标地址的UDP,client 只能向 目标地址发送 UDPis_connect = 0x00 则 后续使用 no_connect_stream,proxy server 可以转发来自任意地址的UDP,client 可以向任意地址发送 UDP
RFC 9000 的包结构风格
uot_request {
is_connect(8)=0x01,
ATYPE(8),
address(..),
port(16),
}
// is_connect(8)=0x01
connect_stream {
length(16),
data(..)
}
// is_connect(8) = 0x00
no_connect_stream {
ATYPE(8),
address(..),
port(16),
length(16),
data(..)
}
ATYP / address / port: Uses the SOCKS address format, but with different address types:
| ATYP | Address type |
|---|---|
0x00 |
IPv4 Address |
0x01 |
IPv6 Address |
0x02 |
Domain Name |