##判断你属于哪种情况
| 表现 | 更可能原因 | 检查 |
|---|---|---|
| OpenClash 更新成功但节点为空 | 订阅不是 Clash/Mihomo YAML,或 YAML 缺少 proxies | 打开订阅内容看字段 |
| PassWall 订阅保存后没有节点 | 格式不被当前解析器支持 | 换服务端对应导出格式 |
| 路由器提示下载失败 | 路由器本机无法访问订阅 URL | LuCI 诊断或 SSH 测试 |
| HTTPS 证书错误 | 系统时间错、CA 包缺失 | 同步 NTP,安装 CA 证书 |
| 某些新协议节点全失败 | 内核版本旧或依赖没装 | 更新 Mihomo、Xray、sing-box 等内核 |
| 两个插件轮流异常 | DNS 劫持或透明代理冲突 | 一次只启用一个插件 |
OpenClash 官方仓库定位为 OpenWrt 上的 Clash 客户端,Wiki 也把订阅设置、配置文件管理、DNS、运行状态等作为主要配置入口。PassWall/PassWall2 则是 OpenWrt LuCI 插件,依赖包仓库包含 sing-box、xray-core、hysteria、naiveproxy 等组件。两者都在 OpenWrt 上跑,但订阅格式、依赖和日志入口并不一样。
适用场景与不适用场景
适用:
- OpenWrt、ImmortalWrt、iStoreOS 或类似 LuCI 固件。
- PassWall、PassWall2 或 OpenClash 订阅导入失败、节点为空、更新超时。
- 想判断是订阅格式、路由器网络、插件依赖还是内核版本问题。
- 家庭路由器、旁路由、软路由都可按本文排查。
不适用:
- 你还没有安装插件,只是在选择 OpenWrt 固件。
- 订阅服务本身无法在任何设备打开。
- 需要重写复杂分流规则或自定义脚本覆写。
- 路由器硬件存储不足,连基础依赖都无法安装。
确认插件和订阅格式匹配
分清目标插件:
| 插件 | 更适合的订阅类型 | 不建议直接导入 |
|---|---|---|
| OpenClash | Clash/Mihomo YAML,含 proxies、proxy-groups、rules | sing-box JSON、纯 v2ray 链接列表、网页登录页 |
| PassWall | 节点订阅、PassWall 支持的服务端导出、V2Ray/Xray/sing-box 相关格式 | 依赖复杂 provider 的 Clash 完整配置 |
| PassWall2 | 与 PassWall 类似,但更看重当前依赖和内核组件 | 未确认字段支持的新协议配置 |
检查方法:
- 在电脑浏览器打开订阅 URL。
- 不要只看「能下载」,要看内容结构。
- OpenClash 订阅应能看到
proxies:、proxy-groups:、rules:等 YAML 字段。 - sing-box JSON 应能看到
{ "outbounds": ... }这类结构,不能直接当 OpenClash 配置。 - 如果打开后是登录页、错误页、套餐说明或空白页,插件导入也会失败。
如果你准备多插件切换,最好让服务端分别提供 OpenClash、PassWall、sing-box 等导出,而不是把一个链接到处粘。需要统一多端测试时,可以准备一份配套订阅线路,但导入时仍要选择当前插件支持的格式。
确认路由器本机能拉取订阅
很多人只在电脑浏览器测试订阅,这是不够的。OpenWrt 插件更新订阅时,请求来自路由器本机;电脑能访问,不等于路由器能访问。
LuCI 图形界面检查
- 进入 LuCI 后台。
- 打开「网络 → 诊断」或固件提供的诊断页。
- 对订阅域名做 DNS 解析测试。
- 对订阅域名做 ping 或 HTTP 测试。
- 如果域名解析失败,修路由器 DNS,再回插件。
SSH 检查
如果你能 SSH 到路由器,可执行:
nslookup example-subscription-domain.com
wget -S -O- 'https://example.com/sub?token=redacted' >/tmp/sub-test.txt
看三件事:
- 是否能解析域名。
- HTTPS 返回码是否为 200。
/tmp/sub-test.txt里是不是目标格式,而不是 HTML 错误页。
不要把真实 token 发给别人排查;截图时也要遮住订阅参数。
检查时间、证书、依赖和空间
OpenWrt 上的 HTTPS 问题经常和系统时间、CA 证书有关。
| 检查项 | 正常状态 | 异常时处理 |
|---|---|---|
| 系统时间 | 与当前时间相差很小 | 配置 NTP,同步后再更新订阅 |
| CA 证书 | 已安装 ca-bundle 或 ca-certificates | 通过软件包管理安装 |
| 下载工具 | curl 或 wget-ssl 可用 | 安装 HTTPS 版本工具 |
| 可用空间 | /overlay 仍有余量 | 清理日志、旧包、临时文件 |
| 插件依赖 | LuCI 插件和内核包匹配 | 补装缺失依赖或使用同源软件包 |
iStoreOS 用户也建议看这几项。图形界面做了封装,但底层仍是 OpenWrt 包、证书、时间和文件系统。
OpenClash 专项排查
OpenClash 失败时,按这个顺序走:
- 进入 OpenClash 的订阅设置页,确认订阅类型没有选错。
- 手动更新订阅,记录页面提示。
- 打开运行状态或日志页面,看是下载失败、配置解析失败,还是内核启动失败。
- 如果下载成功但配置检查失败,把订阅 YAML 另存后检查缩进、字段和 provider。
- 更新 Mihomo/Meta 内核,再测试一次。
- 暂停 PassWall、SSR Plus+、其他透明代理插件,只保留 OpenClash。
OpenClash 更依赖 Clash/Mihomo 配置语义。即使订阅能下载,只要 YAML 里使用了当前内核不认识的字段,也可能导入后启动失败。
OpenClash 快速定位表
| 日志关键词或现象 | 含义 | 处理方向 |
|---|---|---|
| download failed | 订阅 URL 拉取失败 | 查 DNS、HTTPS、返回码 |
| yaml parse error | YAML 结构错误 | 换导出格式或检查缩进 |
| proxy not found | 分组引用了不存在的节点 | 重新生成订阅配置 |
| rule provider error | 规则集下载或格式异常 | 单独测试规则集 URL |
| core start failed | 内核启动失败 | 更新内核,看详细日志 |
PassWall / PassWall2 专项排查
PassWall 的更该先看节点、协议、内核和分流设置之间是否匹配,而不是 YAML 配置文件。
- 进入节点订阅页,确认订阅类型和解析模式。
- 更新订阅后看节点列表是否新增。
- 如果节点有了但不可用,看节点协议对应的内核是否安装。
- VLESS、Trojan、Hysteria、TUIC、Shadowsocks 等协议不要混用错误内核。
- 检查 DNS 与透明代理模式,避免和 OpenClash 同时接管。
- 打开 PassWall 日志,区分「订阅解析失败」和「节点运行失败」。
PassWall/PassWall2 的依赖包仓库包含多个核心组件。插件界面存在,不代表每个协议所需的运行组件都已经装好。
PassWall 快速定位表
| 表现 | 更可能原因 | 处理方向 |
|---|---|---|
| 更新后节点数为 0 | 订阅格式不被解析 | 换 PassWall 支持的导出 |
| 节点存在但启动失败 | 对应内核缺失 | 安装或更新 xray-core、sing-box 等组件 |
| 只有部分协议失败 | 单个协议字段不兼容 | 更新内核或改用服务端兼容导出 |
| 规则生效混乱 | DNS/分流设置冲突 | 用默认规则测试,再逐项恢复 |
| 重启后配置丢失 | 存储空间或权限问题 | 检查 /overlay 与配置文件权限 |
避免两个插件互相抢流量
在同一台路由器上同时启用 PassWall 和 OpenClash,是排错时最常见的干扰源。它们都可能改防火墙、DNS、透明代理入口和本机转发规则。
建议这样做:
- 先停用所有同类插件。
- 只启用 OpenClash,完成订阅更新和访问验证。
- 记录可用配置后停用 OpenClash。
- 再只启用 PassWall,重复同样验证。
- 确认两者单独可用后,再决定保留哪一个。
如果你只是想全家设备走同一套路由规则,通常不需要两个插件同时启用。少一个变量,排障会快很多。
验证是否修好
完成修复后,不要只看「节点出现了」。按下面清单验收:
- 手动更新订阅成功,日志里没有下载或解析错误。
- 插件节点列表、分组或策略页能看到预期内容。
- 重启插件后配置仍存在。
- 路由器本机 DNS 解析正常。
- 手机或电脑连接该路由器后,常用海外服务访问结果符合预期。
- 国内常用服务没有被错误转发到远端 outbound。
- 停用另一个代理插件后,问题不会再次出现。
验证时选 2 台设备:一台手机、一台电脑。手机可排除电脑本地代理残留;电脑方便看开发者工具和 DNS 缓存。两边都正常,才算配置层面基本通过。