CClash 下载中心下载入口

配置笔记

Clash 怎样保存可回退的规则来源记录

Clash 怎样保存可回退的规则来源记录。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4 · Clash 编辑组

适用条件:什么记录才能回退

你需要在规则调整或 RULE-SET 引用变化之后,能够回到上一份已知的分流结果。本页没有提供独立的版本库。可回退的规则来源记录,只能是当时实际生效的 rules 列表原文,以及其中的引用关系。官方示例以完整的 rules 数组给出各类型行,末行常见 MATCH,auto。保存时必须保留从上到下的顺序,因为规则将按照该顺序匹配,列表顶部的规则优先级更高。MATCH 匹配所有请求、无需条件,它在记录中的位置决定没有其它行命中时的去向。

所谓来源,在本页里有两类。第一类是直接写在 rules 中的 payload,如 DOMAIN,ad.com,REJECT、DOMAIN-SUFFIX,google.com,auto、GEOSITE,youtube,PROXY、GEOIP,CN,DIRECT 以及端口、入站、进程等行。这些行的类型、payload、策略名本身就是来源,回退时要整行还原,不能只记策略名。第二类是引用:RULE-SET,providername,proxy 表示引用规则集合,需配置 rule-providers。本页给出的来源标识是 providername 和命中后的策略。没有保存 providername,就无法知道当时引用的是哪一个集合。

按官方字段保存规则来源

保存记录时按列表逐行抄写,不要打乱顺序。对 RULE-SET 行单独标明这是引用,不是本行内嵌域名。对逻辑规则保存括号:官方形式为 LOGIC_TYPE,((payload1),(payload2)),Proxy,示例为 AND,((DOMAIN,baidu.com),(NETWORK,UDP)),DIRECT。括号丢失会导致回退后逻辑条件变化。SUB-RULE,(NETWORK,tcp),sub-rule 要连同子规则名称一起保存。

附加参数只对目标 IP 类有效。no-resolve 用于跳过为匹配目标 IP 而触发的 DNS 解析;src 将目标 IP 匹配转为来源 IP 匹配。这两项必须跟在对应 IP 规则后面一起记录,不能记到 DOMAIN 或 RULE-SET 上。通配类规则若出现在记录里,也要按官方范围保存:DOMAIN-WILDCARD 与进程路径、进程名通配都仅支持 * 和 ?,且与配置文件其他地方的 Clash 格式通配符不相同。

本页没有描述如何把远程集合文件本身做成多份历史副本。因此,针对 RULE-SET 的可回退范围,首先是是否引用该 providername、该行在什么位置、命中后去哪个策略。若远程集合内容已变而本地仍写着同一 providername,只回退 rules 顺序不足以回到旧命中面——这是引用机制的限制,应在记录里写明该行是引用,避免误以为保存了列表就等于冻结了集合内容。GEOSITE、GEOIP 是独立类型,记录分类名即可,不要写成 RULE-SET。进程类记录的是完整路径或进程名,不要写进域名来源。

判断依据与失败时下一步

判断依据:记录包含完整顺序;每一行能对上官方类型;所有 RULE-SET 都能看出 providername;MATCH 出现在记录中你当时实际放置的位置。

失败时下一步:若只保存了策略名列表,补回类型与 payload 后再谈回退。若回退后命中仍与预期不符,检查 RULE-SET 引用的集合是否已不是记录当时的内容,而不是先改 MATCH。若逻辑规则回退后异常,先核对括号是否完整。回退操作是用整段已保存的 rules 覆盖当前列表,避免只恢复其中一行导致优先级错位。不要为记录发明本页未出现的版本号字段。

https://wiki.metacubex.one/config/rules/

← 返回全部文章