Clash 文档中心中文使用手册

Clash 如何用一项可逆修改验证配置加载位置

Clash 如何用一项可逆修改验证配置加载位置。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4

要用一项可逆修改验证配置加载位置,应选择本页写明如何观察、改回即可撤销的全局字段,而不是同时改代理节点和规则。log-level 符合这些条件:取值固定,仅在控制台和控制页面输出,把原值写回去即可恢复。

适用条件

适用于有两份以上候选 YAML,或不确定工作目录下的相对路径到底指向哪一个文件,需要用实验确认的场合。适用于能看到控制台或控制页面日志。验证期间应避免其它进程通过 external-controller、Unix socket 或 namedpipe 改同一内核,否则结果无法归因。Unix socket 与 namedpipe 访问 API 不验证 secret,并行控制会破坏「只改一项」的前提。

操作步骤与判断依据

  1. 只记录并修改 log-level。若文件写着 info,记下以便恢复;若文件未写该项,把当前控制台实际输出的详尽程度当作基线。不要同时改 mode、secret、端口、allow-lan。
  2. 在你怀疑会被加载的那一份里,把 log-level 改成与当前观察明显不同的一档。当前几乎看不到一般运行内容时,可改为 debug(尽可能输出运行中所有信息);当前过细时可改为 warning 或 error。silent 不输出,只适合你能用其它方式确认进程仍在的场合。
  3. 让内核读取该文件。本页未给出把已运行内核重新指向磁盘 YAML 的字段;tls 自动重载不适用于 log-level。应在一次会读取该 YAML 的启动完成后再观察。工作目录必须是你以为的那一个,external-ui 等相对路径才有意义;路径不在工作目录时还涉及 SAFE_PATHS。
  4. 只在控制台和控制页面核对输出范围:error 仅无法使用的错误;warning 包含不影响运行的错误以及 error;info 再包含一般运行内容;debug 尽可能全部。范围跟着你改的那一档变化,才算该项进入了内核。
  5. 无论成败,把 log-level 改回原值并再次完成同样的读取动作,保持修改可逆。判断依据:只有被改的那一份在读取后日志范围跟着变,未改的文件保持原样,才能认定加载位置是那一份。改了 A 而日志不变,则要么读的不是 A,要么读取动作没有发生。

失败时下一步

先排除观察通道错误:本页写明日志只在控制台和控制页面。必须换一项时,可改 mode(rule、global、direct)看是否进入对应运行模式,改完必须改回;global 还需要在 GLOBAL 策略组选择代理或策略。不要把 allow-lan 或 bind-address 当作第一次实验。仍无法区分时,再给两份文件设置不同的 external-controller 端口,看哪个地址在听;那已超出「一项」修改,只作后续手段。

资料来源: https://wiki.metacubex.one/config/general/

返回文章索引使用教程