pac(proxy autoconfiguration)文件其实就是一个 JavaScript 文件,文件扩展名是什么其实没有关系,但一般都名为 pac。
pac 文件中必须包含 FindProxyForURL(url, host) 的函数,支持 pac 自动代理的浏览器将会根据这个函数来判断当前访问的网址走何种通道。最简单的示例如下:
function FindProxyForURL(url, host) {
return 'DIRECT';
}
上面那段代码说明对于所有 url,都直连,不走任何代理。
FindProxyForURL 函数除了可以返回 “DIRECT” 外,还可以返回指定类型、主机和端口的代理。如:
// 本地 3721 端口的 http 代理
"PROXY 127.0.0.1:3721"
// 本地 8080 端口的 socks5 代理
"SOCKS5 127.0.0.1:8080"
可以同时指定多个方式,从第一种开始,一种无法连接使用下一种,直到成功或最后失败,如:
return "PROXY 127.0.0.1:3721; SOCKS5 127.0.0.1:8080; DIRECT";