Clash 分流规则怎么写才不漏域名
Clash 分流规则写得不漏域名,本质是让每一个目标请求都能被精准捕获并正确路由,而不是在规则盲区里飘走。最常见的问题是规则覆盖不全——比如你只写了 `example.com`,但实际访问的是 `www.example.com`、`api.example.com` 还有 `sub.example.com`,这些子域名一多,就容易漏掉。更隐蔽的问题是,某些域名通过 CDN 走了动态解析或泛域名代理,比如 `*.cloudfront.net`、`*.akamai.net`,如果没写通配符规则,流量照样会走默认路径,甚至暴露在明文网络中。
要确保不漏,第一步是明确你的使用场景:你是想全局分流、还是仅对特定应用(如浏览器、微信、游戏)生效?不同场景下,规则的粒度和优先级完全不同。比如浏览器访问的网站多变,必须用更宽泛的规则;而游戏或本地服务则宜用精确匹配。别把所有规则一股脑堆进一个列表,这只会造成冲突与遗漏。
第二步是构建规则基线。先从最核心的域名开始,用 `DOMAIN` 规则精准命中。例如: ```yaml - DOMAIN-SUFFIX,google.com,Proxy - DOMAIN-SUFFIX,github.com,Proxy - DOMAIN-SUFFIX,baidu.com,DIRECT ``` 注意,`DOMAIN-SUFFIX` 适用于子域名继承,能一次覆盖多个层级。但如果你发现某个域名仍走错路径,检查是否拼写错误、大小写问题(虽然 Clash 一般忽略大小写,但部分规则引擎不兼容),或者是否被上游反向代理劫持。
第三步是处理模糊边界。很多用户卡在“我明明写了 `bilibili.com`,为什么 `live.bilibili.com` 不走代理?”答案是:`DOMAIN-SUFFIX` 只匹配以该后缀结尾的域名,但若中间有嵌套或特殊结构,比如 `m.bilibili.com`,它依然会被命中。关键在于测试工具的使用。不要靠直觉判断,要用 `curl -v` 或 `nslookup` 看真实解析结果,再结合 Clash 客户端的日志查看每条请求的匹配路径。特别留意 `DOMAIN-KEYWORD` 类规则——它虽灵活,但极易误判。比如你写 `DOMAIN-KEYWORD,video`,可能把 `youtube.com` 和 `video.baidu.com` 都抓进去,反而导致误分流。
第四步是应对动态与伪装。有些服务使用泛域名或短链跳转,比如 `t.co`、`bit.ly`,它们本身不固定,但背后指向的原始域名可能是你真正需要代理的。这时需配合 `DOMAIN-SUFFIX` 加上 `IP-CIDR` 或 `GEOIP` 规则。例如: ```yaml - DOMAIN-SUFFIX,t.co,Proxy - IP-CIDR,192.0.2.0/24,Proxy ``` 尤其当某服务频繁更换节点时,直接按 IP 段分流比依赖域名更稳定。但也要警惕误伤,比如 `IP-CIDR` 范围过大,可能把正常国内服务也拉进代理。 延伸阅读:简历到底要不要放照片。 延伸阅读:PikPak 怎么保护分享出去的链接。
第五步是利用规则分组管理。将规则按用途分组,如 `ProxyGroup: GFW`、`DirectGroup: Domestic`,再在策略中指定默认行为。这样即使某条规则漏掉,也能由兜底规则补上。更重要的是,定期用 `clash-check` 工具或在线规则校验器检测是否存在重复、冲突、未覆盖的情况。
最后,别忘了实战中的隐性陷阱。比如你用了 PikPak 的分享链接,其地址形如 `https://pikpak.com/s/abc123`,这个域名是动态生成的,不能硬写。解决方法是添加 `DOMAIN-SUFFIX,pikpak.com,Proxy`,并确保该规则在优先级上高于 `DIRECT` 组。同理,简历要不要放照片?这不是技术问题,而是信息风险权衡——放照片可能带来隐私泄露,但不放又影响专业形象。这提醒我们:任何规则设计都应考虑“数据流向”与“控制边界”,就像保护分享出去的链接一样,必须在源头设置访问权限和时间限制,而不是事后补救。
真正不漏的规则,不是写得多,而是写得准、测得细、管得住。