本文适用于已持有自己的服务商与订阅、但在 Shadowrocket 中遇到节点超时或连接后无法访问的用户。先用同一节点完成重复测试与网络对照,再逐项检查地址、端口、认证及传输参数,最后核对系统时间和订阅状态。排查目标是定位失败环节,而不是把所有问题都归为节点失效。
一、先区分延迟超时与实际连接失败
Shadowrocket(小火箭)的延迟测试结果与网页访问结果不是同一个指标。测试显示超时,表示该次测试没有在规定时间内完成;它不能单独证明账户失效,也不能证明所有网站都无法访问。相反,显示毫秒数也只说明该测试完成,不能保证后续的认证、TLS 握手和目标访问全部成功。
先在 Home 核对当前选中的节点,再执行 Connectivity Test。记录所用测试方式,前后对照时保持方式一致;如果切换了测试方式,结果就不能直接比较。TCP 建连测试与需要经过代理访问目标的测试覆盖环节不同,尤其不能用单纯 TCP 结果推断基于 UDP 的传输一定可用。
| 观察到的现象 | 目前可以判断什么 | 下一步 |
|---|---|---|
| 同一节点连续测试超时 | 测试路径持续未完成,原因尚未定位 | 保持参数不变,切换 Wi-Fi 与蜂窝网络对照 |
| 测试有毫秒数,网页仍失败 | 测试环节通过,不代表业务请求通过 | 检查认证、TLS、Global Routing 与 DNS |
| 只有一个节点失败 | 故障更集中于该节点或其参数 | 与自己已有的另一节点对照 |
| 同一网络下全部失败 | 可能存在共同的网络或配置因素 | 先确认本地网络可用,再换网络复测 |
不要把某个毫秒阈值当作通用合格线。延迟受所在网络、服务器位置和测试目标影响。比起比较两个不同环境下的数值,记录“同一节点、同一测试方式、不同网络”的结果,更有助于缩小范围。
二、按五步建立可复现的测试记录
每次只改变一个条件。一次性更新订阅、切换协议、修改 DNS 并重启设备,即使恢复访问,也无法确定哪一步有效。先保留原有配置,避免在排查过程中覆盖仍可使用的参数;记录可以写在本地备忘录中,不需要公开完整配置。
-
确认网络
临时关闭 Home 的连接开关,确认当前 Wi-Fi 或蜂窝网络能够访问平时可直连的网站。公共 Wi-Fi 如需登录,先完成网络认证,再继续测试。
-
固定节点
在 Home 选择一个已有节点,执行 Connectivity Test,使用相同测试方式重复三次。记录是全部超时、偶发成功,还是每次均返回数值,不把三次测试解释为长期可用性统计。
-
切换网络
保持节点和参数不变,在 iPhone 系统设置中切换 Wi-Fi 与蜂窝网络,重复相同测试。若只在某个网络失败,优先检查该网络的访问限制和 UDP 可达性。
-
实际访问
打开 Home 的连接开关,确认当前选中节点后访问同一个目标。若需要临时隔离规则影响,可将 Global Routing 切到 Proxy 做一次对照;测试完成后恢复原先使用的 Config。
-
排除自动连接
如果手动断开后连接又自动启动,检查 Settings → On Demand。记录原设置后临时关闭 On Demand,再重复手动连接测试;定位结束后按原使用需求恢复。
结论:先确定故障是否跟随网络
若同一节点只在 Wi-Fi 超时、切到蜂窝网络即可完成测试,先保留节点参数,沿 Wi-Fi 网络路径排查;不要立即重建全部配置或更改认证信息。
三、核对地址、端口与协议专属参数
进入 Home 中对应节点的编辑页面,对照自己的服务商提供的当前参数。先看 Type,再看服务器地址和端口,最后看认证与传输选项。服务器地址栏不应混入网页路径;端口必须与服务端监听设置一致。端口号是 443,也不等于协议必然使用 TLS,更不等于参数已经正确。
例如,服务端明确要求 example.com:443 时,地址应核对为 example.com,端口应核对为 443;不要自行改成 8443 来“试速度”。这里的域名与端口只是格式说明,不能用于实际连接。认证内容中的多余空格、缺失字符及大小写变化,都可能导致失败。
| Type | 重点核对 | 容易混淆的地方 |
|---|---|---|
| Shadowsocks | 服务器地址、端口、加密方式、密码 | 密码正确但加密方式不同,仍不能正常通信 |
| VMess | UUID、加密设置、传输方式及 TLS 相关参数 | 传输路径、Host 与服务器地址不一定相同 |
| VLESS | UUID、传输方式、服务端指定的 TLS 或其他安全参数 | 不能仅凭地址与 UUID 推断其余选项 |
| Trojan | 密码、服务器端口、TLS server name | 连接地址与证书对应的域名可能不同 |
| Hysteria2 | 认证、TLS server name、UDP 可达性及服务端指定选项 | TCP 测试成功不能证明 QUIC 通信可用 |
| WireGuard | 本地私钥、对端公钥、Endpoint、地址与 Allowed IPs | 显示连接状态不等于已完成有效握手和数据传输 |
对于使用 TLS 的配置,应同时核对连接地址、server name 和证书要求。直接把域名换成 IP,可能改变证书名称匹配或访问路径。不要用关闭证书验证来替代修正配置;如果证书确实过期,应由服务端维护方处理。
四、按错误原文定位失败环节
超时是现象,错误原文才有助于区分连接阶段。查看应用中对应请求的连接记录或日志时,保留错误文本及发生时间。下面列出的是底层连接记录中可能出现的错误片段,并非每次故障都会显示的固定弹窗;若没有相同文本,应以实际记录为准。
报错:i/o timeout
原因:某个网络读写阶段超过等待时间,单凭这段文本不能确定是本地网络、服务端还是目标响应问题。
解法:先做同节点的网络对照,再结合错误前后的地址与连接阶段定位,避免仅通过增加等待时间掩盖故障。
报错:connection refused
原因:目标端口的连接被明确拒绝,常见于端口未监听、服务停止或网络设备主动拒绝。
解法:核对该条记录指向的是代理服务器还是目标网站;若是代理服务器,向自己的服务商确认地址、端口和服务状态。
报错:no such host
原因:当前解析过程未能取得该主机名对应的地址,可能涉及域名拼写或 DNS 解析。
解法:先检查地址中是否混入空格、协议前缀或路径,再换网络复测;不要在域名尚未确认时反复改密码。
报错:certificate has expired or is not yet valid
原因:证书有效期与当前设备时间不匹配,可能是系统时间错误,也可能是服务端证书需要维护。
解法:先校准 iPhone 日期与时间后重连;时间正确仍报错时,向服务端维护方反馈,不跳过证书验证。
分享记录时遮盖密码、UUID、私钥及订阅 token。可以保留协议类型、脱敏后的服务器地址、端口、测试时间和错误原文;完整订阅链接本身可能具有访问权限,不应作为公开求助截图的内容。
五、最后检查系统时间与订阅更新
在 iPhone 系统“设置 → 通用 → 日期与时间”中检查“自动设置”。若设备时间明显错误,先恢复正确时间再重新建立连接。时间参与 TLS 证书有效期判断,也可能影响具有时间校验的认证过程;手动把日期向前或向后调整不是修复方法。
订阅更新与节点连接是两条不同的请求路径:前者获取配置内容,后者使用已有参数连接服务器。因此,更新失败不代表本地已保存的所有节点立即失效;更新成功也不代表每一个节点都可达。更新后必须重新选择目标节点,确认参数实际发生了什么变化。
- 核对订阅来源:在 Home 检查已有 Subscribe 项目是否仍使用自己的有效链接。格式示例为
https://example.com/sub?token=xxxx,该地址仅用于说明结构。 - 执行一次更新:在 Home 下拉刷新已有订阅,等待结果后检查节点列表。先保留错误信息,不要连续重复刷新造成更多干扰。
- 确认更新路径:如果订阅地址必须经由代理访问,且已有可用连接,可检查 Settings → Subscribe → Update via Proxy。该设置需要可工作的代理路径,不能让失效节点自行恢复。
- 核对服务状态:向自己的服务商确认订阅是否有效、账户是否仍可用、地址或认证是否发生变更。客户端购买状态与服务商账户状态分别核对。
结论:更新后只复测一个目标
先对比一个失败节点更新前后的地址、端口与认证是否变化,再重复相同网络下的测试;若参数未变且仍超时,就把排查重点移回网络路径和服务端状态。
六、测试通过但网页打不开时检查分流
如果节点测试已完成,实际访问仍失败,应检查请求是否真的经过该节点。在 Home 核对 Global Routing:Config 按配置处理请求,Proxy 用于代理路径对照,Direct 用于直连路径对照,Scene 则需要结合相应场景设置判断。不要只看连接开关已打开就认定所有流量都走代理。
使用 Config 时,到 Config 核对当前启用的配置,而不是只查看某个未启用文件。DOMAIN-SUFFIX 匹配域名后缀,IP-CIDR 匹配 IP 网段,GEOIP 按 IP 地理数据库判断,FINAL 处理前面的规则均未命中的情况。命中 DIRECT 的请求不会因为当前选中了一个节点就自动改走代理;命中 REJECT 的请求则会被拒绝。
- Proxy 下可访问、Config 下失败:优先检查配置中的匹配顺序、策略引用和 DNS 结果,不急于重建节点。
- 仅一个网站失败:检查该请求命中的规则及目标本身的响应,不能仅凭单站失败认定整条代理链路不可用。
- 所有目标均失败:回到协议参数和连接记录,判断是否停在认证、TLS 或出站连接阶段。
对照完成后恢复日常使用的路由姿态。Proxy 是本次排查中的隔离手段,不是修复全部规则问题的替代方案。需要检查完整操作顺序时,可参照Global Routing 教程。
七、节点超时的常见追问
只有一个节点超时,要重装应用吗?
先不重装。在 Home 选择自己已有的另一节点做相同测试。若其他节点正常,优先核对失败节点的地址、端口、认证与服务端状态;重装不会修正远端端口未监听的问题,还可能使本地排查记录丢失。
显示有延迟,为什么连上后仍然打不开?
先确认测试方式覆盖哪些环节,再用 Global Routing → Proxy 做实际访问对照。若仍失败,检查认证与 TLS 错误;若只在 Config 下失败,检查当前启用配置的规则与策略,而不是只盯着延迟数值。
订阅刷新超时,是不是原来的节点也不能用了?
不一定。先测试本地已保存的节点,再单独排查订阅地址的访问路径。只有存在可用代理连接时,Settings → Subscribe → Update via Proxy 才可能帮助需要代理路径的更新请求;同时向自己的服务商确认链接有效性。
向服务商反馈时要准备哪些信息?
提供发生时间、使用的 Wi-Fi 或蜂窝网络、协议类型、脱敏后的地址、端口及三次测试现象,再附错误原文。说明换网络后是否恢复、其他已有节点是否正常。不要提交私钥、完整密码或带 token 的订阅链接。