[教程] Porter-简单实现单端口多用户/端口复用/端口转发
-
因个人需求,通过搜索引擎学习法,用go简单实现了一下,已编译成可执行文件。下面是一些使用场景举例,如果你也有类似的需求,可以试试用这个项目实现。项目地址
运行参数
-config
指定配置文件名(default:config.json);也可以指定远程地址(example: http://rss.example.com/config ),当指定远程地址的时候,每分钟请求一次更新配置参数
-l
指定监听的端口(default:8080)配置文件参数
param - http请求头的Host内容,客户端填写的混淆参数 address - 目标服务的地址和端口(可以本地地址也可以远程地址) host - 转发后请求头的Host内容(留空则不处理Host)
使用场景举例
1. 单端口多用户
{ "forward":[ { "param":"user1.example.com", "address":"xxx.com:6077", "host":"" }, { "param":"user2.example.com", "address":"xxx.com:6077", "host":"" } ] }
运行程序后,只有混淆参数为
user1.example.com
和user2.example.com
的连接会转发到xxx.com:6077
2. 端口复用
{ "forward":[ { "param":"proxy1.example.com", "address":"a.com:6077", "host":"" }, { "param":"proxy2.example.com", "address":"b.com:6077", "host":"" } }
运行程序后,混淆参数为
proxy1.example.com
的连接转发到a.com:6077
,混淆参数为proxy2.example.com
的连接转发到b.com:6077