Clash Verge Rev 订阅更新失败
主题:排错
适用:clash-verge-rev / windows/macos/linux / any
最后验证:2026-09-18
按提示里的英文原文分三种情况:下载不下来、下载到的不是 Clash 配置、下载到了但内核校验不通过(提示里带 test failed)。
在「订阅」页右键订阅点「更新」时,客户端先不走代理直接下载;失败了改用内核代理,再改用系统代理(系统代理没开时,这一次也不走代理),三次都失败才报错。提示写的是「使用 Clash 代理更新失败」,附带订阅名和最后一次失败的原因,而且原因只写最外层的一句;导入订阅时,下载失败的报错一般会把整串原因都写出来1。
- sub-server-cert-untrusted:订阅服务器的证书不受信任,导入时的报错里是
invalid peer certificate: UnknownIssuer。官方给的办法是勾选「允许无效证书(危险)」23,它的代价见修复步骤。 - sub-not-clash-config:服务商按请求里的 UA 判断你用的是哪种客户端,下发不同的配置4。拿回来的内容不是 YAML,或者里面没有节点(
proxies)也没有节点集(proxy-providers),客户端就拒收1。 - sub-config-rejected-by-core:下载成功后,如果这是正在用的订阅,客户端会重新生成配置并用内核校验,不通过就报错,新配置不会交给内核1;内核解析配置出错时,校验输出里带
test failed5。这时新下载的内容已经存进了这个订阅,之后打开「虚拟网卡模式」同样会校验失败,那一侧按Clash Verge Rev 虚拟网卡模式(TUN)开不了或开了不起作用排查。
适用范围里的「已验证」,指按 Clash Verge Rev 2.5.2 的源码与官方文档逐条核对过,没有在客户端上实际操作过。
取证
- sub-downloads-ok:订阅能下载下来吗?(更新失败的提示里有
failed to fetch remote profile,就是下载不下来) pass → sub-content-is-clash-config;fail → sub-server-cert-ok;unknown → escalate - sub-server-cert-ok:订阅服务器的证书能通过校验吗?更新的提示只写最外层的原因,要看细节:在「订阅」页顶部的「订阅文件链接」框里粘贴同一条链接,点「导入」,报错里出现
invalid peer certificate就是不能。(导入失败不会新增订阅;万一导入成功,会多出一个新订阅,查完删掉新的那个) pass → escalate;fail → sub-server-cert-untrusted;unknown → escalate - sub-content-is-clash-config:下载到的是 Clash 配置吗?(提示里有
the remote profile data is invalid yaml或profile does not contain,就不是) pass → sub-config-passes-core-test;fail → sub-not-clash-config;unknown → escalate - sub-config-passes-core-test:新配置能通过内核校验吗?(提示里有
test failed,就是没通过;校验失败了、但提示里没有test failed,算无法判断) pass → escalate;fail → sub-config-rejected-by-core;unknown → escalate
原因
- sub-server-cert-untrusted(可能性 medium)→ 修复 accept-invalid-certs
- sub-not-clash-config(可能性 high)→ 修复 get-clash-format-sub
- sub-config-rejected-by-core(可能性 medium)→ 修复 fix-sub-config-rejected-by-core
修复
accept-invalid-certs
- 先请订阅服务商修好证书。要临时绕过,在「订阅」页右键这个订阅,点「编辑信息」,勾选「允许无效证书(危险)」并保存。勾上以后,客户端不再校验订阅服务器的证书和主机名,无法确认连上的真是订阅服务器,订阅链接可能泄露、下载到的配置可能被替换;服务商修好证书后取消勾选。 验证:sub-update-succeeds
get-clash-format-sub
- 按官方文档的办法检查——在自己电脑上带着 Clash Verge Rev 的 UA 请求订阅链接,看返回的是不是 YAML 格式的 mihomo 配置——但不要把链接直接写进命令:写进命令的链接会留在命令历史里,运行时同一台电脑上的其他程序也看得到。macOS / Linux 终端:先运行
read -rs SUB,粘贴订阅链接后回车(屏幕上不显示),再运行printf 'url = "%s"\n' "$SUB" | curl -L -A clash-verge/v2.5.2 -K -(-L让 curl 跟着订阅地址的跳转走,客户端自己下载时也会跟随),看完运行unset SUB。Windows PowerShell:先运行$sub = Read-Host '订阅链接',粘贴后回车,再运行Invoke-RestMethod -UserAgent 'clash-verge/v2.5.2' -Uri $sub,看完运行Remove-Variable sub。返回的是 YAML 格式的 mihomo 配置才算正确。订阅链接和返回的内容都相当于凭据,不要贴给别人、聊天助手或在线工具。 - 返回的不是这种配置,说明这条链接没有给 Clash 系客户端下发配置:向订阅服务商要 Clash(mihomo)格式的订阅链接,重新导入。 验证:sub-update-succeeds
fix-sub-config-rejected-by-core
- 在报错提示里找到
test failed前面那一行,那是内核解析配置时给出的具体原因;拿它到「mihomo 内核报错信息表」里查是哪一类问题。 - 交给内核校验的配置,是订阅下载来的内容再经过「扩展覆写配置」「扩展脚本」(以及全局的这两项)处理的结果。那一行指向你自己改过的覆写或脚本时,先撤掉那处改动;指向订阅下发的内容时,把那一行原文发给订阅服务商,请对方提供当前内核能通过校验的配置。 验证:verify-core-accepts-config
验证
- sub-update-succeeds(人):在「订阅」页右键这个订阅,点「更新」。 预期:不再弹出失败提示,订阅卡片上的更新时间变成刚才(鼠标移到那段文字上,提示的是「点击查看上次更新时间」,说明显示的是下次更新,先点一下切回来)。 通过 → resolved;失败 → escalate;无法判断 → escalate
- verify-core-accepts-config(人):改好后,在「订阅」页右键这个订阅点「更新」;如果原本是「虚拟网卡模式」开不了,再打开一次,然后关掉「系统代理」,在「代理」页确认选的是「规则」或「全局」、出口是一个节点,打开一个平时打不开、按配置应该走节点的网页。
预期:更新不再报错,订阅卡片上的更新时间变成刚才(鼠标移到那段文字上,提示的是「点击查看上次更新时间」,说明显示的是下次更新,先点一下切回来);原本是虚拟网卡模式开不了的,再打开后开关保持打开、没有带
test failed的报错,而且那个网页能正常显示(开关能保持打开但网页打不开,说明还有别的原因,比如防火墙没有放行内核,这一步不算通过)。 通过 → resolved;失败 → escalate;无法判断 → escalate
相关条目
来源
- cvr-guide-term:https://www.clashverge.dev/guide/term.html(UA)
- cvr-guide-profile:https://www.clashverge.dev/guide/profile.html(订阅链接配置)
- cvr-faq-other:https://www.clashverge.dev/faq/other.html(导入订阅报错 无效的证书)
- cvr-repo-v2-5-2:https://github.com/clash-verge-rev/clash-verge-rev/tree/28f2efc504059b1dc75c793618b775c8e1b2a5f1(src-tauri/src/feat/profile.rs、src-tauri/src/cmd/profile.rs、src-tauri/src/config/prfitem.rs、src-tauri/src/config/config.rs、src-tauri/src/utils/network.rs、src-tauri/src/core/validate.rs、src/pages/profiles.tsx、src/pages/_layout/utils/notification-handlers.ts、src/components/profile/profile-item.tsx、src/locales/zh/profiles.json、src/locales/zh/settings.json)
- mihomo-repo:https://github.com/MetaCubeX/mihomo/tree/ab405bad5beeeac8b003bb01f60f134f6df54471(main.go(-t 校验失败的输出))
最后修订:2b8f68d 2026-09-19