1 个不稳定版本
0.1.0 | 2023年11月13日 |
---|
#14 在 #server-port
每月下载量 47
23KB
459 行
Swarm Proxy
一个可以非常快速转发大量端口并且也相当快速的代理
动机
我有一台服务器位于双 NAT 之后,对所有端口进行伪装需要大量的工作。我很懒,所以我写了一个代理来解决一个可解决的问题 :)
用法
命令行
swarm_proxy <config.json> | <target> udp [<udp_port|udp_range>] tcp [<tcp_port|tcp_range>]
示例
转发端口 69-79 的 udp 和 80、443 到 10.7.0.2 的 8443 tcp
swarm_proxy 10.7.0.2 udp 69-79:69-79 tcp 80 443:8443
设计
TCP
非常简单,连接进入,创建新的连接并交换数据包。
UDP
不太简单。UDP 是无状态的,但服务器需要知道回程时要转发到哪个端口。发送数据包时,代理服务器只为发送回该客户端而绑定一个新的端口。客户端绑定大约五分钟,然后释放端口。Tokio channels 呼啸而过。
速度
相当快,我不会说自己的代理是垃圾。我用 iperf 进行了一些基准测试,通过代理的进出速度是可以忽略不计的。如果你有更好的基准测试,请提交 PR,或者不提交。
依赖项
~6–14MB
~133K SLoC