Firefox的pac自动代理

原文:http://burnyfox.hostzi.com/?p=339

代理管理方面以前一直用的是Foxyproxy,而且不用固定规则,都是用的临时规则,重启浏览器就没了;虽然有些被墙网站只需1,2条规则就可搞 定,但是遇到大量被墙的网站就麻烦了,那时我一般就直接用全局代理模式;那时Google还没挂,访问的网站中被墙的也不是特别多,还可以忍受,后来再想 用回Foxyproxy临时代理方案也不可能了,只能用autoproxy或者Foxyproxy订阅gfwlist。

升级Firefox4时Foxyproxy添加临时规则功能有个小bug,刚好Firefox4的js效率大幅提升,就开始用autoproxy提供的pac,配合一个一键调用指定编辑器编辑pac且自动重载pac的脚本使用(edit pac); 使用一段时间觉得规则太多了,且大多用不到,于是就把自带规则去掉自己编写,使用一段时间后就很少添加新规则了,规则数量从自带的3000条降到300多 条,这样匹配过程也能大大减少;使用pac还有个好处就是规则的自定义程度很高,比autoproxy和foxyproxy都灵活,另外ie也可使用,不 过ie本来就慢,加上pac会不会更慢;扩展主要是使用方便,不需学习;另外pac虽然简单,但一般用户要使用维护也不简单,我用的这个pac使用正则匹 配网址,还需要懂点正则。

前段时间下载115时发现ip地址被匹配到代理里去了,于是就到网上找了段匹配ip的正则表达式写到pac里;

1
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

115倒是正常了,后来发现youtube能打开但是无法加载视频,一直显示"an error occurred",开始以为是使用的代理问题,就没注意,youtube也不怎么上;过了一段时间一直这样,开始怀疑是pac规则的问题,于是用全局代 理播放,播放正常,用pac自动代理又显示error,应该是pac里前面定义的default规则的问题;首先就怀疑是之前添加的匹配ip地址的规则, 去掉这条规则果然正常播放,后来一想上面的正则只匹配了ip地址却没有匹配网址协议,于是加上协议头写到pac里再用pac模式播放就正常了。

1
^[a-zA-z]+:\/\/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

发表评论