Clash 文档中心中文使用手册

Clash 怎样确认同名集合没有指向错误文件

Clash 怎样确认同名集合没有指向错误文件。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4

同名集合或相同落盘路径会让你无法判断当前读的是哪一份文件。确认“没有指向错误文件”,依据是官方对 name 与 path 的唯一性规定,而不是看文件内容是否眼熟。下面给出适用条件、核对步骤和失败后的处理。

适用条件

在已配置多条 proxy-providers,或准备新增一条时做这项确认。每条集合的 name 必须填写且不能重复,建议不要和策略组名称重复。type 为 http、file、inline 之一。真正会落到独立文件上的是 http 与 file;inline 使用 payload,没有这份磁盘映射,但仍占用 name,不能和其他集合重名。

path 可选、不可重复。不填写且类型为 http 时,使用 url 的 MD5 作为文件名。路径必须落在 HomeDir(-d)内,或通过 SAFE_PATHS 声明的额外安全路径中(语法同 PATH:Windows 分号,其他系统冒号)。名称唯一但路径越界、或路径相同但名称不同,都属于“可能读错文件”的前置条件,需要一并排除。

用清单核对映射

第一步,抽出全部集合的 name,检查是否有重复。重复名称直接违反必须唯一的规定,配置层面无法区分两个集合,谈不上指向正确文件。同时列出策略组名称,避免集合名与组名相同造成对照混乱。判断依据是:每个 name 在 proxy-providers 中只出现一次。

第二步,抽出所有显式 path,再为未写 path 的 http 条目计算其 url 对应的 MD5 文件名,合并成一张“落盘文件清单”。文档要求路径不可重复,因此清单里若出现两次同一文件,即可判定至少有一条集合没有自己的独立缓存。两条不同 url 若未写 path,只要 URL 不同,MD5 通常不同;真正高风险的是“手写 path 互相撞车”以及“手写路径与某条隐式 MD5 文件名相同”。

第三步,把 name 与文件一一配对:file 类型的文件内容应只服务于该 name;http 类型还应核对 url 是否就是写入该文件的来源。判断没有指错文件的依据是:一个 name 对应一个允许目录内的唯一路径,且该路径不被其他 name 使用。filter、exclude-filter、exclude-type、override 只改变解析后的节点,不改变文件映射,不能用来“证明路径没指错”。

第四步,确认相对路径相对的是 HomeDir,而不是你当前终端的工作目录。看错根目录时,会打开一份同名但位置不同的文件,表现为“名字对、内容不对”。

失败时下一步

若发现 name 重复,先改名使集合唯一,再谈文件。若发现 path 或隐式 MD5 文件名冲突,为冲突双方分配不同路径,并避免继续共用旧文件。若路径算出在 HomeDir 之外,补 SAFE_PATHS 或改回目录内,否则核心不会按你在磁盘上看到的那份文件工作。映射改清后仍解析失败,再查该条 http 的 url、interval、proxy、size-limit(默认 0 不限制,单位字节)。http 或 file 解析失败时可用 payload 作为备用代理,但这是内容兜底,不能证明文件指向已经正确。

https://wiki.metacubex.one/config/proxy-providers/

返回文章索引使用教程