问题描述
geosite:cn 的构建流程会将 ChinaMax 中的精确域名规则转换为 full:<domain>,随后又在生成 community/data/cn 时将其截断为单标签 full。最终产物包含 domain:full,但丢失原始精确域名。
这不是单个域名未同步的问题。ChinaMax 当前声明包含 295 条 DOMAIN 类型规则,这些不以 . 开头的精确规则可能都受到同一转换路径影响。
可复现样例
当前 ChinaMax 中包含:
来源:
https://github.com/blackmatrix7/ios_rule_script/blob/master/rule/Clash/ChinaMax/ChinaMax_Domain.txt
工作流第一步转换(run.yml 第 72 行):
printf '%s\n' 'api.blipsandchitz.me' \
| sed '/^\s*#/d' \
| sed '/^[^\.]/ s/^/full:/' \
| sed 's/^\.\([^.]*\)/\1/'
输出:
full:api.blipsandchitz.me
随后经过生成 community/data/cn 的 Perl 正则(run.yml 第 118 行):
printf '%s\n' 'full:api.blipsandchitz.me' \
| perl -ne '/^((?=^.{1,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})*)/ && print "$1\n"'
输出:
该正则没有要求匹配整行,因此在 : 前停止并保留了 full。
相关工作流:
https://github.com/MetaCubeX/meta-rules-dat/blob/master/.github/workflows/run.yml#L70-L125
最新产物验证
2026-07-19 07:22(Asia/Shanghai)的定时构建已成功完成:
https://github.com/MetaCubeX/meta-rules-dat/actions/runs/29665125111
发布的 geosite.dat:
sha256:2c185fdfac8f0aac556cfceee6b66b9353779d3ef6deff3b4acc0132d7515546
使用 v2fly/domain-list-community/cmd/datdump 导出后:
但 cn 中不存在:
- "full:api.blipsandchitz.me"
同一个 geosite.dat 的 geolocation-cn 中存在该条目,是因为它来自 V2Fly 的独立分类,并不能修复 MetaCubeX 替换后的 cn 分类。
预期行为
- ChinaMax 的精确域名应保留为
full:<domain>。
- ChinaMax 的后缀域名应继续按域名后缀规则生成。
- 产物中不应出现由类型前缀截断产生的
domain:full。
建议在修复转换流程的同时增加最小回归测试,至少覆盖一条精确域名和一条后缀域名。
问题描述
geosite:cn的构建流程会将 ChinaMax 中的精确域名规则转换为full:<domain>,随后又在生成community/data/cn时将其截断为单标签full。最终产物包含domain:full,但丢失原始精确域名。这不是单个域名未同步的问题。ChinaMax 当前声明包含 295 条
DOMAIN类型规则,这些不以.开头的精确规则可能都受到同一转换路径影响。可复现样例
当前 ChinaMax 中包含:
来源:
https://github.com/blackmatrix7/ios_rule_script/blob/master/rule/Clash/ChinaMax/ChinaMax_Domain.txt
工作流第一步转换(
run.yml第 72 行):输出:
随后经过生成
community/data/cn的 Perl 正则(run.yml第 118 行):输出:
该正则没有要求匹配整行,因此在
:前停止并保留了full。相关工作流:
https://github.com/MetaCubeX/meta-rules-dat/blob/master/.github/workflows/run.yml#L70-L125
最新产物验证
2026-07-19 07:22(Asia/Shanghai)的定时构建已成功完成:
https://github.com/MetaCubeX/meta-rules-dat/actions/runs/29665125111
发布的
geosite.dat:使用
v2fly/domain-list-community/cmd/datdump导出后:但
cn中不存在:- "full:api.blipsandchitz.me"同一个
geosite.dat的geolocation-cn中存在该条目,是因为它来自 V2Fly 的独立分类,并不能修复 MetaCubeX 替换后的cn分类。预期行为
full:<domain>。domain:full。建议在修复转换流程的同时增加最小回归测试,至少覆盖一条精确域名和一条后缀域名。