TunnelerRust 实现的隧道工具
Tunneler 是一款 Rust 实现的隧道工具,实现了 Tunnel TCP、UDP traffic over TCP、(手动)TLS、DNS(权威服务器或直连模式)功能。
Tunneler 整体架构
每个可执行文件包含 2 个组件,它们通过客户端 stream 通道(字节读取器和写入器的元组)进行通信:
- 客户端侦听器绑定套接字并将传入和传出流量转换为新的 stream
- 客户端隧道程序将 stream 读取器和写入器转换为隧道协议
- 服务器 Untunneler 根据隧道协议绑定套接字并将隧道流量转换回原始 stream
- 服务器转发器将流写入器和读取器转换回流量
基于 TCP 的流量可以轻松地被转换为 stream,基于 UDP 的流量转换取决于隧道协议。
评论