1 个不稳定版本

0.1.0 2023年11月13日

#14#server-port

每月下载量 47

MIT 许可证

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