缘由
前一段时间,firefox浏览器自动升级了,常常使用的代理拓展工具Forxyproxy也遇到了一些错误,一打开就报json错误,只能选择全部走代理或者全部直连,很不方便,于是在网上接触了到这款叫Privoxy的软件。Privoxy是一个强大的工具,开源,免费,这个软件从2002年就有了,但它更新很慢,不过真的算是挺好用方便的;它至少可以实现代理转发;广告屏蔽;自动切换线路等功能(需要事先转换规则)。在查阅了一些资料后,摸索了一天,基本实现了以上三个功能。部分地方仍然有瑕疵,如有错误还请指正。
客户端下载安装
首先先到官网下载,Prixoxy支持非常多的平台,几大主流操作系统均支持。可以根据需要选择适合自己操作系统的版本。点此进入下载页面因为我是Windows,在这里我选择win32,版本我选择最新的3.0.26。我下载的是绿色版,也就是那个zip包,当然只是个人喜好,使用起来安装版和绿色版没有并没有太大的区别。
安装版双击安装,绿色版直接解压。一切妥当之后在软件路径下会有一个叫做config.txt的文件,这个文件就是我们配置这款软件的地方。
自动切换代理
用文本编辑器打开config.txt这个文件,搜索“listen-address 127.0.0.1:8118
”字段,并跳转到该字段,这个字段表明Privoxy会监听在本机的8118端口,如果你只是在本机上使用privoxy,可以不用管。如果你想让局域网或虚拟机里的电脑也使用你本机上的代理,你可以把127.0.0.1
改为0.0.0.0
也就是listen-address 127.0.0.1:8118
代表可以从任何地址联入,如果你想要监听其他端口,就把8118改为你想要的端口。(在config.txt中字段前面有"#“代表字段不被识别,也就是说如果你想添加或在原设置上做一些变动,务必保证你修改的字段前没有“#”)
有一个能够自动将AutoProxy的规则切换成Privoxy规则的脚本autoproxy2privoxy。有了这个脚本我们就容易多了,进入该项目的github页面如果你对Linux很擅长可以按教程安装自己生成一个文件出来。如果你不想生成这里也有那里的脚本,但那个脚本并不能实现代理的自动切换。因此你必须自己手动设置一下。
首先我们需要搞到AutoProxy的规则文件并设法将其转换成为Privoxy文件,这里我在网上找到了解决方案,需要在Linux环境下才能够成功,另外,那些PAC的地址很可能都无法直接连接成功,所以即使你有Linux虚拟机的话最好能够连接国际互联网保证能够顺利下载下来先,如果你有一台VPS那就再好不过了。我现在在Ubuntu环境下示范。按照作者给的步骤autoproxy2privoxy
连上服务器并下载该脚本:请按顺序执行以下指令,Ubuntu的指令用橙色来表示,CentOS的指令用紫色来表示。Ubuntu用户复制橙色指令,CentOS用户复制紫色指令。以root身份执行。
脚本安装
sudo apt-get install git -y
yum install git -y
下载源码
sudo git clone https://github.com/cckpg/autoproxy2privoxy.git
git clone https://github.com/cckpg/autoproxy2privoxy.git
定义下载地址
gfwlist=https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
下载规则文件
sudo wget -qO- "${gfwlist}" | base64 -d > gfwlist.txt
wget -qO- "${gfwlist}" | base64 -d > gfwlist.txt
提前设置代理信息
这个地方没有限制,取决于你用什么样的工具和你的工具监听在什么样的端口,比如说你使用Gae并且使用http方式监听在本机的8080端口,那么你的PROXY_ADDR就应该等于127.0.0.1:8080
;PROXY_TYPE这一栏就应填写HTTP;如果你使用的是代理类型是SOCKS5并且监听的本地的7000端口,你的下列字段就应该分别改成PROXY_ADDR=127.0.0.1:1080 PROXY_TYPE=SOCKS5
;值得注意的是,如果你使用TOR的话PROXY_TYPE那一行最好的是填写SOCKS5T。据说这是专门为TOR优化后的选择。
sudo export PROXY_ADDR=127.0.0.1:1080 PROXY_TYPE=SOCKS5
export PROXY_ADDR=127.0.0.1:1080 PROXY_TYPE=SOCKS5
给脚本赋权
sudo chmod +x autoproxy2privoxy
chmod +x autoproxy2privoxy
执行命令生成文件
先执行一下命令进入脚本目录中:
cd autoproxy2privoxy
然后执行以下指令生成文件:
sudo bash autoproxy2privoxy gfwlist.txt > gfw.action
bash autoproxy2privoxy gfwlist.txt > gfw.action
如果成功,你会在该脚本的目录里面看到一个名为gfw.action的文件(如果你试了多次没成功,这里有已经生成好的文件),此时利用工具把这个文件下载到电脑上来,并放到privoxy的安装路径下,然后进入config.txt里面在最下面添加一行:
actionsfile gfw.action
然后重新启动privoxy,此时你应该能够实现自动切换代理。