Go to file
2019-03-10 15:09:55 +08:00
.gitignore Initial commit 2017-07-12 12:23:33 +08:00
dns.c Add files via upload 2019-01-26 11:53:32 +08:00
dns.h Add files via upload 2018-12-07 09:29:41 +08:00
http.c Add files via upload 2019-03-10 05:23:50 +08:00
http.h Add files via upload 2019-03-10 05:23:50 +08:00
LICENSE SpecialProxy 2018-10-14 11:58:56 +08:00
main.c Update main.c 2019-03-10 15:09:55 +08:00
main.h Add files via upload 2018-12-07 09:29:41 +08:00
Makefile Add files via upload 2019-01-26 11:53:32 +08:00
README.md Add files via upload 2019-03-10 05:38:05 +08:00
SpecialProxy.sh Add files via upload 2019-03-10 05:23:50 +08:00
timeout.c Add files via upload 2019-02-19 12:27:43 +08:00
timeout.h Add files via upload 2019-01-26 11:53:32 +08:00

SpecialProxy

用epoll多路复用io写的一个超匿HTTP代理轻快自带DNS解析
主要用来配合客户端: https://github.com/mmmdbybyd/CProxy

SpecialProxy有如下可选功能
1.  可以配合CProxy等客户端进行Host伪装:  
    普通HTTP代理通过请求头首行的host或者Host头域字段获得目标主机  
    SpecialProxy不从首行获取目标主机  它可以自定义代理头域默认是Host。  

2.  可以配合CProxy将TCP伪装成HTTP流量  
    普通的HTTP代理服务端只是判断CONNECT请求方法为SSL代理  
    SpecialProxy可以自定义SSL特征的字符串  
    请求头中包含有自定义的字符串则判定为SSL代理默认是CONNECT。  

3.  针对客户端同一个连接同时发送多个HTTP请求头  
    普通HTTP代理如果遇到多个连续的HTTP请求头只重新拼接第一个请求头  
    SpecialProxy可以开启严格模式-a参数对所以请求头都重新拼接。  

4.  可以做openvpn之类的转接  
    -L参数设置重定向到本地端口的头域比如-L Local  
    然后请求头中含有Local: 443代理会将请求发送到127.0.0.1:443。  

5. 配合CProxy的数据编码功能可以科学上网:
    -e设置数据编码的code(对于上网数据每个字节都+(-)code)
    对客户端Host以及请求附带的数据编码
    服务器的返回数据也编码。  
启动参数:
-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 连接超时时间, 单位: 分         默认不超时  
-i 忽略host前字符个数             默认为0(部分人用得到)  
-u 设置uid
-a                                对所有HTTP请求重新拼接  
-h 显示帮助  
-w 工作进程数  
BUG
待发现
编译:
Linux/Android:  
    make  
启动:
    #SpecialProxy -l 监听端口 -p 代理头 -t 超时(分钟) -e 加密编码 -d dnsIP  
    SpecialProxy -l 80 -p Meng -t 2 -e 170 -d 8.8.8.8