2017-07-12 12:35:30 +08:00
|
|
|
|
SpecialProxy
|
|
|
|
|
======
|
2019-03-10 05:23:50 +08:00
|
|
|
|
用epoll多路复用io写的一个超匿HTTP代理,轻快,自带DNS解析
|
|
|
|
|
主要用来配合客户端: https://github.com/mmmdbybyd/CProxy
|
2017-07-12 12:35:30 +08:00
|
|
|
|
|
2019-03-10 05:38:05 +08:00
|
|
|
|
##### SpecialProxy有如下可选功能:
|
|
|
|
|
1. 可以配合CProxy等客户端进行Host伪装:
|
|
|
|
|
普通HTTP代理通过请求头首行的host或者Host头域字段获得目标主机,
|
2019-03-10 05:23:50 +08:00
|
|
|
|
SpecialProxy不从首行获取目标主机, 它可以自定义代理头域(默认是Host)。
|
2017-07-12 12:35:30 +08:00
|
|
|
|
|
2019-03-10 05:38:05 +08:00
|
|
|
|
2. 可以配合CProxy将TCP伪装成HTTP流量:
|
|
|
|
|
普通的HTTP代理服务端只是判断CONNECT请求方法为SSL代理,
|
|
|
|
|
SpecialProxy可以自定义SSL特征的字符串,
|
|
|
|
|
请求头中包含有自定义的字符串则判定为SSL代理(默认是CONNECT)。
|
2017-07-12 12:35:30 +08:00
|
|
|
|
|
2019-03-10 05:38:05 +08:00
|
|
|
|
3. 针对客户端同一个连接同时发送多个HTTP请求头
|
|
|
|
|
普通HTTP代理如果遇到多个连续的HTTP请求头只重新拼接第一个请求头,
|
2017-07-12 12:35:30 +08:00
|
|
|
|
SpecialProxy可以开启严格模式(-a参数),对所以请求头都重新拼接。
|
|
|
|
|
|
2019-03-10 05:38:05 +08:00
|
|
|
|
4. 可以做openvpn之类的转接:
|
|
|
|
|
-L参数设置重定向到本地端口的头域,比如-L Local,
|
|
|
|
|
然后请求头中含有Local: 443,代理会将请求发送到127.0.0.1:443。
|
2017-07-12 12:35:30 +08:00
|
|
|
|
|
2019-03-10 05:38:05 +08:00
|
|
|
|
5. 配合CProxy的数据编码功能可以科学上网:
|
|
|
|
|
-e设置数据编码的code(对于上网数据每个字节都+(-)code),
|
|
|
|
|
对客户端Host以及请求附带的数据编码,
|
|
|
|
|
服务器的返回数据也编码。
|
2018-11-24 10:36:50 +08:00
|
|
|
|
|
2017-07-12 12:35:30 +08:00
|
|
|
|
##### 启动参数:
|
2019-01-26 11:53:32 +08:00
|
|
|
|
-l [监听ip:]监听端口 默认监听IP为 "0.0.0.0"
|
|
|
|
|
-p 代理头域 默认为 "Host"
|
|
|
|
|
-L 本地代理头域 默认为 "Local"
|
|
|
|
|
-d DNS查询IP[:端口] 默认为 "114.114.114.114"
|
|
|
|
|
-s SSL代理字符串 默认为 "CONNECT"
|
|
|
|
|
-e host和数据的编码代码(128-255) 默认为0不编码
|
|
|
|
|
-t 连接超时时间, 单位: 分 默认不超时
|
2019-03-10 05:23:50 +08:00
|
|
|
|
-i 忽略host前字符个数 默认为0(部分人用得到)
|
2018-11-28 12:14:35 +08:00
|
|
|
|
-u 设置uid
|
2019-01-26 11:53:32 +08:00
|
|
|
|
-a 对所有HTTP请求重新拼接
|
2017-07-12 12:35:30 +08:00
|
|
|
|
-h 显示帮助
|
|
|
|
|
-w 工作进程数
|
|
|
|
|
|
|
|
|
|
##### BUG:
|
2018-11-28 12:14:35 +08:00
|
|
|
|
待发现
|
2018-10-14 11:58:56 +08:00
|
|
|
|
|
|
|
|
|
##### 编译:
|
|
|
|
|
~~~~~
|
|
|
|
|
Linux/Android:
|
|
|
|
|
make
|
2019-03-10 05:23:50 +08:00
|
|
|
|
~~~~~
|
|
|
|
|
|
|
|
|
|
##### 启动:
|
|
|
|
|
~~~~~
|
|
|
|
|
#SpecialProxy -l 监听端口 -p 代理头 -t 超时(分钟) -e 加密编码 -d dnsIP
|
|
|
|
|
SpecialProxy -l 80 -p Meng -t 2 -e 170 -d 8.8.8.8
|
2019-03-10 05:38:05 +08:00
|
|
|
|
~~~~~
|