Go to file
2018-11-28 12:14:35 +08:00
.gitignore Initial commit 2017-07-12 12:23:33 +08:00
dns.c SpecialProxy 2018-10-14 11:58:56 +08:00
dns.h Add files via upload 2017-07-12 12:52:46 +08:00
http.c Add files via upload 2018-11-28 12:14:35 +08:00
http.h Add files via upload 2018-11-28 12:14:35 +08:00
LICENSE SpecialProxy 2018-10-14 11:58:56 +08:00
main.c Add files via upload 2018-11-28 12:14:35 +08:00
main.h Add files via upload 2018-11-28 12:14:35 +08:00
Makefile Add files via upload 2018-11-28 12:14:35 +08:00
README.md Add files via upload 2018-11-28 12:14:35 +08:00
SpecialProxy.sh Add files via upload 2018-11-24 14:49:11 +08:00

SpecialProxy

用epoll多路复用io写的一个HTTP代理轻快自带DNS解析

SpecialProxy有如下特性
1.  普通HTTP代理通过请求头首行的host或者Host头域字段获得目标主机  
    SpecialProxy不从首行获取目标主机  
    它可以自定义代理头域默认是Host。  

2.  普通HTTP代理SSL代理是判断CONNECT请求方法  
    SpecialProxy可以通过自定义特定字符串进行SSL代理默认是CONNECT。  

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

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

5. -e设置数据编码的代码
对客户端uri Host Referer以及请求附带的数据编码
服务器的返回数据也编码
启动参数:
-l [监听ip:]监听端口    默认监听IP为 "0.0.0.0"  
-p 代理头域             默认为 "Host"  
-L 本地代理头域         默认为 "Local"  
-d DNS查询IP[:端口]     默认为 "114.114.114.114"  
-s SSL代理字符串        默认为 "CONNECT"  
-u 设置uid
-e 设置代理CProxy的数据编码代码(1-127)
-a                      对所有HTTP请求重新拼接  
-h 显示帮助  
-w 工作进程数  
BUG
待发现
编译:
Linux/Android:  
    make  
Android-ndk:  
    ndk-build