https://shop.kongfz.com/795263/
代理端和代理服务端之间可用自有格式来实现多路复用以减少连接的建立断开的开销,目前暂未实现代理服务端。
类结构
proxy.rs 负责代理结构的存储,监听类型,监听地址,是否有父级地址,认证账号密码等。
flag.rs 监听类型的二进制结构,可同时支持多结构比较http/https/socks5,如果解析http失败则尝试socks5格式,从而实现多种代理方式的同时支持
http.rs http及https代理的实现,如果解析失败则返回ProxyError::Continue,并把已经读取的数据带回,以便后续解析
socks5.rs socks5的代理实现,如果数据正确,则均在此处进行转发,解析失败返回Continue
命令行解析
使用Commander对命令行的的数据处理,如-p 8090,-b 127.0.0.1,完整的命令行如wmproxy -p 8090,则可在8090端口上实现http及https的转发,代码示例
let command = Commander::new()
.version