Clash 规则保存了却没分流?先核对正在运行的配置(2026)
这篇从“保存之后流量仍不对”写起。Clash Verge 里按下保存,只表示文件写进去了。正在运行的配置可能仍是旧表,也可能把订阅原来的规则整份换掉。先看合并结果和新连接,再决定要不要改。
规则只处理已经进入客户端的流量。它不能把机房地址变成住宅地址,也不保证流媒体解锁或账号不被风控。
🧪 保存提示不能当成已经生效
扩展配置和「编辑规则」是两条入口。文档写明,扩展文件里的列表会整表替换,rules 也一样。把几条新规则写进扩展 YAML 的 rules,不是在原表前面加几行,而是用你写下的那张表换掉订阅原表。
文档还写明,mode 由软件设置接管。扩展里写下的模式会在链路末尾被丢掉。要按规则表分流,在软件里切到规则模式,不要在 YAML 里写 mode: rule。
系统代理或 TUN 决定流量进不进客户端。规则模式不会自动接管所有程序。电脑上还没装好客户端时,先看 Windows、macOS 或 Linux 的安装页。
🪟 正在运行的配置里要同时看到这三处
重新应用当前订阅后,打开只读的当前配置窗口。菜单名称会随版本变化,以你这版里查看正在运行配置的入口为准。下面这张图就是那个窗口。红框是画上去的。

- 新增的规则集既有定义,也有成功的下载状态和更新时间。
- 原订阅规则还在,末尾的
MATCH还在。若整张表只剩你新写的几行,就是被替换了。 - 每条
RULE-SET的策略名都能对上该订阅里真实存在的代理组。
然后在「连接」里看一条新请求。已经建立的连接可能仍走旧路由,不能用旧连接判断这次修改。
↩️ 规则表被整份替换时怎么收回
若当前配置里原订阅规则不见了,先恢复备份,不要在这张残表上继续加规则。恢复后只做两件事:规则集定义放进当前订阅自己的扩展配置;引用放进同一订阅右键的「编辑规则」前置区。
不要改刷新订阅时会被替换的原始文件,也不要清空已有扩展。全局扩展卡片是另一层。下面这张图是较早的订阅页,红框圈住的是全局扩展覆写,不是当前订阅的「编辑规则」。

📁 公开文件该引用哪些,哪些先不要整份直连
下面用的是仓库 release 分支上的公开文本。文件以 payload: 开头。域名文件的 behavior 是 domain,IP 段是 ipcidr,进程名文件是 classical。类型和文件内容对不上时,客户端会拒绝加载。

| 文件 | behavior | 先不要这样做 |
|---|---|---|
| applications.txt | classical | 不要整份送去 DIRECT。名单里有 sing-box、hysteria、shadowsocks,也有 uTorrent、xdman |
| direct.txt 与 apple.txt、google.txt | domain | 列表有重叠。谁写在前面,谁先命中 |
| private.txt、lancidr.txt | domain / ipcidr | 适合放在前面走 DIRECT,避免局域网和路由器域名被送出去 |
| reject.txt | domain | 只拒绝名单里的域名,不是全部广告都没了 |
| cncidr.txt | ipcidr | 这是 IP 段文件,和文档里的 GEOIP,CN 不是同一个东西 |
若扩展里还没有 rule-providers,可以放进下面这种条目。已经有这个键时,只追加新名称,不要再写一个同名顶层键。名称被占用就换前缀,并同步改引用。interval: 86400 只是每 24 小时请求一次,访问不到地址就不会更新。
rule-providers:
run-ls-private:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
path: ./ruleset/run-ls-private.yaml
interval: 86400
run-ls-reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/run-ls-reject.yaml
interval: 86400
引用写在「编辑规则」的前置区,不要写进扩展文件的 rules。把「换成真实代理组名」改成该订阅里已经存在的组名。PROXY 不是每个订阅都有。
RULE-SET,run-ls-private,DIRECT
RULE-SET,run-ls-lancidr,DIRECT
RULE-SET,run-ls-reject,REJECT
RULE-SET,run-ls-direct,DIRECT
RULE-SET,run-ls-cncidr,DIRECT
RULE-SET,run-ls-google,换成真实代理组名
RULE-SET,run-ls-proxy,换成真实代理组名
RULE-SET,run-ls-telegramcidr,换成真实代理组名
GEOIP,CN,DIRECT
Apple、iCloud 两类域名没有放进这组默认顺序。先用一个苹果服务试直连或代理,再单独加。多个订阅都要同一套改动时,用官方扩展脚本,见 扩展脚本文档。不要和编辑器方法叠在同一个订阅上。已有 main 时并进去,不要再定义一个。
🎯 组名和模式写错时,连接日志会怎么显示
策略名对不上时,核心校验或加载日志会报错,新连接也不会进你以为的那个组。把名称从该订阅的代理页复制过来,不要手打一个相近的词。
软件仍停在全局或直连时,连接日志不会按你刚加的规则表分流。先切到规则模式,再发一条新请求。规则集地址访问失败时,名字可以出现,下载状态仍是失败。这时不要把 86400 理解成已经更新。
📱 手机菜单不要照电脑上的位置找
右键「编辑规则」是 Clash Verge 的入口。Android 上的 Clash 有自己的规则位置,不能按电脑菜单找。安装和导入见 Android 订阅配置。
🩹 只改一条再测,不要继续叠加
某个域名和预期出口不一致时,在「连接」里看它命中了哪一条。被更靠前的直连或拒绝截走,就只为这个域名加一条更靠前的规则。
所有站点一起异常时,恢复备份。常见原因是扩展 YAML 写了 rules,或代理组名称不存在。恢复后只保留规则集定义,把引用放回前置区,再测一条新连接。
评论
还没有评论,来说点什么吧。
发表评论
评论提交后需经审核才会显示。