手写几百条规则不现实。规则集(Rule Providers)允许把规则外置成独立文件,由社区维护、定时自动更新,配置里只需一行 RULE-SET 引用。这是 Premium 内核的功能,Clash for Windows 内置支持。

基本结构

rule-providers:
  cn-domains:
    type: http
    behavior: domain
    url: "https://example.com/rules/cn-domains.yaml"
    path: ./ruleset/cn-domains.yaml
    interval: 86400

rules:
  - RULE-SET,cn-domains,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,节点选择
  • type: http 表示从 URL 下载并按 interval(秒)自动更新;type: file 则引用本地文件。
  • path 是本地缓存路径,注意不同 provider 的 path 不能相同,否则互相覆盖。

behavior 三种类型

behavior内容格式等价规则
domain纯域名列表(+.google.comDOMAIN / DOMAIN-SUFFIX
ipcidr纯网段列表(8.8.8.0/24IP-CIDR
classical完整规则行(类型,内容)各种类型混合

behavior 必须与文件实际内容匹配,否则整个规则集静默失效——这是规则集“不生效”的头号原因。

社区维护的规则集

中文社区广泛使用的有 Loyalsoldier/clash-rules(域名/IP 分类齐全、每日更新)等。选择规则集时关注:更新频率、分类粒度、是否区分 domain/ipcidr 格式。把常用分类(cn、proxy、reject、private、telegram 等)组合起来,就是一套成熟的分流方案,完整示例见国内直连、国外代理方案

更新与调试

  • Settings → Profiles 附近可以查看 provider 状态;日志中 provider ... initial failed 表示下载失败。
  • 规则集 URL 本身可能需要代理才能访问,首次初始化失败时,先用可用节点开启代理再重载配置。
提示:RULE-SET 与普通规则可以自由混排,顺序依然是自上而下。把你的个人自定义规则放在 RULE-SET 之前,可以精准覆盖集合中的个别条目。