本文速览

第一次连接要依次核对三个结果:SERVER 中选中了预期服务器、系统允许建立 VPN 连接、Connectivity Test 与实际访问均有正常结果。本文适合已经在 Shadowrocket(小火箭)导入自己已有订阅或服务器信息的用户,按 Home 操作顺序说明连接方法,再区分服务器故障、规则分流和当前网络问题,避免仅凭开关或一个延迟数值判断连接成功。

一、连接前:确认 SERVER 中已有可用条目

Shadowrocket 的连接开关不会自动生成服务器。先打开 Home,查看 SERVER 区是否已经出现导入的条目。如果列表为空,应先完成已有资料的导入;如果只出现订阅分组而没有服务器条目,应检查订阅更新是否成功。客户端买断 ≠ 线路套餐,本站不提供、不销售、不推荐节点、订阅或服务商。

用户已有订阅时,可从 Home 右上角“+”进入添加页面,将 Type 设为 Subscribe,在 URL 中填写自己的订阅地址并保存,再检查更新后的列表。地址中可能包含访问凭据,不应贴到公开留言或截图中。订阅更新成功只说明取得了配置数据,不能替代后面的连接验证。

二、在 Home 选默认服务器并打开开关

在 SERVER 列表点选服务器行,是指定当前使用的默认服务器;点开条目的信息或编辑入口,则是查看参数。两者用途不同。选择后,应以列表中的选中标记核对结果,不要只看自己刚刚点击的位置。对于含策略组的 Config,规则最终也可能选择组内的其他服务器,默认选中项并不覆盖所有规则。

  1. 选择条目

    进入 Home → SERVER,点选要使用的服务器行,确认选中标记落在该条目上。如果列表较长,先核对分组和名称,避免选到相似条目。

  2. 核对姿态

    进入 Home → Global Routing,查看当前选择。已有正确规则时用 Config;需要临时隔离规则影响时,可用 Proxy 做一次对照测试,测试后恢复原来的姿态。

  3. 打开开关

    返回 Home,打开顶部连接开关。第一次建立连接时,如系统请求添加 VPN 配置,核对请求来自 Shadowrocket 后允许,并按系统提示完成设备认证。

  4. 检查状态

    等待 Home 的连接状态变化。若仍显示 Not Connected,先处理权限或当次报错;若状态已连接,继续执行 Connectivity Test 与实际访问验证。

VPN 权限用于让应用通过系统网络扩展处理流量,不代表服务器本身已通过验证。允许权限以后仍可能因为认证失败、网络不可达或配置不匹配而无法正常访问。反过来,出现系统 VPN 标识,也只能说明系统层面的连接状态,不能证明某个网站一定会按预期策略访问。

三、Global Routing:区分测试姿态与日常姿态

连接开关决定是否启动连接,Global Routing 决定流量如何处理。排查时要同时记录这两项。下列比较针对应用纳入处理的流量;规则、策略组以及当前配置中的设置仍需要分别核对,不能把“开关已开”理解为“每个请求必定经过当前默认服务器”。

Config

推荐

按当前配置的规则匹配请求,结果可以是 DIRECT、PROXY、REJECT 或相应策略组。未命中前面规则的请求通常由 FINAL 规则决定去向,并非一律直连。

适合:已有经过核对的配置,进行日常分流与首次规则验证。

Proxy

采用代理姿态,便于临时减少规则分流对测试的干扰。切换后对同一目标再测试一次,观察结果是否与 Config 不同,不要同时更换服务器。

适合:确认服务器是否能处理请求,或对照排查规则选择。

Direct

采用直连姿态。目标能够打开,只能作为当前网络直连可达的参考,不能据此判断所选服务器已工作。

适合:建立直连基线,判断问题是否在启用代理后才出现。

Scene

按已设置的场景使用相应策略。首次排查时,先核对场景条件与实际生效结果;尚未配置场景时,不用它代替明确的 Config 或 Proxy 对照。

适合:已经设置场景,并需要验证条件切换的用户。

例如,Config 中的 DOMAIN-SUFFIX,example.com,DIRECT 会让匹配该域名后缀的请求采用 DIRECT;即使默认服务器已选好,该请求也不会因为选中标记而改走代理。规则按顺序匹配,GEOIP、IP-CIDR 与 FINAL 等规则同样需要结合当前配置阅读。进一步核对语法可查看规则参考。

四、Connectivity Test:把结果分成三个层次

连接后,在 Home 点击 Connectivity Test,等待测试完成,再查看显示的结果。它用于检查测试目标的连通情况,不是带宽测速,也不是对全部应用、全部域名和所有协议功能的综合验收。测试目标、采用的方法和当时网络环境都会影响结果,因此应把它与实际访问合并判断。

1 层
连接状态:系统是否已建立 VPN 连接
2 层
Connectivity Test:测试目标是否响应
3 层
实际访问:目标请求与分流是否符合预期

如果显示以 ms 为单位的数值,它表示对应测试的耗时,不表示下载速度。较小数值也不能保证长时间传输稳定。SERVER 条目的延迟测试与 Home 的 Connectivity Test 也不应混为一谈:一个条目显示测试数值,并不足以证明当前全部流量已使用该条目,更不能证明真实业务请求已经完成。

观察到的结果可以得出的结论下一步
已连接,测试有响应该次测试目标在当前条件下可达打开自己需要访问的页面,再核对实际请求
已连接,测试超时该次测试未及时完成,原因尚未确定保持条目不变,对照姿态、网络与测试目标
未连接,条目有延迟数值条目测试与系统连接不是同一结果返回 Home 处理开关、权限及报错
测试通过,某个页面失败测试目标可达,但目标页面仍有独立问题检查该域名的 DNS、规则策略与访问错误

完成测试后,再在浏览器打开一个自己需要访问的页面,并实际刷新,而不是只看已有缓存内容。如果应用内请求记录显示该请求命中了 DIRECT,页面正常不能用来证明代理路径正常;如果命中了 PROXY 或策略组,则继续核对实际选用的策略及其结果。不要以一次测试通过替代全部验证。

五、连不上时:按权限、网络、服务器、规则排查

排查的原则是每次只改变一个变量,并保留同一测试目标。先区分“连接根本未建立”和“已连接但访问失败”,再决定下一步。反复删除并重新导入全部配置,往往会丢失可用于对照的信息,也不能直接定位问题。

  1. 先看连接状态与权限。返回 Home,确认开关是否保持开启。如果系统未允许添加 VPN 配置,先完成授权。若出现明确报错,记录原文;不要把权限问题按服务器超时处理。
  2. 检查基础网络。在可控条件下断开连接,确认当前 Wi-Fi 或蜂窝网络本身能访问正常页面。公共 Wi-Fi 若要求网页认证,应先完成认证,再回到 Home 重试。
  3. 核对当前服务器。检查 SERVER 选中标记、Address、Port 及协议相关认证信息。对已有订阅执行更新后,再检查条目是否变更;更新订阅不会自动证明每个条目都可用。
  4. 做姿态对照。保持同一服务器与网络,将 Config 临时切到 Proxy,重复同一访问。如果只有 Config 失败,优先查看规则、策略组及其选中项,而不是立即更换协议。
  5. 做网络对照。保持同一条目和姿态,在 Wi-Fi 与蜂窝网络之间切换后复测。若只在一种网络失败,问题可能与该网络的 DNS、访问限制或传输条件有关。
  6. 最后检查自动连接。如果手动关闭后又自动连接,进入 Settings → On Demand 核对已启用的条件。排查时可暂时关闭相应自动连接设置,完成后恢复原来的配置。

同一服务器的两种网络对照

Wi-Fi 下测试
  • 先完成当前网络要求的网页认证。
  • 记录 Global Routing、测试结果和失败目标。
  • 保持服务器与认证参数不变。
蜂窝网络下测试
  • 确认设备允许相关应用使用蜂窝数据。
  • 使用同一姿态、同一目标重复测试。
  • 分别记录连接状态与实际访问结果。

只切换网络而不同时更改配置,才能判断差异是否与当前网络有关;两种网络都失败也不能直接断定为同一个原因。

若只有特定功能失败,还需区分普通网页请求与 UDP 等不同流量类型。网页可以打开,并不等于所有传输都正常。应核对所用协议、服务器配置以及服务本身对相关流量的支持,再处理对应参数,而不是将 Connectivity Test 当作所有功能的统一结论。

六、首次验证完成后:恢复日常设置并保留记录

当连接状态正常、Connectivity Test 有响应、实际目标访问符合预期,首次连接才形成完整的验证链。测试过程中若临时使用了 Proxy,应按自己的日常需求恢复 Config 或原有场景,并重新检查一次常用页面。姿态恢复以后,之前的测试结果不能自动代表新姿态下的分流结果。

Shadowrocket 是 Apple 平台的付费客户端,以 iPhone 与 iPad 使用为主,唯一获取入口为 App Store。系统要求以 App Store 页面标注为准。重新获取应用时,先核对开发者 Shadow Launch Technology Limited、官方图标与应用 ID 932747118;连接设置与购买核验是两个不同环节,均应分别完成。