SpecialProxy/README.md

55 lines
2.3 KiB
Markdown
Raw Normal View History

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
##### SpecialProxy有如下特性
1. 普通HTTP代理通过请求头首行的host或者Host头域字段获得目标主机
2019-03-10 05:23:50 +08:00
SpecialProxy不从首行获取目标主机 它可以自定义代理头域默认是Host
普通http代理用默认的'Host'Host伪装使用自定义代理
2017-07-12 12:35:30 +08:00
2. 普通HTTP代理SSL代理是判断CONNECT请求方法
SpecialProxy可以通过自定义特定字符串进行SSL代理默认是CONNECT
2019-03-10 05:23:50 +08:00
用于将TCP伪装成HTTP流量
2017-07-12 12:35:30 +08:00
3. 普通HTTP代理如果遇到多个连续的HTTP请求头只重新拼接第一个请求头
SpecialProxy可以开启严格模式-a参数对所以请求头都重新拼接。
2019-03-10 05:23:50 +08:00
用于处理客户端一个连接同时发送多个HTTP请求头
2017-07-12 12:35:30 +08:00
4. -L参数设置重定向到本地端口的头域比如-L Local
2019-03-10 05:23:50 +08:00
然后请求头中含有Local: 443代理会将请求发送到127.0.0.1:443。
用于openvpn转接之类的
2017-07-12 12:35:30 +08:00
2018-11-28 12:14:35 +08:00
5. -e设置数据编码的代码
2019-02-19 12:31:05 +08:00
对客户端Host以及请求附带的数据编码
2019-03-10 05:23:50 +08:00
服务器的返回数据也编码。
用于科学上网
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
2018-12-21 19:13:07 +08:00
~~~~~