forward-socks5 / 127.0.0.1:1080 . (注意1080后有个空格和点。其意思就是启用父socks5代理127.0.0.1:1080)
如果是用polipo,
1. 下载 Polipo,请至其官网http://www.pps.jussieu.fr/%7Ejch/software/polipo/
系统平台 所有
运行环境 所有
官方网站- http://www.pps.jussieu.fr/%7Ejch/software/polipo/,
(Polipo官方网站 : http://www.pps.jussieu.fr/~jch/software/polipo/
Polipo手册:
多页版: http://www.pps.jussieu.fr/~jch/software/polipo/manual/
单页版: http://www.pps.jussieu.fr/~jch/software/polipo/polipo.html
PDF版: http://www.pps.jussieu.fr/~jch/software/polipo/polipo.pdf
源码和安装包: http://www.pps.jussieu.fr/~jch/software/files/polipo/
Solipo : http://serennz.sakura.ne.jp/toybox/solipo/ )
2. 配置 Polipo
(1). 将 Polipo 解压到任意目录。
(2). 将 config.sample 文件复制为 config 文件,无扩展名。
(3). 编辑 config 文件。
首先找到代理服务器地址及端口部分:
# proxyAddress = “0.0.0.0″ # IPv4 only
proxyAddress = "127.0.0.1"
将proxyAddress = "127.0.0.1" 注释掉,在其下添加如下所示部分:
proxyAddress = "0.0.0.0"
proxyPort = 8123 (8123为polipo.exe的默认端口,无需修改)
然后再查找访问控制部分:
# allowedClients = “127.0.0.1, 134.157.168.0/24″
将其改为或直接在其下添加:
#allowedClients = 127.0.0.1
allowedPorts = 1-65535
本文的目的是所有的客户端电脑均可使用该代理服务器,因此允许的客户端地址为 不限制,开放端口为所有端口。
最后查找代理转发部分:
socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5
上面2行如果是被注释状态,需把他们启用。(其意思就是启用父socks5代理127.0.0.1:1080)
至此,配置部分就完成了,(然后复制c:\windows\system32\cmd.exe文件到c: \program files\polipo目录,双击cmd.exe,在cmd.exe中的提示符后面输入polipo.exe -c config 然后回车,会出现一行内容:
DNS: couldn't open /etc/resolv.conf: No such file or directory.这是正常的。
不要直接打开polipo.exe,直接打开polipo.exe是没用的。你也可以在polipo目录中,用记事本新建一个bat文件,内容为:。
polipo.exe -c config
命名为比如start polipo.bat,以后双击这个bat文件,就把polipo程序启动了,无需在cmd.exe中的提示符后面输入命令,这样做比较方便。 到此设置就完成了).
如果是用3proxy, 则3proxy.cfg的内容如下:
nscache 65536 timeouts 1 5 30 60 180 1800 15 60 users "linfeng:CL:iloveu" auth iponly allow * parent 1000 socks5+ 127.0.0.1 1080 (其意思就是启用父socks5代理127.0.0.1:1080) proxy -n -a -p3128
在命令行里输入 3proxy.exe 3proxy.cfg,回车。 然后设置本地的浏览器的http代理为127.0.0.1:3128,即可翻墙。 (参见
http://briteming.blogspot.co.uk/2013/04/3proxysocks-proxyhttp-proxy.html)
如果本地的代理客户端是http proxy,比如goagent,wallproxy, 则上面的socks5+改为http,后面的
端口1080改为本地的http代理客户端 的端口,比如8087
( 其意思就是启用父http代理127.0.0.1:8087)
如果pc上运行的代理客户端是goagent+privoxy,则以管理员身份运行privoxy.exe,然后鼠标右键点击系统托盘处的privoxy的图标,选择edit-main configuration,会弹出config.txt,搜索该txt中的listen-address 127.0.0.1:8118,把它改为listen-address 0.0.0.0:8118,然后加上一行:
forward / 127.0.0.1:8087 (其意思就是启用父http代理127.0.0.1:8087)
如果pc上运行的代理客户端是goagent+polipo,则查找代理转发部分:
#parentProxy = "squid.example.org:3128",在其下面加一行:
parentProxy = "127.0.0.1:8087" ( 其意思就是启用父http代理127.0.0.1:8087)
至于安卓手机中,能设置http proxy的浏览器建议使用opera mobile,具体参见http://briteming.blogspot.kr/2013/02/androidhttp-opera-mobile.html,注意:要把http server栏设置为你的pc在无线局域网中的ip地址,我的为192.168.1.100,端口号则设为8118或8123或3128(具体写为192.168.1.100:8118或192.168.1.100:8123或192.168.1.100:3128),依你在pc上是使用privoxy还是polipo还是3proxy来定。https server栏无需填写。至于如何获悉你的pc在无线局域网中的ip地址,请参见http://briteming.blogspot.kr/2013/04/ip.html,这样即可使安卓手机上的opera mobile翻墙了。
以上的代理客户端程序goagent或shadowsocks或shadowsocks-nodejs或sockstunnel或ssh tunnel client,无需 额外修改其配置文件。
Proxy管理器3proxy
3proxy是款功能强大的代理软件,本身支持HTTP及Socks5代理,同时还支持将HTTP代理转为socks5代理,及多代理负载均衡。
1 | yum install 3proxy |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #后台进程 daemon #DNS服务器 nserver 8.8.8.8 #DNS缓存 nscache 65536 #超时 timeouts 1 5 30 60 180 1800 15 60 #日志 log /var/log/3proxy.log logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" rotate 30 #用户 CL明文密码 users user1:CL:pwd user2:CL:pwd #权限控制参数 #allow <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdaylist> <timeperiodlist> #deny <userlist> <sourcelist> <targetlist> <weekdaylist> <timeperiodlist> #开启socks和http代理,指定监听端口和出口IP auth iponly strong allow user1,user2 allow * 192.168.0.0/16 * socks -p1080 -e192.168.1.1 socks -p1081 -e192.168.1.2 proxy -p8080 -e192.168.1.1 proxy -p8081 -e192.168.1.2 flush #开启HTTP代理,端口3128,轮换出口IP auth iponly allow * parent 500 http 192.168.1.2 0 parent 500 http 192.168.1.1 0 proxy -p3128 flush #开启上层代理,HTTP端口1234,轮换上层socks5代理 auth iponly allow * parent 500 socks5 192.168.1.1 7777 parent 500 socks5 192.168.1.1 7070 parent 500 connect 192.168.1.1 3128 proxy -p1234 flush |
启动:
1 | 3proxy config.cfg |
命令行工具:
1 | socks -d -iIP 192.168.1.1 -pPORT 1080 -eIP 192.168.1.1 |
Windows下Bin目录新建配置文件3proxy.cfg,安装为系统服务并启动:
1 | 3proxy.exe --install ------------------- |
相关帖子:https://briteming.blogspot.com/2013/01/3proxy.html
-------------
在Mac上,使用polipo
通过Homebrew安装polipo并在~/.polipo
新建配置文件:
$ brew install polipo
$ vi ~/.polipo
socksParentProxy = "127.0.0.1:1080"
socksProxyType = "socks5"
proxyAddress = "127.0.0.1"
proxyPort = 8080
localDocumentRoot = "~/.www/"
dnsNameServer = "127.0.0.1"
dnsUseGethostbyname = false
dnsMaxTimeout = 1s
dnsQueryIPv6 = false
cacheIsShared = true
diskCacheRoot = ""
disableVia = true
censorReferer = false
tunnelAllowedPorts = 1-65535
disableLocalInterface = true
设置开机启动:
$ ln -sfv /usr/local/opt/polipo/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.polipo.plist
创建~/.www
目录,并使用Mono_Pac项目生成符合自己需求的Pac文件:
$ mkdir ~/.www
$ git clone https://github.com/blackgear/mono_pac.git
$ cd ./src
$ python ./make.py -p "PROXY 127.0.0.1:8080" -o ~/.www/proxy.pac
进入系统偏好设置-网络-高级-代理,将自动代理配置URL设置为http://127.0.0.1:8080/proxy.pac
使GUI程序通过Pac决定是否走代理。
修改~/.bash_profile
,加入与代理有关的环境变量使得命令行程序通过代理连接网络:
$ vi ~/.bash_profile
export all_proxy="http://127.0.0.1:8080"
export http_proxy=$all_proxy
export https_proxy=$all_proxy
export ftp_proxy=$all_proxy
export rsync_proxy=$all_proxy
通过Homebrew安装socat并修改~/.ssh/config
,使ssh连接通过代理进行连接:
$ brew install socat
$ vi ~/.ssh/config
Host *
ServerAliveInterval 5
ServerAliveCountMax 3
ControlMaster auto
ControlPath ~/.ssh/%h-%p-%r
ControlPersist yes
ProxyCommand /usr/local/bin/socat - proxy:localhost:%h:%p
修改~/.gitconfig
使git通过代理进行连接:
$ cat ~/.gitconfig
[https]
proxy = 127.0.0.1:8080
[http]
proxy = 127.0.0.1:8080