本文适用于已经拥有自己的服务商与订阅、但在 Shadowrocket(小火箭)中遇到超时或连接失败的用户。先区分本地联网、测试结果与实际代理请求,再逐项核对地址、端口、认证、TLS 和系统时间;最后用规则与网络对照缩小故障范围,形成可以复查的记录。
一、先区分测试超时与实际连接失败
延迟测试返回数字,只能说明这次测试所覆盖的链路得到响应;不能据此判定所有网站、认证过程与传输方式都可用。反过来,一次测试超时也不足以证明服务器停止服务。测试方法、目标地址、网络状态与服务端限制都可能影响结果。
Shadowrocket 的连接开关开启,表示系统 VPN 隧道已建立或正在建立,不等于远端服务器已经完成认证。排查时应分别记录“开关能否保持开启”“测试是否响应”“实际请求是否成功”,不要把这三项合并为一个“连不上”。
- 基础网络失败:关闭 Shadowrocket 后,已知可直接访问的网页也打不开,应先处理 Wi-Fi、蜂窝数据或网络登录页面。
- 测试失败:Home 中的测试超时,但尚未验证实际访问,结论只能停留在测试环节。
- 代理请求失败:基础网络正常,选定服务器后实际请求仍失败,再进入参数与日志排查。
- 特定目标失败:其他目标正常,只有一个域名异常,优先检查该目标、DNS 与分流规则。
二、固定测试条件,再比较延迟结果
首次排查先不改配置。选定同一条用户已有的服务器记录,保持同一种测试方法,在相近时间完成少量重复测试。只比较数字、不记录测试方法,容易把不同含义的结果放在一起判断。
-
确认本地联网
关闭 Home 的连接开关,在 Safari 打开一个已知可直接访问的网页。公共 Wi-Fi 如有登录页面,先完成登录,再回到 Shadowrocket。
-
选定同一记录
回到 Home,选中待检查的服务器。记下当前 Wi-Fi 或蜂窝数据环境,并确认测试的不是名称相近的另一条记录。
-
重复延迟测试
在 Home 执行 Connectivity Test,核对当前测试方法;同一条件下测试三次,分别记下响应或超时。不要用连续高速点击代替有间隔的复测。
-
验证实际请求
开启连接后,使用同一目标页面验证实际访问。分别记录测试结果与页面结果;两者不一致时,保留差异,不急于删除配置。
-
切换网络复测
在设备和套餐允许的情况下,切换 Wi-Fi 与蜂窝数据,重复前面的测试。除网络外不修改任何字段,避免失去对照条件。
结论:先判断故障是否随网络变化
同一记录只在一个网络下失败时,先检查该网络的 DNS、登录状态与传输限制;两个网络都失败时,再集中核对服务器参数与服务状态。两种现象都不能单凭延迟值确定根因。
三、协议参数按地址、端口、认证、传输核对
在 Home 打开对应记录的编辑页面,对照自己的服务商提供的原始信息,先确认 Type,再检查其余字段。不同协议需要的参数不相同,不能只把服务器地址和密码搬到另一种 Type 下。编辑前保留可恢复的副本,尤其不要覆盖仍可使用的记录。
| 核对对象 | 具体检查 | 常见误判 |
|---|---|---|
| 地址与端口 | 服务器地址是否完整,端口是否与原始信息相同;端口取值应在 1–65535 范围内。 | 把 443 当作通用答案。端口为 443 不代表所有协议都能使用,也不代表一定使用 TLS。 |
| Shadowsocks | 核对加密方法与密码;服务端使用插件时,还需核对插件及相关参数。 | 地址与端口正确,就忽略加密方法不一致。 |
| VMess / VLESS | 核对 UUID、传输方式及该记录实际启用的安全选项。VLESS 如涉及 flow,也需与服务端一致。 | 认为两种协议都使用 UUID,因此可以互换 Type。 |
| Trojan | 核对密码、TLS 设置、Server Name 与所配置的传输方式。 | 只更新密码,遗漏服务端变更的域名或传输参数。 |
| Hysteria2 | 核对认证、TLS、端口与可能启用的混淆参数,并确认当前网络允许相应 UDP 通信。 | 用一次 TCP 端口测试,推断其 UDP 链路正常。 |
| WireGuard | 核对密钥对应关系、Endpoint、隧道地址与 AllowedIPs 等配置。 | 把密钥、路由与握手问题统一当作密码错误。 |
| WS / gRPC | 仅在该记录使用相应传输时,核对 WS 的 Path、Host 或 gRPC 的 Service Name。 | 将 Path、Host、Server Name 当作同一个字段。 |
Server Name 通常影响 TLS 握手中的名称与证书验证;WS 的 Host 属于 HTTP 请求信息,Path 则是请求路径。三者即使使用相似文本,也不能自行合并。路径的大小写、开头斜杠和 UUID 中多出的空格,都应按原始资料逐字核对。
四、检查系统时间与 TLS,不跳过证书验证
证书存在有效时间范围,设备日期明显错误时,即使网络与密码正确,也可能在 TLS 阶段失败。部分协议的认证同样依赖时间。时间检查应放在参数核对之后执行,但不需要等到所有尝试都失败才查看。
- 在 iPhone 或 iPad 打开系统 Settings → General → Date & Time,检查 Set Automatically,并确认显示的日期和时间合理。
- 若自动设置受设备管理或其他限制影响,应先处理限制;不要通过把日期调到过去来绕过过期证书。
- 校正时间后,断开再重新连接,用同一记录和同一目标重测,避免只观察旧页面缓存。
- 时间正确但仍提示证书问题时,核对服务器地址、Server Name 与证书覆盖的域名,再向自己的服务商确认有效期和证书链。
不应把关闭证书验证作为常规修复。它会改变安全边界,也可能掩盖连接到错误服务器、域名配置错误等问题。设备时间正确与证书正确是两项独立条件,应分别确认。
五、按日志原文定位失败阶段
失败后查看连接日志,记录错误发生时刻、目标地址和相关行。下面是网络或 TLS 日志中可能出现的原文片段;实际显示可能带有前后文,并非每个协议都会使用完全相同的提示。错误只能帮助定位阶段,不能单独证明具体责任方。
报错:i/o timeout
原因:某个读写阶段在等待期限内未完成,可能涉及网络丢包、远端无响应或中间链路限制。
解法:结合前后日志确认正在连接的地址,用同一配置切换网络复测,再核对端口与远端服务状态。
报错:connection refused
原因:连接请求遭到主动拒绝,常见于目标端口未监听,也可能由中间设备返回拒绝。
解法:优先核对服务器地址和端口,将发生时间及错误交给自己的服务商确认监听状态,不要随机试端口。
报错:x509: certificate has expired or is not yet valid
原因:证书有效期与当前时间不符,可能是设备时间错误,也可能是远端证书本身异常。
解法:先检查系统 Date & Time,再确认远端证书有效期;保持证书验证开启。
报错:EOF
原因:数据流提前结束,可能发生在协议不匹配、认证失败或远端主动关闭等不同阶段。
解法:结合此前的握手信息核对 Type、认证与传输参数,不能只凭这一行认定密码错误。
六、连接建立后,再检查分流与 On Demand
若测试有响应但网页仍打不开,应检查请求是否实际经过所选服务器。Home → Global Routing 中,Proxy、Direct、Config、Scene 对应不同的路由姿态;它们不是连接质量等级。Direct 不会用一次直连成功替你验证代理服务器,Config 则需要结合当前启用的配置判断。
- 短时对照:对需要验证的请求,可临时用 Proxy 排除规则分流的影响,测试结束恢复原来的 Global Routing。记录修改前的姿态,避免长期误用。
- 检查配置:使用 Config 时,到 Config 确认当前启用文件,再检查规则顺序与策略名称。Scene 需要核对其实际生效的场景设置,不能只看名称。
- 定位规则:
DOMAIN-SUFFIX匹配域名及其子域名;IP-CIDR按 IP 网段匹配;GEOIP按 IP 地理信息匹配;FINAL是前序未命中时的兜底。域名解析与规则顺序均可能影响最终策略。 - 排除自动触发:在 Settings → On Demand 检查按需连接设置。需要手动复测时,可暂时停用 On Demand,再手动控制连接;测试结束按原设置恢复。
On Demand 负责按条件触发连接,不会修复错误密码、失效证书或未监听端口。若手动断开后又自动连接,应先核对它的触发条件,而不是反复删除系统 VPN 配置。系统 VPN 授权问题与远端服务器超时属于不同环节。
七、常见追问与提交排查记录
延迟很低,为什么还是打不开网页?
先确认当前测试方法覆盖了哪个阶段,再到 Home 核对所选记录和 Global Routing。用 Proxy 做一次短时对照,同时查看失败请求的日志;如果只有特定域名失败,再检查 DNS、规则与目标站点状态,而不是只按延迟重新排序。
Wi-Fi 超时,蜂窝数据却正常,要改协议吗?
先保持配置不变,确认 Wi-Fi 已完成登录,并复测同一目标。若差异持续存在,记录协议使用的传输方式,再向网络管理方或自己的服务商确认限制。尤其是 UDP 相关问题,不能仅凭 TCP 可访问就排除网络因素。
更新订阅后全部超时,是更新没成功吗?
先区分更新失败与更新后连接失败。在 Home 确认新记录是否出现、所选记录是否正确,再对照服务商信息核对 Type、地址与端口。订阅可以正常获取,不代表其中每个远端服务都可用;也不要连续更新来代替协议参数检查。
需要把整份配置和订阅链接发给别人吗?
不需要。先整理错误原文、发生时间与时区、当前网络、协议类型、测试方法和对照结果。密码、UUID、私钥与订阅 token 应遮盖;需要服务端确认的内容,通过自己的服务商提供的私密支持渠道提交。
结论:每次只改变一个条件
每次复测只变更网络、参数、时间或路由中的一项,并记录结果。向自己的服务商提交“哪一步失败、在哪种网络复现、对应什么错误”,比只描述“节点不能用”更便于定位。
完成排查后,恢复临时修改的 Global Routing 与 On Demand 设置,并保留一份确认可用的配置。Shadowrocket 是 Apple 平台的闭源商业客户端,客户端买断 ≠ 线路套餐;获取应用与排查远端服务是两件事,重新购买应用不能替代远端参数修复。