Go to file
2017-07-12 12:31:13 +08:00
.gitignore Initial commit 2017-07-12 12:23:33 +08:00
dns.c Add files via upload 2017-07-12 12:29:56 +08:00
dns.h Add files via upload 2017-07-12 12:29:56 +08:00
http.c Add files via upload 2017-07-12 12:29:56 +08:00
http.h Add files via upload 2017-07-12 12:29:56 +08:00
LICENSE Initial commit 2017-07-12 12:23:33 +08:00
main.c Add files via upload 2017-07-12 12:29:56 +08:00
main.h Add files via upload 2017-07-12 12:29:56 +08:00
Makefile Add files via upload 2017-07-12 12:29:56 +08:00
README.me Add files via upload 2017-07-12 12:31:13 +08:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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  
  
##### 启动参数:  
    -l [监听ip:]监听端口    默认监听IP为 "0.0.0.0"  
    -p 代理头域             默认为 "Host"  
    -L 本地代理头域         默认为 "Local"  
    -d DNS查询IP[:端口]     默认为 "114.114.114.114"  
    -s SSL代理字符串        默认为 "CONNECT"  
    -a                      对所有HTTP请求重新拼接  
    -h 显示帮助  
    -w 工作进程数  
  
##### BUG  
    好像有些连接不关闭,需要定时重启代理
  
##### 编译:  
~~~~~
Linux/Android:  
    make DEFS=-DXMEMCPY  
Android-ndk:  
    ndk-build  
~~~~~