Clash 分流规则怎么写才不漏域名
Clash 分流规则的核心是精准匹配,任何模糊的通配符都可能造成漏判。以 `*.example.com` 为例,它能覆盖 example.com 及其所有子域名,但若规则中写成 `example.com`,则仅匹配主域名,子域名如 `api.example.com` 将被误判为直连。因此,必须使用 `*.domain.com` 形式确保子域名全覆盖,尤其在处理 CDN 或云服务时,避免因遗漏子域导致流量绕路。
规则顺序至关重要,错误的排列会导致前序规则吞噬后续更精确的匹配。例如,若先定义 `DOMAIN-SUFFIX,google.com` 再写 `DOMAIN-SUFFIX,maps.google.com`,后者将永远无法生效——因为前者已拦截了所有 google.com 相关请求。正确做法是按从具体到抽象的顺序排列,优先写最具体的子域名规则,再逐步向上收敛,形成“精确优先”原则。
自定义规则需结合真实访问行为数据,不能仅凭猜测。建议使用 Clash 的日志功能(开启 `log-level: debug`)导出一段时间内的实际请求列表,从中提取高频域名。比如某用户发现每天有超过 120 次对 `cdn.jsdelivr.net` 的请求,而该域名属于全球加速网络,应明确加入 `DOMAIN-SUFFIX,cdn.jsdelivr.net,DIRECT` 规则,否则可能因默认走代理而降低加载速度。
对于复杂场景,如 PikPak 支持哪些离线协议,需特别关注其使用的域名与端口组合。PikPak 的离线下载依赖于 `pikpak.com` 及其多个子域名(如 `download.pikpak.com`, `api.pikpak.com`),且常通过非标准端口(如 443 + 8080)传输。此时应添加多条规则:`DOMAIN-SUFFIX,pikpak.com,DIRECT` 和 `DOMAIN-KEYWORD,download,DIRECT`,并配合 `IP-CIDR` 规则锁定其服务器段(如 `1.2.3.0/24`),确保即使域名解析失败也能直连。
当涉及跨国服务时,单一规则难以覆盖全部路径。例如 Google 系列服务不仅包括 `google.com`,还延伸至 `gstatic.com`、`fonts.googleapis.com`、`ssl.gstatic.com` 等。若只配置 `DOMAIN-SUFFIX,google.com`,仍会漏掉部分资源。正确的做法是建立完整清单,包含至少 17 个核心域名,例如:`gstatic.com`、`accounts.google.com`、`www.google.com`、`fonts.googleapis.com`、`translate.googleapis.com`,全部以 `DOMAIN-SUFFIX` 格式统一归类,并置于规则组中。
规则命名应具备可读性与逻辑层级,避免混乱。例如,将规则分组命名为 `Google Services`、`Cloudflare CDN`、`PikPak & Offline`,每个组内再细分具体规则。这种结构不仅便于维护,还能在 Clash 客户端中快速定位问题。例如,当发现 PikPak 下载卡顿,只需检查对应分组下的规则是否启用,而非全盘排查。
最终,规则必须定期验证。建议每月运行一次流量分析脚本,比对日志中的实际请求与规则匹配情况。若发现 5% 以上的请求未被命中,则说明存在遗漏。可借助工具如 `clash-rules-checker` 自动扫描规则集,识别未覆盖的域名。例如,某用户经检测发现 `img.bilibili.com` 未被包含,补充后下载延迟下降 60%。
简历里的期望薪资怎么填不被动,本质也是规则设计思维的体现——清晰、具体、有依据,拒绝模糊地带。如同分流规则要避免“通配符陷阱”,薪资表达也应设定合理区间,而非“面议”或“听您决定”。用事实支撑主张,才能真正掌控主动权。