Shadowrocket 节点超时、连接失败怎么排查:延迟测试、协议参数与系统时间

按固定顺序排查:先做延迟测试判断范围,再逐项核对协议参数,最后检查系统时间与自动设置,多数连接失败都能定位。

本文速览

Shadowrocket(小火箭)出现超时,不等于节点一定失效。本文适用于 iPhone / iPad、Mac、Windows、安卓和 Linux,按“本地网络 → 测试范围 → 协议参数 → 系统时间 → 规则与 DNS”的顺序定位;界面操作以 iPhone / iPad 的 Home、Config、Settings 为参照,其他平台按对应设置核对。前提是用户已有自己的服务商与订阅,订阅地址从你的服务商处获取。

一、先区分节点超时与本地网络故障

先关闭 Shadowrocket 的连接开关,用浏览器打开平时能直接访问的页面。若本地网络本身不可用,延迟测试的结果不能用于判断远端服务状态。公共 Wi-Fi 还可能需要先完成网络登录;看到 Wi-Fi 图标,并不代表已经获得完整网络访问权限。

测试时只改变一个条件:先固定同一网络、同一节点和同一目标,再切换 Wi-Fi 或移动网络。不要同时更新订阅、切换协议和替换配置,否则即使恢复,也无法确认是哪项改动起作用。

  1. 验证本地网络

    在 Home 关闭连接,确认浏览器能正常访问已知可直连页面;需要登录的 Wi-Fi 先完成认证。

  2. 记录失败范围

    在 Home 选中待测节点,记录是单个节点失败、同组节点失败,还是所有节点均失败,同时记录当前使用 Wi-Fi 还是移动网络。

  3. 检查实际连接

    打开连接后,在 Home 执行 Connectivity Test,并用浏览器请求同一目标。记录测试结果和页面是否加载,避免只看连接开关。

  4. 更换网络复测

    保持节点与配置不变,切换另一条自己可用的网络重复测试。若仅一条网络失败,优先检查该网络的 DNS、访问限制或 UDP 可达性。

二、延迟测试有数值,为什么仍然打不开网页

延迟数值必须结合测试方式理解。TCP 建连只验证到指定地址和端口的一段过程,不能证明密码正确,也不能证明代理能访问目标网站。涉及实际请求的测试覆盖更多环节,但仍只代表该测试目标当时的结果,不是所有网站的可用性保证。

观察到的现象优先判断下一步操作
单个节点超时,其他节点正常问题更可能集中在该端点或参数核对该节点地址、端口与服务状态,不重置整份配置
全部节点在 Wi-Fi 失败,移动网络正常本地网络路径存在差异检查 Wi-Fi 登录状态、DNS 与 UDP 通行条件
端口测试有延迟,实际请求失败建连之后的认证、TLS 或目标访问失败查看失败请求日志,核对凭据、SNI 与系统时间
网页正常,只有部分测试失败测试目标或测试方式可能不适合当前链路记录测试类型,用实际业务请求交叉验证
只有一个网站失败目标网站、规则或解析问题比较 Global Routing 的 Proxy 与 Config,并检查该域名的匹配结果

结论:先保留能复现的对照组

若同一节点换网络后恢复,先排查原网络;若同一网络只有一个节点失败,先核对该节点。按这个分界缩小范围,比反复重装应用更容易找到原因。

对于 Hysteria2 等依赖 UDP 的传输,不能用一次 TCP 端口测试直接判定协议是否可用。相反,TCP 测试成功也不能证明 UDP 通道畅通。将测试方式与实际协议分开记录,避免把两类结果混为一谈。

三、按协议核对地址、端口与认证参数

在 Home 打开对应节点的编辑页面,将字段与服务商提供的原始资料逐项对照。订阅导入的节点也可能因为远端变更而过期;先确认更新成功,再判断参数。不要凭经验把端口统一改成 443,也不要为了消除报错而关闭证书校验。

1–65535
端口号有效范围;实际值必须与服务端一致
443
HTTPS 常用端口;不代表所有节点都使用此端口
4 项
TLS 优先核对:启用状态、SNI、证书信任、系统时间

TLS 的 SNI 与 WebSocket 的 Host 不是同一个概念:前者参与 TLS 握手中的服务识别,后者属于 HTTP 请求字段。两者有时相同,但必须分别以服务商资料为准。节点名称只是本地显示标签,改名不会修复认证或连接失败。

四、根据错误原文判断失败发生在哪一层

查看失败时对应的日志或系统错误详情,优先保留错误原文与发生时间。下列是网络与 TLS 层常见的错误文本,具体前缀会随平台与连接阶段变化;如果界面只显示 Timeout,仍需结合前面的网络对照测试判断。

报错:connection timed out

原因与解法:连接在等待时间内没有获得预期响应,可能涉及地址、端口、网络路径或远端状态。先换网络复测同一节点,再向自己的服务商核对端点是否仍然有效。

报错:connection refused

原因与解法:连接请求被目标端或中间设备主动拒绝。核对端口和协议,不要只增加等待时间;端口正确时请服务商检查监听服务。

报错:certificate has expired or is not yet valid

原因与解法:本机时间不正确,或服务端证书确实超出有效期。先校正系统时间再重试;仍失败则由服务商检查证书,不以跳过校验作为长期处理方式。

报错:no such host

原因与解法:主机名解析失败或没有得到可用记录。检查地址拼写,确认本地网络可用,并区分失败的是节点域名还是目标网站域名。

不要把日志里的 EOF 单独理解为“密码错误”。它只说明连接结束,可能出现在认证不匹配、传输参数错误或远端提前关闭等多种情况下。应同时查看它前后的 TLS、解析和连接信息,再决定修改哪个字段。

五、检查系统时间与自动设置

系统时间偏差会影响证书有效期判断,也可能影响部分认证流程。重点是设备当前时间是否准确,而不只是屏幕显示了哪个时区。手动改时区不能代替时间同步;选择自动设置后,应确认日期、年份和时分确实恢复正常。

  1. iPhone / iPad:打开系统“设置 → 通用 → 日期与时间 → 自动设置”。若选项无法更改,检查设备管理或系统限制,再返回 Shadowrocket 重建连接。
  2. Mac:打开“系统设置 → 通用 → 日期与时间”,启用自动设置时间与日期,并检查当前时间是否准确。
  3. Windows:打开“设置 → 时间和语言 → 日期和时间”,启用自动设置时间,并使用系统提供的立即同步操作。
  4. 安卓:在系统设置中搜索“日期和时间”,启用自动设置时间;具体菜单名称因设备而异,同时核对自动时区设置。
  5. Linux:在系统的日期与时间设置中启用网络时间同步。若系统没有图形设置页,由设备管理员检查时间同步服务状态。

六、连接已建立时,再检查 Global Routing、DNS 与 On Demand

节点可用但网页失败时,检查 Home → Global Routing。Proxy 将受代理接管的流量交给所选代理,Direct 使用直连,Config 按当前配置规则分流;Scene 按所选场景配置处理,应同时核对场景内容。排查时可短暂用 Proxy 与 Config 做对照,完成后恢复原来的使用设置。

规则自上而下匹配,先命中的规则会影响后续处理。不要只检查文件里“有没有这条域名规则”,还要看它是否被前面的规则先行匹配。对于仅一个网站失败的情况,记录目标域名和实际命中的策略,比直接替换整份 Config 更有诊断价值。

七、常见追问与提交问题前的记录

订阅更新也超时,是不是所有节点都失效了?

不是。订阅下载与节点连接是两条不同的请求链路。先确认已有节点能否使用,再核对订阅地址是否有效、是否有到期或访问限制。地址从你的服务商处获取;更新成功后再比较节点参数是否发生变化。

延迟很低,视频却一直缓冲,为什么?

延迟反映一次测试的响应时间,不等于持续吞吐量。固定同一目标,比较其他已有节点与另一条网络;同时查看是否只有该网站受影响,不要仅根据最低延迟选择节点。

关闭证书校验后能连,是否就算修好了?

不能据此认定问题已解决。恢复证书校验,核对系统时间、SNI 和服务端证书。若服务商资料要求特殊信任配置,应让其说明证书来源与正确设置,而不是长期忽略错误。

要把完整订阅链接和日志一起发出去吗?

不要公开完整订阅链接、密码、UUID 或私钥。向自己的服务商反馈时,提供故障时间、平台、网络类型、协议、错误原文及必要的脱敏日志;截图前遮住认证信息。

最终保留一份简短记录:发生时间与时区、设备平台、Wi-Fi 或移动网络、单节点还是全节点失败、Global Routing 当前选项、错误原文,以及换网络后的对照结果。若需要重置或重装,先备份已有配置;重装不会修复服务端停机、错误凭据或失效证书。

下载 Shadowrocket