fix(gen-script): strip inline '#' comment before classifying no-resolve suffix
CI / lite (push) Failing after 4s
CI / lite (push) Failing after 4s
to_rule() 在判断 entry.endswith(',no-resolve') 之前没有剥掉行尾 # 注释,
导致带 inline 注释的条目走 else 分支,把注释当成 entry 一部分拼进去,
最终生成出 mihomo 解析失败的规则:
'IP-CIDR,162.254.192.0/18,no-resolve # Akamai Steam CDN 主段,DIRECT'
修法:
- to_rule() 先 split('#', 1)[0].rstrip() 剥注释再判断
- direct.yaml 第 91 行 inline 注释挪到独立行(避免再次踩坑)
验证:gen_clash_verge_script.py 重跑后 Script.js 第 49 行已变成
'IP-CIDR,162.254.192.0/18,DIRECT,no-resolve',
Clash Verge 重启内核后订阅配置校验失败消失。
This commit is contained in:
+2
-1
@@ -88,7 +88,8 @@ payload:
|
|||||||
- DOMAIN-KEYWORD,csgo.
|
- DOMAIN-KEYWORD,csgo.
|
||||||
- PROCESS-NAME,steam
|
- PROCESS-NAME,steam
|
||||||
- PROCESS-NAME,steamwebhelper
|
- PROCESS-NAME,steamwebhelper
|
||||||
- IP-CIDR,162.254.192.0/18,no-resolve # Akamai Steam CDN 主段
|
- IP-CIDR,162.254.192.0/18,no-resolve
|
||||||
|
# Akamai Steam CDN 主段
|
||||||
- IP-CIDR,103.10.124.0/23,no-resolve
|
- IP-CIDR,103.10.124.0/23,no-resolve
|
||||||
- IP-CIDR,103.28.54.0/23,no-resolve
|
- IP-CIDR,103.28.54.0/23,no-resolve
|
||||||
- IP-CIDR,146.66.152.0/21,no-resolve
|
- IP-CIDR,146.66.152.0/21,no-resolve
|
||||||
|
|||||||
@@ -52,7 +52,12 @@ def load_payload(path: Path) -> list[str]:
|
|||||||
|
|
||||||
|
|
||||||
def to_rule(entry: str) -> str:
|
def to_rule(entry: str) -> str:
|
||||||
"""rule-provider 条目(无策略)→ 完整规则(补 DIRECT)。"""
|
"""rule-provider 条目(无策略)→ 完整规则(补 DIRECT)。
|
||||||
|
|
||||||
|
处理:先剥掉行尾 `#` 注释,再补 DIRECT 策略,避免带注释的条目被错误拼接。
|
||||||
|
"""
|
||||||
|
# 剥掉 `#` 之后的行尾注释
|
||||||
|
entry = entry.split("#", 1)[0].rstrip()
|
||||||
if entry.endswith(",no-resolve"):
|
if entry.endswith(",no-resolve"):
|
||||||
return f"{entry[:-len(',no-resolve')]},DIRECT,no-resolve"
|
return f"{entry[:-len(',no-resolve')]},DIRECT,no-resolve"
|
||||||
return f"{entry},DIRECT"
|
return f"{entry},DIRECT"
|
||||||
|
|||||||
Reference in New Issue
Block a user