Shadowrocket(小火箭)连接后的延迟、网页首开时间和持续传输速度是三种不同指标。本文适合已经持有自己的服务商与订阅、能够导入配置但访问变慢的用户。先固定测试条件,再依次检查节点、线路、协议参数和本地网络,最后根据连接记录判断问题发生在哪一层。
一、先区分延迟高、首开慢与传输慢
Home 中的 Connectivity Test 用来检查所选测试方式下的连通性与响应时间,不是线路带宽证明。测试地址、测试方法和实际访问的网站不同,结果就可能不同。列表中的较低延迟不能保证视频持续流畅,也不能证明大文件传输一定更快。
开始前先写清现象:是所有网站都慢,还是仅某个域名慢;是首次打开等待,还是加载到一半停住;是全天持续,还是固定时段出现。不要同时更新订阅、修改 DNS、切换协议和更换网络,否则即使恢复,也无法知道是哪一步生效。
| 可观察现象 | 优先检查 | 判断边界 |
|---|---|---|
| 首次打开慢,随后正常 | DNS、连接建立、TLS 握手 | 缓存可能影响第二次结果 |
| 页面很快出现,大文件很慢 | 线路吞吐、拥塞、目标限速 | 低延迟不等于高带宽 |
| 只有一个网站慢 | 该域名的规则命中与目标服务 | 不能据此判定整个节点失效 |
| 所有请求都超时 | 本地联网、节点可达性、认证参数 | 先确认能建立连接,再讨论速度 |
速度单位也需要统一。8 Mbps 在不计协议开销时约等于 1 MB/s。一个页面显示 Mbps,另一个工具显示 MB/s,不能直接比较数字大小。后续记录应同时保留单位、测试时间和目标。
二、固定测试基线,确认实际走哪条路径
Shadowrocket 的 Home 用于连接与节点选择,Config 用于配置文件,Settings 用于应用设置。排查速度时先确认当前节点与 Global Routing,再检查当前生效配置。看到系统 VPN 标识只说明隧道已建立,不代表每一个请求都经过所选代理节点。
-
记录当前状态
在 Home 记录所选节点名称和 Global Routing 的当前值;在 Config 确认正在使用的配置文件。保存必要的原始设置,记录中不要包含密码或完整订阅链接。
-
固定路由模式
进入 Home → Global Routing。Proxy 用于代理模式对照,Direct 用于直连对照,Config 按配置分流;若当前使用 Scene,先核实场景对应的实际策略。不要把不同模式下的结果混为同一组。
-
检查自动连接
在 Settings → On Demand 查看已有条件。若测试期间需要手动断开连接,可暂时关闭 On Demand,并记下原值,避免系统按条件重新连接而破坏直连对照。
-
重复同一测试
在 Home 使用 Connectivity Test,保持测试方式不变,连续记录三次结果。随后访问同一目标,分别观察首次加载和持续传输;不要并行运行多个大流量任务。
-
恢复原有设置
每完成一组对照就恢复临时改动。全部测试结束后恢复原 Global Routing、配置文件和 On Demand 状态,避免把诊断用的 Proxy 或 Direct 长期保留。
三、检查节点与线路:一次只换一个变量
节点是连接端点,线路是从当前网络到该端点、再到目标服务的实际传输路径。节点名称中的地区标签不能完整说明路径,也不能说明当前负载。相同节点在家用宽带和蜂窝网络上表现不同,往往与接入网络、路径拥塞或 UDP 可用性有关。
- 只比较已有节点:在相同 Wi‑Fi、相同 Global Routing、相同目标下,将已有节点 A 换为已有节点 B。其余条件不动,分别记录连通性与持续传输表现。
- 保留时间因素:若只在晚间变慢,至少在另一个时段重复同一组测试。单次结果无法区分瞬时拥塞与持续故障。
- 检查目标差异:若同一节点访问其他目标正常,仅某个服务慢,继续查看该目标的规则与服务状态,不要直接判定节点整体不可用。
- 核实订阅变化:在 Home 对自己的订阅下拉刷新后,重新检查当前选中项。订阅内容可能改变地址、端口或条目,旧记录不能自动沿用。
下面是记录格式示例,不是本站实测数据:同一目标、同一时段下,节点 A 在 Wi‑Fi 的三次响应为 80 ms / 85 ms / 82 ms,但传输只有 0.5 MB/s;节点 B 响应为 120 ms / 125 ms / 122 ms,传输达到 3 MB/s。这类结果说明响应时间与持续吞吐需要分别判断,不能仅按最小延迟排序。
如果所有已有节点在 Wi‑Fi 上慢、在蜂窝网络上正常,优先转向本地网络排查;如果只有一个节点在两种网络下都失败,优先核对该端点和参数。需要向自己的服务商反馈时,提交发生时间、接入网络、脱敏节点标识和错误文本,比只说“很慢”更有定位价值。
四、检查协议参数:先保证连接正确,再讨论优化
不要通过随意改 Type 来“提速”。Shadowsocks、VMess、VLESS、Trojan、Hysteria2 和 WireGuard 的服务端配置并不互通。只有服务端实际支持、并提供完整参数的协议才可使用;把已有条目的协议名称改成另一种,通常会直接导致连接失败。
| 协议 | 重点核对 | 常见误判 |
|---|---|---|
| Shadowsocks | 地址、端口、加密方法、密码 | 认证不匹配被误认为线路慢 |
| VMess / VLESS | UUID、传输方式、TLS、Host、Path | 传输或路径不匹配导致建立连接失败 |
| Trojan | 密码、端口、TLS、SNI | SNI 错误被误认为一般超时 |
| Hysteria2 | 认证、TLS、SNI、UDP 可达性 | 接入网络限制 UDP,反复重试仍无法改善 |
| WireGuard | 密钥、Endpoint、地址、Allowed IPs、MTU | 握手可见但路由或大包传输仍异常 |
端口必须与自己已有配置一致。服务端使用 8443 时,不能因为 443 常见就直接替换;端口数字本身不是速度等级。TLS 的 SNI 与证书校验也应按服务端要求核对,不应通过关闭证书校验掩盖参数错误。
Hysteria2 与 WireGuard 依赖 UDP。若在某个 Wi‑Fi 下失败,而相同条目在蜂窝网络下正常,应先验证网络条件,不能仅凭一次失败判定协议不适用。MTU 也没有适合所有网络的统一“最佳值”;只有出现小请求可用、大传输卡住等明确线索时,才按已有配置说明做单变量调整并保留原值。
报错:connection refused
原因与解法:连接被目标端或中间设备明确拒绝,可能是端口未监听或访问策略拒绝。核对 Address 与 Port,并向自己的服务商确认端点状态;反复改 DNS 通常不能解决端口拒绝。
报错:i/o timeout
原因与解法:操作在规定时间内未完成,可能涉及链路、目标响应或 UDP 可达性。结合错误所在的连接阶段,使用同一条目切换 Wi‑Fi 与蜂窝网络对照,不要仅凭 timeout 就修改密码。
报错:tls: handshake timeout
原因与解法:TLS 握手没有及时完成,可能涉及网络丢包、端点状态或握手参数。先核对端口、TLS 与 SNI,再比较不同接入网络;不要把关闭证书校验当作通用解法。
这些是连接记录中可能出现的错误原文片段,外层提示与上下文可能不同。保留完整的相关行,区分连接端点失败和访问最终目标失败;分享前删除认证信息、订阅令牌和不必要的个人访问记录。
五、检查本地网络、DNS 与规则命中
本地网络排查从最小改动开始。保持节点不变,在同一位置比较 Wi‑Fi 与蜂窝网络;再在同一 Wi‑Fi 下靠近路由器重试。公共 Wi‑Fi 若要求网页认证,应先完成网络登录。弱信号、其他设备占用上行、路由器拥塞都可能使连接变慢,重装应用无法修复这些环节。
上面是定位用的简化流程;DNS 解析可能参与其中多个阶段。Global Routing 为 Config 时,检查 Config 中当前文件的规则顺序,并结合连接记录核对实际使用的策略。规则通常自上而下匹配,先命中的规则会影响后续请求路径。以为某个网站经过代理,但它实际命中 Direct,是常见的测试偏差。
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
这段代码仅说明匹配语法,不是可直接替换的完整配置。DOMAIN-SUFFIX 匹配域名后缀;IP-CIDR 匹配 IP 网段,示例中的 no-resolve 表示不为该规则触发域名解析;GEOIP 依据 IP 地理数据库判断;FINAL 承接此前未命中的请求。PROXY 对应的策略也必须在实际配置中有效。
- 仅域名访问异常:查看解析是否失败,以及结果是否符合当前网络环境。不要把直接用 IP 打开 HTTPS 网站当作可靠替代,证书和虚拟主机可能依赖域名。
- Config 慢而 Proxy 正常:重点比较目标的规则命中、DNS 路径和策略选择,而不是立刻更换节点。
- 所有网络操作都慢:检查本机或同一网络内是否存在系统更新、云同步等并行传输,再重复测试。
- 只在某个无线位置慢:优先处理信号与干扰。切换频段后仍需保持目标与节点不变,才能判断改善是否来自无线链路。
六、根据对照结果收敛问题
排查完成后,应当能把问题收敛到一个可描述的条件,而不是留下大量临时修改。例如“相同节点与目标,只在家中 Wi‑Fi 下 UDP 连接超时”,比“换了很多设置仍然很慢”更便于继续处理。没有证据指向配置损坏时,不必先删除订阅或重建全部规则。
测试只有几十毫秒,为什么视频还是卡?
Connectivity Test 的响应时间不能代表视频目标的持续吞吐。在 Home 保持节点不变,确认 Global Routing 与该目标的规则命中,再观察持续加载。若仅该服务卡顿,进一步检查其目标路径与服务端限制。
为什么切到蜂窝网络就恢复了?
这说明同一配置至少能在另一种接入条件下工作。保留节点和协议参数,回到 Wi‑Fi 检查网页认证、信号、并行流量及 UDP 条件;不要一次性改掉整个配置。
更新订阅之后突然变慢,要删掉重导吗?
先在 Home 检查当前选中条目,再核对更新后的地址、端口和协议参数,以及 Global Routing 是否仍为原模式。已有条目变化时,先确认变化内容;删除重导可能丢失手动备注,却未必解决端点问题。
每次关闭连接又自动打开,怎么做直连测试?
先到 Settings → On Demand 查看条件,临时关闭后再手动断开连接。完成本地网络对照后恢复原值;不要把自动重新连接误判成断开操作无效。
提交问题时需要附上哪些记录?
提供发生时间、Wi‑Fi 或蜂窝网络、Global Routing、脱敏节点标识、协议类型、三次连通性结果及相关错误行。订阅完整 URL、密码、UUID 和私钥不应放进公开反馈。
最后恢复诊断期间修改的路由模式、On Demand 和其他参数,再用原目标复测。若现象消失,保留有效改动与对照记录;若仍存在,把已排除的层次列清楚,再针对端点、线路或本地网络继续处理。