CClash 下载中心下载入口

配置笔记

Clash 电脑端:软件更新后怎样复核进程匹配项

Clash 电脑端:软件更新后怎样复核进程匹配项。了解适用条件、操作步骤与常见问题的排查方法。

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

适用条件:更新后要复核哪些进程项

电脑端软件更新后,可执行文件的完整路径或进程名可能变化。Clash(mihomo)的 PROCESS-PATH 使用完整进程路径匹配,官方示例为 /usr/bin/wget 与 C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe。路径里任一目录、文件名或扩展名与 payload 不再一致,精确路径规则就不会再命中。适用条件是:现网策略依赖进程类规则,并且该软件刚刚完成安装、升级或被改到其它目录。

PROCESS-NAME 使用进程匹配,示例为 curl、chrome.exe。若更新后进程名未变,名称规则的 payload 仍可能成立,但这不能代替对完整路径的复核。PROCESS-NAME 在 Android 平台可以匹配包名,电脑端复核时仍只对照进程名,不要改成包名。规则按从上到下顺序匹配;更新配置时若把进程行挪到 MATCH 之后,复核范围还要包括位置。MATCH 匹配所有请求、无需条件。

按类型复核匹配项是否仍指向当前可执行文件

先按类型逐条对照当前完整路径与进程名。PROCESS-PATH 要逐字核对目录、文件名、扩展名,以及 Windows 示例中的 \\。安装目录一旦变化,原精确路径行即不再指向当前文件。PROCESS-PATH-WILDCARD 仅支持 * 和 ?,官方示例 /usr/*/wget 只能吸收被 * 或 ? 罩住的那一段变化;未被通配的部分仍必须一致,且此处通配符与配置文件其他地方的 Clash 格式通配符不相同。PROCESS-PATH-REGEX 按正则复核,官方有 .*bin/wget 与 (?i).*Application\\\\chrome.*;更新后若路径不再满足该正则,应改写而不是留着旧表达式。

再复核 PROCESS-NAME、PROCESS-NAME-WILDCARD、PROCESS-NAME-REGEX。进程名变化时,精确名称行失效。通配如 *telegram* 只覆盖名称中的片段,正则如 curl$、(?i)Telegram、.*telegram.* 各有锚点与大小写含义,要用当前进程名重新试配。不要用域名规则代替这次复核:DOMAIN 匹配完整域名,软件更新改的是进程对象。也不要用 UID(Linux USER ID)去复核 Windows 路径,或用目标 IP 规则的 no-resolve、src 解释进程项是否过期。

若更新后路径经常含可变目录,复核时可以评估是否把精确 PROCESS-PATH 改为仍符合官方语法的通配或正则,这是改写,不是更新会自动适应。改写后仍须放在 MATCH 之前,并避免短通配写在更具体的路径之前。逻辑规则与 SUB-RULE 都要注意括号,进程 payload 被 AND 住时,其它条件未改也可能整行不再成立。

判断依据与失败时下一步

判断依据:当前完整路径与仍在使用的 PROCESS-PATH(或对应通配、正则)一致;当前进程名与仍在使用的 PROCESS-NAME(或对应通配、正则)一致;没有把旧安装目录留在列表里继续占据更高优先级;MATCH 仍在最后。

失败时下一步:精确路径不命中时,用当前完整路径替换 payload,不要只改策略名。名称不命中时,按当前进程名改写,不要改成域名。通配或正则过宽导致其它程序被卷进同一策略时,改回完整路径,或收紧未被通配的部分。旧路径行若指向已不存在的位置,删除以免挡住新行。新路径已写对但仍不命中时,检查上方域名或 RULE-SET 是否先命中,以及 UDP 是否因节点无 UDP 支持而继续向下。回退时用整段 rules 原文覆盖,避免只改一半。不要在未核对当前路径之前用 * 扩大匹配。

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

← 返回全部文章