Clash 文档中心中文使用手册

Clash 怎样用时间记录区分立即失败和长时间等待

Clash 怎样用时间记录区分立即失败和长时间等待。了解适用条件、操作步骤与常见问题的排查方法。

更新于 2026/10/4

代理集合页给出了三档可以对照的时间尺度:interval(秒,下次更新集合)、health-check.interval(秒,下次延迟测试)、health-check.timeout(毫秒,单次延迟测试等待上限)。该页没有下载耗时日志格式,也没有「立即失败」这个字段名。区分立刻报错和长时间等待时,自己记下开始时刻和出现结果的时刻,用经过时间去对这三档,而不是去对并不存在的连接超时项。

适用条件

适用于 http 类型在更新或健康检查时看起来卡住,需要判断是配置当场被拒绝,还是等到了文档里的某个时间点。file / inline 不经远程 url 更新,不要把本地读取的快慢当成远程等待。

记下经过时间再对照

  1. 记下开始时刻和失败(或仍在等待)的时刻,得到经过时间。
  2. 几乎立刻返回:优先当配置或路径约束,而不是网络在等。本页会让操作当场无法按预期进行的情况包括:http 未配置 url;path 重复;path 不在 HomeDir 且未设置 SAFE_PATHS;name 重复。这些不经过 interval 等待。
  3. 经过时间落在 health-check.timeout 的量级(示例 5000 毫秒),并且正在测节点延迟:对应健康检查单次等待上限。判断:health-check.enable 为 true,访问的是检测用 url,不是订阅 url。
  4. 经过时间接近 health-check.interval(示例 300 秒)才出现下一次延迟结果:这是检查节奏,不是订阅下载在读正文。
  5. 经过时间接近 interval(示例 3600 秒)才再次访问订阅 url:这是更新节奏。到期之前没有新的下载,属于还没到更新点。
  6. health-check.lazy 默认为 true 时,不使用该集合节点则不测试。表现可能是一直没有延迟数据;测试未开始时,timeout 不会去截断一段不存在的等待。

判断依据

立刻失败:对照 name、type、url、path、SAFE_PATHS,不要调大任何 timeout。数秒量级且在测延迟:对照 health-check.timeout。数分钟到一小时:先分清你在等的是健康检查间隔还是 provider 更新间隔。size-limit 超限和 age 解密失败发生在已经拿到内容之后,不能单用 interval 解释。

对不上这三档时下一步

重新确认等待的是「经 proxy 拉 url」还是「对节点做健康检查」。前者查下载路径;后者查 enable、检测地址、timeout 和 lazy。不要因为等得久就加大 interval,那只会更晚才更新。本页未给出订阅下载自己的超时字段,记录时间是为了分类现象,不能据此在配置里编造连接超时或读取超时项。

资料来源: https://wiki.metacubex.one/config/proxy-providers/

返回文章索引使用教程