# clash-rules **Repository Path**: cmputer/clash-rules ## Basic Information - **Project Name**: clash-rules - **Description**: Clash Meta / mihomo rule providers (CN ad-block, behavior=classical) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-18 - **Last Updated**: 2026-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # clash-rules 为 Clash Meta / mihomo 维护的广告 + 统计 SDK 屏蔽规则集。 ## 文件 - [`cn-ad-reject.yaml`](cn-ad-reject.yaml) — 国产广告 SDK + 统计上报域名,从 case 001/002 的实测和公开整理 merge。`behavior: classical`,可以直接做 rule-provider 用。 ## 在 Clash Meta for Android 使用 ### 用法 1: 每个订阅加 4 行 Override (推荐,订阅更新规则不丢) 打开 Clash Meta for Android → Profiles → 长按订阅 → Edit → 找 **Override** / 配置覆盖 字段,粘贴下面这段 yaml: ```yaml rule-providers: cn_ad_reject: type: http behavior: classical format: yaml interval: 86400 url: https://gitee.com/cmputer/apk-surgery/raw/main/clash-rules/cn-ad-reject.yaml path: ./ruleset/cn_ad_reject.yaml rules: - RULE-SET,cn_ad_reject,REJECT ``` **重要**: Clash Meta 的 Override 是 `merge` 模式 — 上面的 `rules:` 会**追加在订阅 rules 之前**(顶部)的话才优先生效。但有些 Clash Meta 客户端默认 Override 是 append (追加到末尾) → 命中前会先走订阅自己的规则。如果实测发现广告还在拉,改成下面用法 2。 订阅更新时,Clash 自动重新从 gitee 拉 cn-ad-reject.yaml,**规则不丢**。 ### 用法 2: 修 rules 顶部 (更激进) 如果用法 1 的 Override 在你客户端是 append 模式,改用 **prepend** 模式或直接在 rules 段顶部 insert。具体看你客户端的 Override 文档。Mihomo Party 桌面版的"配置脚本"是 prepend; Clash Meta for Android 的 "Override" 我没实测,你试一下。 ### 用法 3: 全局生效 (Mihomo Party / Verge 桌面 only) 桌面客户端有"shared rules" 或 "全局 profile",一处设置对所有订阅生效。Android 客户端没这能力,每个订阅设一次。 ## 验证 订阅更新后,在 Clash Meta 的 **Connections** 或 **Logs** 标签看是否有"`REJECT cn_ad_reject`"匹配。或者用 `curl` 测: ```bash curl -v https://csj.shalltry.com # 应该 connection failed curl -v https://gdt.qq.com # 应该 connection failed ``` ## 未来扩展 - 加 hosts level 重定向: 把广告域名指向 127.0.0.1 而不是 REJECT - 引用 [Loyalsoldier/clash-rules](https://github.com/Loyalsoldier/clash-rules) 的 `reject.txt` (社区维护 5 万+ 条目,但是 domain-only,不一定全) - 加 process-name 规则: 直接拦 Pangle/友盟的 service 进程,但 Android 用 process name 规则需要 Tun mode ## 维护规则: 永远不在订阅 yaml 里改 订阅 yaml 一旦更新,自定义改动**会丢**。所有持久规则必须走: 1. 远端 rule-provider URL (本仓库托管 cn-ad-reject.yaml) 2. Override 字段 (per-profile,但订阅更新后保留) 订阅 yaml 自身只看作"代理列表 + 默认规则" 的源,**自己写的逻辑必须放在 Override**。