blackmatrix7 / ios_rule_script

分流规则、重写写规则及脚本。
GNU General Public License v2.0
18.25k stars 2.96k forks source link

Loon的规则合并问题 #1326

Open luestr opened 3 months ago

luestr commented 3 months ago

由于 Loon 的规则匹配效率在 1ms 左右,不挑规则类型,所以不需要将域名规则单独拆分出来。

建议所有的规则类型都可以写在一个文件内,并为所有 IP 类规则添加上 no-resolve 参数并将 IP 类规则排在末尾即可。这样可以减少用户的疑惑和选择困难。

此问题应该涉及不少规则

Snipaste_2024-07-10_11-56-01
IFYUUV commented 2 months ago

其实按照loon的规则匹配机制,ip类规则带不带no-resolve没什么影响

luestr commented 2 months ago

其实按照loon的规则匹配机制,ip类规则带不带no-resolve没什么影响

你错了,按照Loon的规则匹配机制,IP类规则必须要带no-resolve,否则会徒增毫无意义的DNS查询。

IFYUUV commented 2 months ago
  1. 你自己在Loon本地规则的最前面加一条ip类的规则,随后在下面加一个检测dns泄露的网站,策略选择你用的代理节点,看看是否会进行dns查询;
  2. “由于一般将geoip的规则放在本地规则中,多个订阅规则中混合使用IP类型的规则,并且有部分IP类型的规则没有配置no-resolve,导致很多不必要的DNS查询,所以如果一个请求的目标地址是域名,会优先匹配域名类型的规则,若匹配到了域名类规则将不会再进行IP类规则匹配,若未匹配到域名类型的规则,则会在本地进行DNS查询,根据查询结果去匹配IP类规则;”引用自https://nsloon.app/LoonManual/#/cn/rule 这段话非常清晰地表述了Loon作者考虑到部分远程订阅规则不带no-resolve导致不必要的性能损耗,因此设计了loon独特的规则匹配机制。