导读:从被动套用规则到随心掌控流量流向

在绝大多数情况下,服务商或第三方规则维护团队下发的基础规则集,已经能够覆盖日常 90% 的主流网站。但在真实的进阶使用中,每个人都有自己独特的工作环境与小众工具流:

  • 比如公司搭建在海外但仅限内网访问的私有协同平台;
  • 比如某个特定的本地开发程序(如 Docker、WSL、Figma)需要强制走指定节点;
  • 或者某个经常访问的小众论坛,默认规则总是将其误判为直连导致打不开。

如果不懂得如何编写分流规则,遇到规则盲区便只能无奈地频繁手动切换全局模式。学会自己编写精准的分流规则,才能真正让网络工具完全服从于你的个人意志。本文将为你系统梳理各类规则语法的核心要义与实战编写模板。

核心分流规则语法大全与运行场景

在 Clash 体系中,分流规则按照匹配维度的不同,划分为以下几大核心类型:

1. 域名后缀匹配(DOMAIN-SUFFIX)—— 最常用、最稳健

匹配以指定后缀结尾的所有子域名。

  • 语法示例:`DOMAIN-SUFFIX,github.com,PROXY`
  • 生效范围:不仅能匹配 `github.com` 根域名,还能自动覆盖 `api.github.com`、`raw.githubusercontent.com` 等所有下属子域名。这是针对特定服务编写规则的首选语法。

2. 域名全量精确匹配(DOMAIN)

仅当访问的域名与规则完全一字不差时才命中。

  • 语法示例:`DOMAIN,login.microsoftonline.com,DIRECT`
  • 生效场景:用于极其精细的手术刀式分流。比如只想让特定的登录验证接口直连,而让该服务的其他多媒体资源走代理。

3. 域名关键词模糊匹配(DOMAIN-KEYWORD)

只要请求的域名字符串中包含了指定关键字,便立即命中。

  • 语法示例:`DOMAIN-KEYWORD,google,PROXY`
  • 注意事项:关键词匹配极其宽泛,容易造成“误伤”。例如若定义了 `DOMAIN-KEYWORD,apple,PROXY`,可能会导致国内带有 apple 字样的食品或电商网站也被错误拉入代理,应谨慎克制使用。

4. IP 网段匹配(IP-CIDR 与 IP-CIDR6)

直接针对目标服务器的真实 IP 地址段进行掩码匹配。

  • 语法示例:`IP-CIDR,192.168.1.0/24,DIRECT,no-resolve`
  • 关键参数 `no-resolve`:告诉客户端在判断该规则时,不要强制发起 DNS 解析。这对于内网网段规则至关重要,能极大加快匹配效率并防止无意义的 DNS 查询。

5. 地理位置与地理站点集(GEOIP 与 GEOSITE)

基于全球离线 IP 库和域名归属库进行宏观批量匹配。

  • 语法示例:`GEOSITE,cn,DIRECT` 与 `GEOIP,CN,DIRECT`
  • 生效范围:一条规则即可瞬间将中国大陆境内的所有主流服务器与数万个企业 IP 统统归入直连名单,是构建分流白名单的核心骨干。

6. 操作系统进程名分流(PROCESS-NAME 与 PROCESS-PATH)

工作在操作系统应用层的高级分流语法,直接按发起请求的软件程序文件名进行裁决。

  • 语法示例:
  • Windows:`PROCESS-NAME,Telegram.exe,PROXY`
  • macOS:`PROCESS-NAME,Slack,PROXY`
  • 生效场景:彻底解决非标准 Web 请求、自定义后台常驻软件的分流问题,直接在进程源头完成路由归类。

实战编写模板:打造个人定制分流块

在编写个人专属规则时,请遵循结构化分层原则,将其放置在规则列表的最前列:

```yaml

rules:

# ==========================================

# 第一层:局域网与开发环境(绝对直连)

# ==========================================

  • DOMAIN-SUFFIX,local,DIRECT
  • IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
  • IP-CIDR,192.168.0.0/16,DIRECT,no-resolve

# ==========================================

# 第二层:特定高优先级工作与生产力工具

# ==========================================

  • DOMAIN-SUFFIX,openai.com,AI专属策略组
  • DOMAIN-SUFFIX,claude.ai,AI专属策略组
  • PROCESS-NAME,Code.exe,开发直通组

# ==========================================

# 第三层:小众冷门海外站点手动补漏

# ==========================================

  • DOMAIN-SUFFIX,my-foreign-blog.org,PROXY

# ==========================================

# 第四层:国内大盘白名单(保障国内速度)

# ==========================================

  • GEOSITE,cn,DIRECT
  • GEOIP,CN,DIRECT

# ==========================================

# 第五层:全量未知流量最终兜底

# ==========================================

  • MATCH,兜底策略组

```

常见问题解答 (FAQ)

为什么在规则里写了某个网站走 DIRECT,实际访问还是走了代理?

请牢记 Clash 规则是自上而下先命中先执行的!检查你的自定义直连规则是否被写在了一条更宽泛的代理规则(比如某条 `DOMAIN-KEYWORD`)的下方。一旦上方的代理规则先命中了该域名,排在后面的直连规则便永远没有执行的机会。将个人规则永远置于顶层即可解决。

经常需要维护大量域名,一条一条写太麻烦怎么办?

可以使用现代客户端支持的 `RULE-SET` 机制。将几百个同类域名整理成一个独立的文本文件(每行一个域名),以 `RULE-SET` 的形式统一载入。既便于分类维护,又不会让主配置文件显得冗长混乱。