PAC

AutoProxy只让Firefox可以自动地选择性翻墙,怎么让GNOME下的程序也利用上AutoProxy的规则呢?AutoProxy2PAC可以自动把AutoProxy规则转换为PAC(Proxy Auto Configuration)脚本。只需在GNOME的网络代理设置里面,或者任何支持PAC的软件里面加入生成的PAC脚本网址就可以了。

但是这个项目位于appspot.com的域名下,这是被盾的,所以直接连是不行的。可以在国外的VPS上,用一个Cron任务从AutoProxy2PAC项目的主页获取脚本,用VPS上脚本的HTTP URL来访问代理。这样理论上可行,实际上由于AutoProxy里面规则很多,这个PAC文件有200多k,这样会降低效率(一般来说,程序不会每次都抓取这个脚本,应当是过一段时间进行更新)。如果到VPS的网速不够,那么这样会更慢。

这个问题也好办。在本机上再运行一个Cron任务,定期抓取VPS上的PAC脚本,用本机的脚本做代理,速度会有改善。

但是PAC并不是很好用。Epiphany浏览器貌似无法识别GNOME的PAC代理,而GNOME貌似不支持file:///协议的PAC脚本地址。在Mozilla SeaMonkey和Firefox里面,PAC代理并不会负责DNS解析,虽然Youtube,Blogger,Dropbox之类的可以上去,Twitter和Facebook这两个被DNS污染的网站是上不去的,因为DNS还是本地解析,有抓包为证:

所以,还是老老实实用AutoProxy吧。