diff --git a/README.md b/README.md index 5ddaa93..0dfda7f 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,13 @@ Clash Verge 和华硕路由器上的 mihomo(Magic Catling2)等消费端同 ``` vpn-rules/ ├── direct.yaml # 规则真源(mihomo rule-provider 格式) +├── router/ +│ ├── direct-rules.yaml # 路由器手动粘贴版(`- ` 前缀 + DIRECT 策略) +│ └── direct-plain.txt # 无 `- ` 前缀纯文本版(规则逐行、无策略) └── scripts/ - └── gen_clash_verge_script.py # 真源 → Clash Verge Script.js 生成器 + ├── gen_clash_verge_script.py # 真源 → Clash Verge Script.js 生成器 + ├── gen_router_paste.py # 真源 → 路由器手动粘贴版生成器 + └── gen_plain_list.py # 真源 → 纯文本版生成器 ``` ## 为什么需要它 @@ -51,7 +56,7 @@ rules: > 路由器内网自建 Gitea(192.168.50.2:3000)也可直连:`http://192.168.50.2:3000/ageorge156/vpn-rules/raw/branch/main/direct.yaml`。 -**拉不到 URL 时(手动粘贴版)**:打开 `router/direct-rules.yaml`,把里面的规则行粘贴到路由器现有规则列表最前面即可,无需联网(生成命令 `python3 scripts/gen_router_paste.py`)。 +**拉不到 URL 时(手动粘贴版)**:打开 `router/direct-rules.yaml`,把里面的规则行粘贴到路由器现有规则列表最前面即可,无需联网(生成命令 `python3 scripts/gen_router_paste.py`)。若工具不支持 `- ` 前缀,用 `router/direct-plain.txt`(生成命令 `python3 scripts/gen_plain_list.py`)。 ## 维护流程 diff --git a/router/direct-plain.txt b/router/direct-plain.txt new file mode 100644 index 0000000..e4005a6 --- /dev/null +++ b/router/direct-plain.txt @@ -0,0 +1,34 @@ +DOMAIN,frp.puyuanfh.cn +IP-CIDR,8.133.177.3/32,no-resolve +DOMAIN-SUFFIX,bilibili.com +DOMAIN-SUFFIX,bilibili.cn +DOMAIN-SUFFIX,bilivideo.com +DOMAIN-SUFFIX,bili2233.cn +DOMAIN-SUFFIX,hdslb.com +GEOIP,CN,no-resolve +DOMAIN-SUFFIX,deepseek.com +DOMAIN-SUFFIX,minimaxi.com +DOMAIN-SUFFIX,minimax.chat +DOMAIN-SUFFIX,hailuoai.com +DOMAIN,minimax-public-cdn.oss-cn-wulanchabu.aliyuncs.com +DOMAIN-SUFFIX,hf-mirror.com +DOMAIN-SUFFIX,cdn.hf.co +DOMAIN-SUFFIX,lmstudio.ai +IP-CIDR,127.0.0.0/8,no-resolve +IP-CIDR,10.0.0.0/8,no-resolve +IP-CIDR,172.16.0.0/12,no-resolve +IP-CIDR,192.168.0.0/16,no-resolve +IP-CIDR,100.64.0.0/10,no-resolve +DOMAIN-SUFFIX,.local +DOMAIN-SUFFIX,icloud.com.cn +DOMAIN-SUFFIX,ug.link +DOMAIN-SUFFIX,ugreen.com +DOMAIN-SUFFIX,ugnas.cloud +DOMAIN-SUFFIX,ugos.cn +DOMAIN-KEYWORD,ugreen +DOMAIN-KEYWORD,ugnas +DOMAIN-KEYWORD,ugreengroup +DOMAIN-SUFFIX,syncthing.net +IP-CIDR,110.42.0.0/16,no-resolve +IP-CIDR,43.248.128.0/17,no-resolve +IP-CIDR,111.170.0.0/16,no-resolve diff --git a/scripts/gen_plain_list.py b/scripts/gen_plain_list.py new file mode 100644 index 0000000..61cf8ce --- /dev/null +++ b/scripts/gen_plain_list.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +"""从 direct.yaml(真源)生成无 `- ` 前缀的纯文本规则列表。 + +格式:每条规则一行,无 YAML 列表前缀、无注释、无策略字段 +(同 rule-provider payload 内容,只是去掉 `- `)。 + +适用于把规则直接粘贴进不支持 YAML 列表 / 不需要策略前缀的工具。 +""" +from pathlib import Path + +from gen_clash_verge_script import load_payload + +REPO_ROOT = Path(__file__).resolve().parent.parent +OUT = REPO_ROOT / "router" / "direct-plain.txt" + + +def main() -> None: + payload = load_payload(REPO_ROOT / "direct.yaml") + OUT.parent.mkdir(parents=True, exist_ok=True) + OUT.write_text("\n".join(payload) + "\n", encoding="utf-8") + print(f"✅ 已生成 {OUT}({len(payload)} 条规则,无 - 前缀)") + + +if __name__ == "__main__": + main()