1
lsylsy2 2014-11-15 19:05:52 +08:00
首先感谢一下;
然后不太熟悉PAC,问一个问题,顺便 @clowwindy : 在PAC里看到使用字符串处理找两个点,之后的部分没有看懂; 比如我的列表里同时有google.com.hk与google.com,当我请求google.com.hk的时候,程序是如何决定在表里查询“com.hk”字符串还是“google.com.hk”这样一个三段字符串的呢? |
2
Slienc7 2014-11-15 19:40:03 +08:00 via Android
Pandafan的js版:https://www.pandafan.org/pac/index.html
注:自带的生成是白名单 |
3
hourui OP @lsylsy2 因为google已经几乎都躺枪了,pac里额外对Google相关域名加一条正则就行了,不需要配置某个特定域
|
4
lsylsy2 2014-11-15 19:50:21 +08:00
@hourui 谷歌只是举个例子,就是说aaa.com.hk和bbb.com,是如何判断的
|
5
breakwa11 2014-11-15 20:07:23 +08:00 1
@xgowex https://github.com/breakwa11/gfw_whitelist/blob/master/proxy.pac
自带黑白名单和IP地址匹配,精度比纯白名纯黑名单高不少,且效率非常好 |
6
yuhaaitao 2014-11-15 21:55:16 +08:00 via Android
这个有什么区别?
|
7
clowwindy 2014-11-16 03:47:02 +08:00 via Android
貌似你没有实现 tld 过滤和子域去重哦
|
9
vivisidea 2014-11-16 09:28:36 +08:00
@lsylsy2
就是从后面往前截取后缀,一旦匹配就返回代理 例如输入的host是a.b.c.google.com.hk 1. 检查com.hk是否在列表里面 2. 检查google.com.hk是否在列表里面 3. 检查c.google.com.hk是否在列表里面 .... |
10
breakwa11 2014-11-16 11:28:37 +08:00
@LazyZhu 域名匹配部分和gfwlist2pac的算法一样,所以时间一样。而IP部分经过了多次改进,现在时间是O(1),100000次执行约100ms,即0.001ms匹配一次,目前是我所能找到的匹配IP的pac实现里最快的
|
11
hourui OP @clowwindy 谢谢提醒,最新的 commit 里已经加上了。
tld 的 list 我是从 https://publicsuffix.org/list/effective_tld_names.dat 这里下载的 Btw, shell 已经从 bash 换成 zsh 了, zsh 比 bash 强太多了. |