Closed reF1nd closed 11 months ago
sing-box 和 Clash 的 domain-suffix 行为不同。
domain-suffix
以 qq.com 为例:Clash 的 DOMAIN-SUFFIX,qq.com 会同时匹配 *.qq.com 和 qq.com 。 但是 sing-box 的 "domain_suffix": "qq.com" 其实匹配的是 *qq.com 。 也就是说 ,假如此时存在一个域名为 fuckqq.com ,会命中 sing-box 的 "domain_suffix": "qq.com" ,而不会命中 clash 的 DOMAIN-SUFFIX,qq.com 。但是 sing-box 如果这么写:"domain_suffix": ".qq.com" ,那么又匹配不到 qq.com 了。
qq.com
DOMAIN-SUFFIX,qq.com
*.qq.com
"domain_suffix": "qq.com"
*qq.com
fuckqq.com
"domain_suffix": ".qq.com"
既然 Rule Provider 用的是 Clash 的规则,那么我认为应该转写 domain-suffix 规则以和 Clash 行为保持一致。 同样以 qq.com 为例,应将 DOMAIN-SUFFIX,qq.com 转换为
{ "domain": "qq.com", "domain_suffix": ".qq.com" }
两条规则,或者直接转换为
{ "domain_regex": "^(.+\\.)?qq\\.com$" }
一条规则。 若是 DOMAIN-SUFFIX,.qq.com ,则不额外进行转写。
DOMAIN-SUFFIX,.qq.com
已修复 https://github.com/yaotthaha/sing-box-pub/commit/bc1839bb1b6bdd70dd3583227f2524aaaa6bafde
sing-box 和 Clash 的
domain-suffix
行为不同。以
qq.com
为例:Clash 的DOMAIN-SUFFIX,qq.com
会同时匹配*.qq.com
和qq.com
。 但是 sing-box 的"domain_suffix": "qq.com"
其实匹配的是*qq.com
。 也就是说 ,假如此时存在一个域名为fuckqq.com
,会命中 sing-box 的"domain_suffix": "qq.com"
,而不会命中 clash 的DOMAIN-SUFFIX,qq.com
。但是 sing-box 如果这么写:"domain_suffix": ".qq.com"
,那么又匹配不到qq.com
了。既然 Rule Provider 用的是 Clash 的规则,那么我认为应该转写
domain-suffix
规则以和 Clash 行为保持一致。 同样以qq.com
为例,应将DOMAIN-SUFFIX,qq.com
转换为两条规则,或者直接转换为
一条规则。 若是
DOMAIN-SUFFIX,.qq.com
,则不额外进行转写。