jyi2ya/shunter
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Shunter ======= 一个 tcp/udp 转发工具,语法抄的 gost,比如这样:./shunter -L tcp://0.0.0.0:7890/192.168.1.3:10809,这个命令可以监听本地的 7890 端口,并且把流量转发到 192.168.1.3 的 10809 端口。 那么!它相比 gost 有什么优势呢?答案是 gost 需要 14 MiB,而它只要 5.3 KiB 就可以了。同时使用 perl 编写,一个 ASCII 文件拷到哪里都能用,不像 gost 那样还要先对一对目标机器的 target。依赖项只有 perl-base,在大多数 Linux 上都默认安装了。 虽然功能又少性能又低,但是它小小的很可爱,而且一次编写,到处运行(大嘘),所以就这样吧。 顺便它里面是用 select 实现的,如果同时有超过 500 个连接它就爆了。但是我聪明地让它在监听每个端口之前 fork 一份,所以实际上它是每个监听的端口超过 500 个连接才会爆,而不是所有监听的端口共享同一个连接数上限。我简直是天才 lol 之后应该还会增加以 http proxy 的形式监听端口,或者将流量通过 http proxy 转发出去。但是暂时还没搞懂 http proxy 的连接复用是怎么整的,感觉要是得写一个完整的 http parser 的话实在有点不文明了,所以先摆一会儿…… CONNECT 倒反而应该很好实现。但是太晚了所以也摆了