您尚未登录。

#1 2017-08-30 23:32:31

xuchunyang
会员
注册时间: 2017-08-30
帖子: 9

[已解决] 有没有工具可以设置 Proxy Auto Configure (PAC) 模式?

我在 macOS 下使用 ShadowSocks-NG,它有一个 Proxy Auto Configure 模式,利用它 Chrome/Safari 等程序就能自动按需选择是否走代理。

印象中 GNOME 的网络设置有这个功能。但我目前的窗口管理器是 EXWM,或者说是一只 Emacs,没有设置代理的功能。Arch 下有没有单独的工具来提供这个 “PAC 模式”呢?让比如 Chromium/Firefox 能透过它来自动切换代理。

我目前的知道的方法是利用浏览器插件,比如 Chrome 下的 SwitchyOmega,我觉得有些麻烦,一来每个浏览器都要装,二来就 SwitchyOmega 来说,登录 Google 帐号后,Chrome/Chromium 会同步插件的设置,所以每次我从 Arch 切回 Mac 时,就要把 SwitchyOmega 改成直连,反之又要改成 PAC 模式。

最近编辑记录 xuchunyang (2017-09-01 02:38:05)

离线

#2 2017-08-30 23:43:30

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: [已解决] 有没有工具可以设置 Proxy Auto Configure (PAC) 模式?

有啊,gconf / dconf 这种东西,火狐还是认的。

我使用的 privoxy,倒不需要每个浏览器都安装。另外火狐也不需要安装扩展来使用PAC代理的。

Google Chrome 为什么要同步明显是 local 的设置啊……

离线

#3 2017-08-31 00:08:51

xuchunyang
会员
注册时间: 2017-08-30
帖子: 9

Re: [已解决] 有没有工具可以设置 Proxy Auto Configure (PAC) 模式?

依云 说:

Google Chrome 为什么要同步明显是 local 的设置啊……

我又确认了下,SwitchyOmega 的设置不会同步,我之前搞错了。但这更麻烦,因为只要开了 SwitchyOmega,Shadowsocks-NG 的 PAC 模式都没用了,所以只能在 Mac 下禁用掉,到 Arch 下再打开。因为看起来 Google Chrome/Chromium 会同步一个插件有没有禁用的状态(正常情况下,这是个很好的功能)。

离线

#4 2017-08-31 00:41:26

xuchunyang
会员
注册时间: 2017-08-30
帖子: 9

Re: [已解决] 有没有工具可以设置 Proxy Auto Configure (PAC) 模式?

依云 说:

我使用的 privoxy,倒不需要每个浏览器都安装。另外火狐也不需要安装扩展来使用PAC代理的。

试了下,的确可以。现在还需要看看怎么把 PAC 的规则转换成 Privoxy 的规则。

离线

#5 2017-09-01 02:37:13

xuchunyang
会员
注册时间: 2017-08-30
帖子: 9

Re: [已解决] 有没有工具可以设置 Proxy Auto Configure (PAC) 模式?

已经搞定了,利用 https://github.com/snachx/gfwlist2privoxy 把 GFWlist 转成 Privoxy 的 Action 文件。

#------------------------------ [ ShadowSocks ] ------------------------------#
# 安装
sudo pacman -S shadowsocks-libev
# 配置
# /etc/shadowsocks/local.json
# 启动
sudo systemctl start shadowsocks-libev@local.service
# 测试
curl -x socks5://localhost:1080 ip.cn
# 启用
sudo systemctl enable shadowsocks-libev@local.service

#-------------------------------- [ Privoxy ] --------------------------------#
# 安装
sudo pacman -S privoxy
# 配置,/etc/privoxy/config 加入

listen-address  127.0.0.1:1087  # 默认 8118
actionsfile gfwlist.action

# 生成 gfwlist.action
sudo pacman -S python2-pip
pip2 install --user gfwlist2privoxy
wget https://raw.githubusercontent.com/gfwli … fwlist.txt
~/.local/bin/gfwlist2privoxy -i gfwlist.txt -f gfwlist.action -p 127.0.0.1:1080 -t socks5
sudo cp gfwlist.action /etc/privoxy/

# 启动
sudo systemctl start privoxy.service
# 测试,分别访问 ip.cn 和 YouTube
chromium --proxy-server="localhost:1087"
# 启用
sudo systemctl enable privoxy.service

离线

页脚