就是代理服务器自动解析 PAC 文件(其实就是 javascript ),知道如何将请求转发出去,不需要浏览器去解析判断了。
这样的话,只要在浏览器或者系统网络里面指定代理服务器即可,而不需要指定 PAC 文件,好处就是:
1 、有些浏览器对 PAC 文件支持不是很好,而且如果 PAC 文件太大的话,浏览器会卡
2 、统一了设置,不需要每个浏览器都设置 PAC 地址了,直接设置系统代理即可,这样对于那些移动设备也可以很方便通过局域网使用该代理。
3 、标准的 PAC 文件其实能力还是挺有限的(能够判断的条件有限),如果 PAC 文件不局限于浏览器来解析的话,那可以增加很多扩展,这样就能支持更多的逻辑。
4 、可以在代理服务器做一些解析 PAC 的缓存,这样的话,可以提高全局的性能。
我之前做了一个粗糙的版本(原谅我,安利一下): https://github.com/liangqing/PacProxy ,
之后自己(包括妹子)跌跌撞撞用了三年,功能也比较有限,有很多缺点:
* 仅仅支持 socks5 代理服务器,这个可能是最大缺陷,一定要支持 http/https 才行(否则就要在前面套一个 privoxy 转换,好麻烦)
* 有 Bug ,不过写了个脚本自动重启,所以一直也能用。。所以就没去修复了。。
* 代码已经比较过时了, nodejs 4 出来以后就没法用了,因为有些接口变了。
所以在这里想问下大家,觉得有必要做一个支持 PAC 文件的代理服务器么?或者现在已经有很成熟的方案了?
如果有必要的话,撸主就继续完善它,把它存在的问题解决掉
如果没必要的话,或者现在已经有很成熟的解决方案了,撸主就自己凑合也能用了。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.