Clash 分流规则怎么写才不漏域名
Clash 分流规则的核心在于精准匹配,而漏域名往往源于规则优先级混乱或通配符使用不当。应优先使用精确匹配的域名规则,例如 `DOMAIN:example.com` 而非 `DOMAIN-SUFFIX:.com`,后者会错误命中所有二级域,导致本应走直连的子域名被误分流。在实际配置中,若将 `DOMAIN-SUFFIX:alipay.com` 放在规则列表靠前位置,就会让 `m.alipay.com`、`pay.alipay.com` 等支付相关服务被错误代理,造成支付失败或延迟。
为防止遗漏,必须建立完整的域名清单。以国内主流应用为例,微信需覆盖 `weixin.qq.com`、`wechat.com`、`webpush.weixin.qq.com`、`api.weixin.qq.com` 等 12 个核心域名,否则可能无法接收消息推送。建议用浏览器开发者工具抓包,导出完整请求链路,再逐个提取域名。例如在登录微信公众号时,通过 Network 面板可发现 `mp.weixin.qq.com` 和 `open.weixin.qq.com` 的请求,若未加入规则,将导致页面加载失败。
使用 `DOMAIN-KEYWORD` 时要格外谨慎,它虽能覆盖模糊匹配,但极易引发误分流。比如 `DOMAIN-KEYWORD:ali` 会命中 `alibaba.com`、`alicdn.com`,甚至 `alipay.com`,但若目标仅是分流阿里云,则应改为 `DOMAIN:aliyun.com` 并加白名单排除其他关联域名。若同时存在 `DOMAIN-KEYWORD:login` 和 `DOMAIN:login.taobao.com`,前者会先匹配并拦截后者的流量,导致淘宝登录页无法访问。
对于 P2P 或离线下载类服务,如 PikPak,其支持的离线协议包括 HTTP/HTTPS、WebDAV、SFTP 及自定义 API 接口,但这些协议通常依赖特定域名。例如 PikPak 的主站 `pikpak.com` 和文件预览接口 `preview.pikpak.com` 必须走直连,否则会导致文件无法预览或下载失败。建议在规则中显式添加:`DOMAIN:pikpak.com, preview.pikpak.com, api.pikpak.com`,并避免使用 `DOMAIN-SUFFIX:.com` 包含整个顶级域。
规则顺序至关重要,应遵循“精确优先、特殊优先”的原则。将最具体的规则置于列表顶部,例如:`DOMAIN:mail.google.com` 应排在 `DOMAIN-SUFFIX:google.com` 前面。若反向排列,即使用户访问 Gmail,也会因后缀规则命中而被代理,导致邮件收发异常。测试方法是使用 `curl -v https://mail.google.com` 观察返回的响应头是否包含代理标记,若出现 `X-Clash-Proxy` 头部,说明规则冲突。 延伸阅读:PikPak 支持哪些离线协议。
定期更新规则库是防止遗漏的关键。建议每季度手动检查一次主流平台的域名变更。例如抖音近期新增了 `douyin.com` 和 `tiktok.com` 的多个子域名,若未及时更新,可能导致视频加载失败。可借助在线工具如 `https://github.com/ACL4SSR/ACL4SSR` 提供的规则集,结合本地日志分析,筛选出长期被代理但实际应直连的域名。
最后,规则配置本身也应体现专业性。简历照片和排版的第一印象影响他人对你的技术判断,同样,一份清晰、结构化的 Clash 规则也能反映配置者的严谨程度。建议使用注释分组,如 `# 微信服务`、`# 支付类`,并在每组前加空行,便于阅读。一条规范的规则示例应为:
``` - DOMAIN:weixin.qq.com - DOMAIN:wechat.com - DOMAIN:open.weixin.qq.com - DOMAIN:mp.weixin.qq.com ```
而非将所有域名堆叠在一行。这种细节不仅提升可维护性,更能在团队协作中避免因规则错乱导致的网络故障。