Zhou Zhenkai
Zhou Zhenkai
自上而下的匹配在某些情境下其实有些不太合适。 例如: - subdomain.a.com和b.com在direct.txt中,需要直连 - subdomain.b.com和a.com在proxy.txt中,需要代理 这时自上而下的匹配会导致需要另外再添加规则到两个rule-set到前面。 所以如果能在rules模块里加入一种新的块(类似subrule),在这个块中匹配到记录后不是立即返回结果,而是暂存匹配记录,继续遍历。遇到下一个匹配时,如果下一匹配优先级高,则替换暂存的记录,否则忽略。重复直到块中的记录被完全遍历。 优先级( - 同一规则类型之内:同时匹配到domain-suffix a.com, domain-suffix x.a.com, 优先匹配domain-suffix x.a.com - 不同规则类型之间:同时匹配到domain a.com, domain-suffix a.com, 优先匹配 domain a.com - 对于优先级不好界定的,不进行替换 - 用户可以自行设定不同规则类型之间的优先级。 )
> 这个用rule-providers可以解决吧? ``` direct.txt - DOMAIN-SUFFIX,a.com - DOMAIN-SUFFIX,m.b.com proxy.txt - DOMAIN-SUFFIX,m.a.com - DOMAIN-SUFFIX,b.com ``` direct.txt在前, m.a.com 在proxy.txt中不会命中 proxy.txt在前, m.b.com 在direct.txt中不会命中 对于自己自定义的小列表,确实可以通过再添加一个pre-proxy.txt ( pre-proxy -- direct -- proxy) 解决 但是其他人维护的远程规则,规则数量多,只有察觉到了然后再一个一个去补充,总有漏网的鱼 而且遍历最极端的情况下相当于全部命中match,性能上也不是很差
> meta 遇到选中节点会尝试 5 次重连失败才执行自动测试流程, 默认 5s 算超时, 5 * 5 = 25s, 也就是遇到超时节点, 至少要 25s 才自动切节点, 看你描述, 是符合预期行为. > 而且你的策略组自动测试间隔是 5 分钟, 没请求用该策略组等他自动切, 也要很久. > 说实话前段时间在群里和托佬讨论过策略组的流程, 我感觉是可以优化的. > 如果你某策略组的的节点如果是波动比较大的那种,...
interval 再设置低一点,3秒5秒这样 timeout 默认5000毫秒,改一下小于interval比较好
[https://wiki.metacubex.one/config/proxy-groups/](https://wiki.metacubex.one/config/proxy-groups/) [https://wiki.metacubex.one/config/proxy-providers/](https://wiki.metacubex.one/config/proxy-providers/) 默认timeout 5000毫秒,改低就好了