linux 配置 privoxy 实现系统全局/自动代理
2020-10-24 tech linux proxy 4 mins 1 图 1586 字
用 Privoxy 可以将 socks5 代理转成 http 代理,并根据要访问的地址使用不同的代理,在桌面环境下是个非常有用的软件。对于开发人员来说更为重要,比如根据不同的域名指向不同的开发环境和测试环境。这篇记录使用的过程。
1. 安装并启动
apt-get install privoxy
systemctl enable privoxy
systemctl restart privoxy
2. 配置 privoxy
privoxy 的配置目录在文件夹 /etc/privoxy
下。
进入目录 /etc/privoxy
,可以看到目录结构大致为:
config
配置文件,这个文件很长。。*.action
代理规则文件*.filter
过滤规则文件
privoxy 的 filter (过滤)功能,可以用来实现广告拦截。不过这里只希望实现自动代理,在配置文件中把下面的 actionsfile 和 filterfile 内容注释掉:
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action # Main actions file
actionsfile user.action # User customizations
filterfile default.filter
filterfile user.filter # User customizations
然后加上自己的配置文件
actionsfile kelu.action
当然,如果我们想全部代理也可以:
{+forward-override{forward-socks5 127.0.0.1:31080 .}}
.
/
可以指定转换后的 HTTP 代理地址,也可以使用默认端口 8118
:
listen-address 127.0.0.1:8118
listen-address [::1]:8118
另一种写法的配置文件示例:
default = +forward-override{forward .}
pac = +forward-override{forward 127.0.0.1:8080}
{default}
/
{pac}
.baidu.com
.qq.com
3. 自动生成配置文件
使用 gfwlist2privoxy 自动生成配置文件。
apt-get intall python-pip
pip install gfwlist2privoxy
wget https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
gfwlist2privoxy -i gfwlist.txt -f /etc/privoxy/gfwlist.action -p 127.0.0.1:31080 -t socks5
运行后便生成一个 gfwlist.action,在 privoxy 里将其配置进去即可。
actionsfile gfwlist.action
说明:
-i/--input 输入,本地 gfwlist 文件或文件 URL。这里使用上面的 gfwlist
-f/ --file 输出,即生成的 action 文件的目录。这里输出到 /etc/privoxy/gfwlist.action
-p/ --proxy 代理地址,生成后可以修改。这里是 127.0.0.1:1081
-t/ --type 代理类型,生成后也可以修改。这里是 socks5
--user-rule 用户自定义规则文件,这个文件中的规则会被追加到 gfwlist 生成的规则后面