2009年2月19日星期四

利用PAC的JS脚本自动配置代理


function FindProxyForURL(url, host){
if ((host == "localhost") ||(shExpMatch(host, "localhost.*"))||(host == "127.0.0.1"))
return "DIRECT";

if(shExpMatch(url, "https://*"))
return "DIRECT";

hostip=dnsResolve(host);
if (isInNet(hostip, "10.0.0.0", "255.0.0.0")||isInNet(hostip, "192.168.0.0", "255.255.0.0")||isInNet(hostip, "172.16.0.0", "255.240.0.0"))
return "DIRECT";

domains = ["google.cn","baidu.com","google.com","kaxin001.com"];
for(var i=0;i<domains.length;i++){
if(dnsDomainIs(host, domains[i]))
return "DIRECT";
}

return "PROXY 127.0.0.1:8000";
}


把以上文件存成proxy.pac文件,路径E:\proxy.pac

简单的解释:
domains = ["google.cn","baidu.com","google.com","kaxin001.com"];
这一句排除掉不需要用代理的网址,如果您确定某些网址不用代理一定能正常访问且速度比代理快,请把它写到上面去。
PROXY 127.0.0.1:8000 为您使用的代理服务器的配置,请自行修改为其他的。


IE下设置:
工具-选项-Internet 选项-连接-局域网设置,勾选使用自动配置脚本
填写:file://E:/proxy.pac

在FireFox中:
工具-选项-高级-网络-连接设置-自动代理配置URL
填写:file:///E:/proxy.pac

注意:IE和Firefox下的路径填写略有不同,如果您的proxy.pac的文件另存在其他地方,请修改。

2 条评论:

Unknown 说...

好~~无愧于广大狼友之福音~!工欲善其事,必先利其器也!火爷,您就是我们手中的利剑与钢枪,引导追求人性自由的人们寻找光明的影子!

Terry 说...

别说的这么伟大,好像小马要去做什么伟大之举?不过提醒你奥,严禁用于非法用途-_-

Swift Hash&Convert,写了第一个Mac小程序

README Swift Hash&Convert https://github.com/yaoxinghuo/SwiftHash Hash&Convert app for Mac, for develop use, written in ...