Clash 分流规则怎么写才不漏域名

Clash 分流规则的核心是精准匹配,任何模糊的通配符都可能造成漏判。例如使用 `DOMAIN-SUFFIX` 时,若仅写 `baidu.com`,则 `www.baidu.com` 和 `map.baidu.com` 都能命中,但若规则中误用 `DOMAIN` 而非 `DOMAIN-SUFFIX`,就可能导致子域名不被识别。应始终以 `DOMAIN-SUFFIX` 为主,配合 `DOMAIN-KEYWORD` 处理不确定前缀,如将 `cloud.google.com` 写成 `DOMAIN-SUFFIX cloud.google.com`,确保所有子域如 `drive.google.com`、`docs.google.com` 均被覆盖。

规则优先级必须明确,否则后置规则会覆盖前置规则。在 Clash 配置中,规则顺序从上到下生效,因此高频或高风险域名应置于靠前位置。例如,将 `DIRECT` 规则放在最前,对 `*.local`、`192.168.*` 等内网地址直接放行,避免误走代理;而将 `GEOIP,CN` 放在第二位,确保国内服务快速直连。若把 `DOMAIN-SUFFIX baidu.com` 放在 `GEOIP,CN` 之后,可能因该域名被判定为“非中国”而走代理,造成资源加载失败。

正则表达式虽强大,但滥用易出错。当遇到复杂域名结构,如 `pikpak.com` 的多个二级域名(`app.pikpak.com`、`api.pikpak.com`)或动态路径(`download.pikpak.com/abc123`),应使用 `DOMAIN-REGEX` 捕获规律。例如:`DOMAIN-REGEX ^.*\.pikpak\.com$` 可一次性捕获所有子域,避免逐条添加。同时,指定本地下载路径需在客户端配置中设置,而非依赖分流规则——如 PikPak 在手机端需手动设定“下载目录”为本地存储路径,否则即便规则正确,文件仍默认保存至临时目录。

忽略 HTTPS 与 SNI 是常见漏洞。部分 CDN 或云服务通过 SNI 识别目标域名,若规则仅基于域名匹配,但未启用 `SNI` 匹配,仍可能走错线路。例如 `google.com` 的流量在某些网络环境下会因证书中的 SNI 信息被解析为 `clients4.google.com`,导致规则失效。此时应添加 `DOMAIN-SUFFIX clients4.google.com` 或启用 `MATCH` 类型规则,结合 SNI 与域名双重判断,确保即使证书中显示不同域名也能正确分流。 延伸阅读:PikPak 怎么指定本地下载路径。

测试工具不可替代人工验证。仅靠规则列表无法发现隐藏问题,建议使用 `curl -v https://example.com` 查看实际连接路径,或借助 Clash 客户端内置的“日志模式”观察每条请求的匹配结果。例如,访问 `https://www.bilibili.com` 时,若规则中无 `bilibili.com` 的显式匹配,系统可能因未命中而走代理,可通过日志确认是否触发了 `GEOIP,CN` 或 `DIRECT` 默认规则。定期导出日志并比对已知行为,可建立“规则-行为”对照表,提升维护效率。

对于高频更新的服务,如 TikTok、Instagram 等,其子域名和接口地址变化频繁,应采用动态规则集。推荐使用 `RULE-SET` 加载外部 JSON 列表,例如将 `tiktok.com` 相关域名存入远程列表,通过 `https://raw.githubusercontent.com/xxx/tiktok-rules.json` 自动同步。此类规则集通常包含超过 500 个域名,远超手动编写能力。同时,结合 `FALLBACK` 机制,当规则集无法获取时自动切换为 `DIRECT`,防止因网络异常导致全站断连。

最后,不要忽视“例外规则”的存在。某些服务虽属境外,但国内用户常通过镜像访问,如 `cdn.jsdelivr.net` 实际承载大量国内静态资源,若强制走代理会导致加载缓慢甚至失败。此时应加入 `DOMAIN-SUFFIX jsdelivr.net, DIRECT`,或使用 `IP-CIDR` 规则标记其国内节点。类似地,简历被刷的十个原因中,有三项涉及“信息不完整”,这提醒我们:规则也需信息完整,缺一不可。一个完整的分流体系,不是堆叠规则,而是构建逻辑闭环——从域名、路径、协议、地理位置、时间维度全面覆盖,才能真正实现“不漏”。

codexknev36p.clash-clash.comvsq.clash-clash.comy2hw.clash-clash.com