Clash 文档中心中文使用手册

Clash 怎样确认新订阅已成为当前使用的配置

Clash 怎样确认新订阅已成为当前使用的配置。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4

确认对象与适用边界

确认新订阅已成为当前使用的配置,指新的 proxy-providers 条目已经被本次运行读取,并且该集合的名称、来源和展开结果正在被引用,而不是磁盘上另有一份未被加载的文件。资料要求集合 name 必须填写且不能重复,并建议不要和策略组名称重复。因此首先要核对该唯一名称是否出现在当前配置的代理集合映射中,以及策略组是否引用该集合展开后的节点,而不是只看是否曾经保存过某段订阅文本。

本方法适用于刚刚新增或替换了 http、file 或 inline 集合、需要判断是否生效的场合。把健康检查测得的延迟高低当成「有没有用上新订阅」,或在无法查看 HomeDir 缓存、无法核对该配置文本时做结论,都不适用。

用来源字段确认指向的是新订阅

对 http 类型,当前来源是配置中的 url,不能凭旧缓存文件名的观感判断。未写 path 时,文件名由 url 的 MD5 决定,更换地址会对应不同文件;写了 path 则该路径不可与其他集合重复,且必须位于 HomeDir 或 SAFE_PATHS 给出的安全路径。HomeDir 由启动参数 -d 配置,额外路径语法与 PATH 相同。只有新的 url 已出现在当前配置、并且对应路径按上述规则生成或更新,才能说来源已切换。interval 以秒为单位控制更新;间隔之内可能继续使用已下载内容,但那份内容必须服从当前的 url 与 path 规则,而不是已删除的旧集合名。

下载相关字段同样构成当前配置的一部分。header、proxy、size-limit 和 age-secret-key 决定如何取回这份订阅。新订阅需要鉴权或解密,而当前配置没有给出匹配的请求头或密钥时,即使名称还在,加载到的也不是提供方预期的节点集。加密方面资料限定 armor 格式与密钥类型,核心不会主动发送公钥。inline 类型的当前内容就是 payload,file 类型则是那个受限制的本地文件。确认前必须先看 type 是否与设想的来源一致,避免文件集合仍被当成远程订阅。

用展开结果确认以及失败后的步骤

来源正确之后还要看展开结果。filter 与 exclude-filter 按关键词或正则保留和排除,可用反引号分隔多条;exclude-type 按 | 分割节点类型且不支持正则。它们会改变最终节点集合。override 可以为名称增加前缀或后缀,或用 proxy-name 做正则替换;override-expr 采用 yq v4 风格,在固定字段覆写之后按数组顺序执行。若你依靠名称前缀辨认新订阅,必须核对当前配置里这些覆写仍作用于新集合。健康检查是否启用、测试间隔和期望状态,只说明如何测试已展开节点;lazy 默认在不使用该集合时不测。它们不能单独证明订阅已切换,但若能对该集合的节点发起检查,可作为集合已被加载的旁证。

建议同时满足下列依据:当前配置存在目标 name;其类型与 url、path 或 payload 与新订阅一致;HomeDir 内对应缓存若应存在则按当前规则存在;策略组引用该集合的展开结果而不是旧名称。缺一项都不能称为已成为当前使用的配置。

找不到名称时,说明配置未被加载或名称写错,应检查是否重复、是否与策略组撞名。有名称但节点仍旧,要核对其实未改 url 却沿用旧 path,或间隔未到仍读旧文件;可显式给出 path 以免和旧 MD5 文件混淆。有文件无节点,按解析失败处理,资料允许在 http 或 file 解析失败时用 payload 备用,借此可确认集合入口已被读取。路径写入被拒绝时,回到 HomeDir 与 SAFE_PATHS,不要假定核心会读取任意目录里自行放置的新文件。

参考资料:https://wiki.metacubex.one/config/proxy-providers/

返回文章索引使用教程