规则集是什么:远程规则的更新与维护
规则集是把大量域名或 IP 打包成一个可远程更新的文件,由客户端按间隔下载后被一条规则整体引用。本文说明规则集与订阅、地理数据库的区别,常见行为类型与格式,更新失败的原因,以及挑选来源、本地备份和定期复查的维护方法。
规则集是一份可远程更新的“名单”,由一条规则整体引用
规则集是把成百上千条域名或 IP 打包成一个独立文件,客户端按设定间隔从远程地址下载,然后在规则列表里用一条引用规则统一指定它的去向。 它让“海外常用服务走代理”“本地地址直连”这类大类判断,不必写成几千行规则,也能随着社区维护自动更新。规则集与订阅是两套独立的更新机制:一个负责名单,一个负责节点和配置。
规则的基本写法见 Clash 规则怎么写。订阅本身的更新属于另一个二级专题,本文只在边界处一句带过。
三类“会自动更新的东西”要分清
客户端里有三种远程数据会定期下载,出问题时的表现相似,但原因不同:
| 名称 | 内容 | 由谁提供 | 失败时的表现 |
|---|---|---|---|
| 订阅 | 节点列表、整份配置 | 机场 | 节点不变或消失 |
| 规则集 | 某一类域名或 IP 名单 | 机场配置指定或用户自选 | 某类网站分流错误 |
| 地理数据库 | IP 归属地、域名分类数据 | 内核或客户端指定 | 地区类规则判断失准 |
遇到“某类网站总是走错路径”时,先看规则集和地理数据库的更新时间,而不是急着更新订阅。订阅侧的问题见 订阅链接导入与更新。
规则集的构成:行为、格式与引用
在 Clash 系配置中,规则集通常在一个单独的段落里声明,再由规则引用。下面是通用示意,字段与取值以客户端和内核文档为准:
rule-providers:
example-proxy-list:
type: http
behavior: domain
format: yaml
url: https://rules.example.com/proxy-list.yaml
path: ./ruleset/proxy-list.yaml
interval: 86400
rules:
- RULE-SET,example-proxy-list,节点选择
几个字段的含义:
- 类型:远程下载或本地文件。远程类型会把下载结果缓存到本地路径,下次启动先读缓存。
- 行为:说明文件里装的是什么。常见三种——纯域名、纯 IP 段、以及每行自带规则类型的混合写法。行为与文件内容不匹配时,规则集会加载失败或被静默忽略。
- 格式:文本、YAML,以及部分内核支持的二进制格式。二进制格式体积小、加载快,但无法直接用文本编辑器查看。
- 间隔:单位为秒,决定多久尝试更新一次。
sing-box 的规则集概念相同,分为本地与远程两种,也有源格式与二进制格式之分,写法见 sing-box 路由规则入门。
更新失败的四种常见原因
规则集下载失败时,客户端通常继续使用上一次的缓存,因此不会立刻出现明显故障,而是“慢慢变旧”。常见原因:
- 下载地址需要经由代理才能访问。 一些规则集托管在本地网络不稳定可达的平台上。若规则集更新请求本身被分流为直连,就会反复失败。可在配置中为规则集下载指定经由代理,具体字段以客户端文档为准。
- 来源地址变更或停止维护。 社区项目可能改名、迁移或归档,旧地址返回错误页面。
- 行为或格式写错。 域名列表被声明成 IP 行为,加载时被整体忽略。
- 本地缓存目录无写入权限。 常见于把客户端放在受保护目录或以不同用户身份运行的情况。
判断方法是查看客户端的规则集管理页或日志:大多数客户端会显示每个规则集的条目数和最后更新时间,条目数为零或更新时间停留在很久以前,就是需要处理的信号。
怎样挑选规则集来源
规则集直接决定流量去向,挑选时应当像挑选客户端一样谨慎:
- 公开维护:有公开的仓库或发布页、能看到更新记录和问题反馈;
- 用途清晰:一个规则集只负责一类内容,例如“广告域名”“本地服务”“海外常用服务”,便于定位问题;
- 许可明确:留意维护者的许可说明,按其条款使用;
- 不叠加过多:同一类别引用多个来源,容易出现互相冲突的条目,排查时难以判断是谁的问题。
机场下发的配置往往已经引用了若干规则集,在不清楚其作用前,不建议大幅替换。
日常维护的四个习惯
每月一次:查看各规则集的条目数与最后更新时间
发现异常:先在日志里确认失败原因,再决定换源或改为经由代理下载
自定义需求:少量域名写自定义规则,大量域名才考虑自建规则集
重大变动前:备份当前配置与规则集缓存目录
自建规则集适合有固定需求的用户,例如一批工作相关域名需要统一直连。把它保存为本地文件类型,既不依赖远程地址,也方便随时修改。
规则集在规则列表里放在哪
引用规则集的那一行,同样遵守“自上而下、命中即停”的顺序。几条经验可以参考:
- 拒绝类规则集(例如广告名单)放在最前,避免被后面的代理或直连规则提前截走;
- 你自己维护的直连名单放在通用名单之前,表达更明确的意图;
- 纯 IP 段行为的规则集放在域名类规则集之后,并按内核文档加上不触发解析的参数;
- 同一个规则集只引用一次,重复引用并不会提高优先级,只会让排查更混乱。
如果发现某个规则集“明明已经更新、条目也对,却好像没起作用”,多半是它的引用行被前面更宽的一条规则抢先命中,查看连接日志里实际命中的规则名即可确认。
规则集不能解决的问题
规则集只解决“名单是否齐全、是否最新”。它不能修复节点不可用、不能改变出口地区,也不能替代 DNS 配置——如果域名在进入规则判断之前就被错误解析,名单再全也无济于事,DNS 相关内容见 代理客户端的 DNS 设置。
更多分流与排错主题请回到 规则分流与故障排查专题页。使用任何规则集,都请遵守所在地法律法规与相关平台条款。
常见问题
规则集和订阅更新是一回事吗?
不是。订阅更新替换的是节点和整份配置,规则集更新只替换某一份域名或 IP 列表。两者各有独立的地址和更新间隔,一个失败不影响另一个,排查时要分开看。
规则集多久更新一次合适?
常见做法是一天左右更新一次。社区列表的变动不会以分钟计,设得过短只会增加请求次数;设得过长则新出现的域名迟迟不能被正确分流。
可以随便使用网上找到的规则集吗?
不建议。规则集决定了哪些连接走代理、哪些直连或被拒绝,来源不明的规则集可能把连接导向你不期望的出口。应选择公开维护、有更新记录的来源,并留意其许可说明。
来源与更新
品牌字段来自本站品牌数据文件(整理自 2026-09-04 品牌清单,Vendor Data,官网待核实);测速截图为 2026-10-18 复核后发布的单次 Measured Data;AI 与流媒体均为 Not Tested。发布 2026-10-18,最近更新 2026-10-18。本页不承诺任何平台的收录、排名或引用。