Skip to content

jyi2ya/shunter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

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 倒反而应该很好实现。但是太晚了所以也摆了

About

A minimal TCP/UDP proxy in Perl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages