以下是一个PAC文件,一个基本的白名单,可以通过添加域名扩展,我不是很懂Javascript,就一些代码的意思做了google,只是理解了其中一部分比如: if (/^\d+\.\d+\.\d+\.\d+$/g.test(host)) return 'DIRECT';
用到了正则表达式,如果碰到纯ip的请求,就直连。
但是从 var vhost = host.toLowerCase();
这一行开始我就懵了,有没有熟悉的能用白话文解释一下吗?多谢。
function FindProxyForURL(url, host) {
var PROXY = 'SOCKS5 127.0.0.1:9999;SOCKS 127.0.0.1:9999';
if (isPlainHostName(host)) return 'DIRECT';
if (/^\d+\.\d+\.\d+\.\d+$/g.test(host)) return 'DIRECT';
var rules = [
[
'cn',
'lan',
'local',
'xn--fiqs8s'
], [
'sinaapp.com',
'qunar.com',
'yihaodian.com',
], [
'baixing.com',
'xiami.com',
], [
'mydrivers.com',
'alisoft.com',
'51jobcdn.com'
], [
'zhi.hu',
]
];
var vhost = host.toLowerCase();
var rules_len = rules.length;
for (var j = 0; j < rules_len; j++) {
var rule_list = rules[j];
var rule_list_len = rule_list.length;
for (var i = 0; i < rule_list_len; i++) {
var rule_entry = rule_list[i];
var rule_dot = '.' + rule_entry;
if (vhost === rule_entry || vhost.indexOf(rule_dot, vhost.length - rule_dot.length) !== -1) {
return 'DIRECT';
}
}
}
return PROXY;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.