官方手册 · 首次配置

Shadowrocket 使用说明

从已有订阅或服务器信息开始,依次完成添加、路由选择、连接与验证。本页以 iPhone、iPad 上的操作为主,先建立一条可以核对结果的使用流程。

截图为 App Store 官方展示图,用于辨认页面与字段,不代表用户应填写的参数。实际项目位置可能随应用界面调整;请按英文界面词寻找对应入口,不照抄截图中的内容。

01 · Add Server:添加服务器或导入订阅

先判断手里的信息是哪一种,再选择导入方式。单台服务器的地址、端口和认证参数用于手动添加;订阅链接用于读取一组服务器条目。两者不能互相代填,例如不能把整条订阅链接填进 Host。操作前保持本机网络可以正常访问,暂时不要打开连接开关,先把列表整理清楚。

手动填写服务器信息

进入 Home,点击 Add Server,或打开添加入口进入同名页面。先点 Type,选择已有服务器信息标明的协议,再逐项填写。以 Shadowsocks 为例,通常需要核对 Host、Port、Password 与 Method。不同 Type 会显示不同字段,因此应以所选协议对应的表单为准,不能用另一种协议的字段组合替代。

Host 填服务器地址,Port 填端口;认证内容与 Method 必须与服务器设置一致。输入时特别检查复制内容前后的空格、数字端口以及大小写。若协议还需要额外参数,应按用户已有的信息继续补齐,不根据地址外观猜测。填写后使用页面的保存操作返回 Home,确认 SERVER 分组中出现新条目,再核对一次备注与地址,避免选错名称相近的服务器。

使用 Subscribe 导入已有订阅

持有订阅链接时,在 Add Server 的 Type 中选择 Subscribe,将完整链接填入对应的 URL 字段,可添加便于辨认的备注,然后保存。返回 Home 后等待订阅内容读取完成;如未自动读取,使用该订阅条目提供的更新操作。应看到订阅对应的服务器列表,而不只是一个空分组。若更新报错,保留错误提示,先确认链接仍有效且能在当前网络下读取,不要反复添加同一条链接。

已有兼容二维码时,可以使用 Scan QR Code,读取后仍要检查导入的 Type 与参数。Import from Cloud JSON 是另一种针对相应 JSON 内容的导入入口,不应当作任意订阅链接的通用入口。订阅地址可能携带访问凭据,不要把完整地址放进公开截图。至此应至少有一个可选择的服务器条目,下一步再决定流量如何使用它。

Shadowrocket Add Server 页面,展示 Type、Host、Port、Password、Method 及底部导入入口
Add Server:先选择 Type,再按已有信息填写字段。截图仅用于辨认入口。

02 · Global Routing:选择路由姿态

服务器已经出现在列表,并不意味着所有请求都会使用它。返回 Home,打开 Global Routing,确认当前选项。三种姿态分别是配置(Config)/代理(Proxy)/直连(Direct),它们决定应用接管的请求如何选择策略。先明确用途,再选择姿态;不要一边修改服务器参数,一边反复切换模式,否则难以判断是哪项改变影响了结果。

  • 配置(Config):按当前选中的配置处理请求,适合需要按域名、地址或其他条件分流的场景。选择后还要到 Config 核对当前配置,不能只看 Home 上出现 Config 就认为规则已经正确。
  • 代理(Proxy):以代理路径处理应用接管的请求,可在排查时帮助区分服务器连接问题与规则选择问题。它不等于每个系统请求都必然经过同一条路径,也不保证目标服务一定可用。
  • 直连(Direct):以直接连接方式处理请求。若当前目的是验证所选服务器的代理路径,保持 Direct 会使验证方向不一致。

使用 Config 时确认当前配置

进入 Config 页面,核对正在使用的配置文件,再打开编辑内容。官方截图中的 General、Rule、Hosts、URL Rewrite、HTTPS Decryption 是不同配置分段。本次上手重点是 General 与 Rule;不需要为了建立首次连接而逐项启用其他能力,也不需要在没有明确用途时修改所有设置。

Rule 中的规则通常从上到下匹配,首条命中后使用对应策略。PROXY 表示交给代理策略,DIRECT 表示直接连接,REJECT 表示拒绝。通过 Add Rule 添加规则时,应先确认匹配条件与策略,再检查插入位置;过于宽泛的规则排在前面,会使后面的具体规则没有机会命中。FINAL 应放在最后,处理此前未命中的请求。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

上方只是语法片段:它表示 example.com 及其子域名使用 PROXY,其余由 FINAL 交给 DIRECT,并不是完整配置,也不是实际连接测试目标。不要为照抄示例覆盖已有配置。确认所需姿态与当前文件后返回 Home;规则关键字的详细含义可查术语表,完整能力说明见Global Routing 功能介绍。

Shadowrocket Config 配置编辑页,显示 General、Rule、Hosts、URL Rewrite、HTTPS Decryption 与 Add Rule
Config:配置分段与 Add Rule 入口。Global Routing 的选择入口位于 Home。

03 · Home:选择服务器并打开连接

回到 Home,在 SERVER 列表中点选准备使用的服务器,确认选中标记落在正确条目上。一个订阅分组中的服务器可能有相似备注,选择前应结合地址或备注核对;不要只凭列表第一项判断。然后再看一眼 Global Routing,确认它仍是上一步决定的姿态。服务器选择、路由姿态和当前配置是三件不同的事,需要分别核对。

点击页面顶部 Not Connected 所在区域的连接开关。首次建立连接时,系统可能提示添加 VPN 配置;阅读系统说明后,按提示允许,并完成设备要求的身份验证。此操作用于让系统建立 Shadowrocket 使用的 VPN 配置条目,不是在应用中购买服务,也不负责补齐服务器参数。若当时取消,返回应用重新发起连接,并根据系统提示完成授权。

授权完成后回到 Home,观察顶部状态是否由 Not Connected 转为已连接状态,开关是否保持开启。如果刚打开就立即关闭,不要连续快速点击;先记下状态提示,转到最后一步按顺序检查。系统设置中的 VPN 条目可辅助核对连接状态,但它与服务器能否访问某个目标并不是同一个判断。

iPad 上也按相同顺序操作;可用空间较大时,页面布局可能与 iPhone 截图不同,应按 Home、SERVER 和 Global Routing 等名称定位。首次使用时建议保持应用在前台完成一次连接和验证,再考虑其他自动化设置。On Demand 不是本次手动连接的前提;若此前设置过,应留意它是否会在手动断开后再次触发连接。

暂时不使用时,可以回到 Home 关闭连接开关,并确认状态变化。如果开关保持开启但网页仍无法访问,先不要认定“已经连接就一定生效”;接下来需要分别验证服务器响应、实际请求以及规则选择。只有这些结果能够互相对应,才能知道当前连接是否符合预期。

Shadowrocket Home 页面,展示顶部 Not Connected 开关、Global Routing、Connectivity Test、SERVER 与 Add Server
Home:先选择 SERVER 条目,再核对 Global Routing,最后打开顶部连接开关。

04 · Connectivity Test:验证实际请求

验证时一次只回答一个问题:本机网络是否正常、服务器是否响应、目标是否可访问、请求是否走了预期策略。先在 Home 使用 Connectivity Test,查看列表条目的测试结果。测试读数与当前采用的方法有关,可以用来筛查明显失败的条目,但不等于带宽测速,也不能单凭一个响应结果证明所有应用、所有目标均可正常访问。

接着打开浏览器,访问一个用户明确知道应当可用的目标,重新加载页面并观察结果。不要仅查看已经打开的旧页面,因为其中的内容可能来自缓存。若要验证某条规则,应选择符合该规则条件的真实目标;教程中的 example.com 只是语法示例,不能用它的内容推断用户服务器的可用性。测试期间先保持服务器和 Global Routing 不变,让结果可以重复。

把访问结果与命中策略对应起来

回到 Shadowrocket 查看连接记录,围绕刚才访问的目标核对域名、时间与所用策略。使用 Config 时,命中 DIRECT 的请求直接连接属于规则的预期结果,不能因为它没有使用 PROXY 就断言连接失败;反过来,需要使用代理的请求若命中 DIRECT,则应检查 Rule 的排序与 FINAL。记录中的域名可能与地址栏不同,因为同一页面还会请求图片、脚本等资源,应结合发生时间判断。

可以在 Data 中辅助观察上下行读数是否变化,但流量增长只能表明有数据活动,不能证明特定目标使用了预期策略。后台活动也可能产生读数,所以更可靠的方法仍是“发起一次明确请求,再查看对应记录”。同样,系统显示 VPN 已连接,只能说明系统连接层处于相应状态,不代表服务器认证、DNS 与目标访问都已经通过。

如果测试失败,先记录失败发生在哪一层,再进入排查步骤;如果测试和实际访问均正常,也应保留当前可用配置,避免为追求某个测试数字反复改动参数。详细的测试方法与工具解释见诊断工具说明,连接记录与统计相关术语见术语表。

05 · Settings:按失败位置逐项排查

排查原则是一次只改一项,修改后重复上一步的同一测试。先记录当前服务器、Global Routing、配置文件与错误提示,再按下列顺序检查。这样既能区分问题来源,也能在修改无效时恢复原状;不要把删除全部配置作为第一步。

  1. 先检查本机网络。断开 Shadowrocket 后,确认当前 Wi-Fi 或蜂窝网络本身能完成普通访问。若网络需要登录认证,先完成认证。基础网络不可用时,优先处理网络连接,而不是修改服务器密码。
  2. 再检查列表与选中项。返回 Home 确认实际选中的条目。订阅更新成功不等于自动选中了想用的服务器;若列表为空,先回到 Subscribe 检查更新错误、链接有效性与读取结果。
  3. 核对协议与认证参数。打开对应条目的编辑页,逐项检查 Type、Host、Port 及认证内容。某些协议还需要额外参数,应按用户已有的服务器信息核对。订阅管理的条目可能在下次更新时重新写入,不要依靠临时手改掩盖来源信息的问题。
  4. 区分服务器与规则问题。若使用 Config 时失败,可在明确用途的情况下暂时改用 Proxy 对同一目标复测。若结果改变,回到 Config 检查命中策略、规则顺序与 FINAL;测试结束后恢复原定姿态。若两种姿态都失败,应继续检查服务器或基础连接,不能仅归因于规则。
  5. 检查系统授权与其他连接。若开关无法保持开启,查看是否完成添加 VPN 配置的授权,以及设备上是否有其他 VPN 连接或管理限制影响当前操作。不要随意移除用途不明的系统配置;受管理设备的限制应由相应管理方核对。

需要更多线索时使用 Diagnostics

进入 Settings,辨认 Test Method 与 Diagnostics。前者影响测试方式,后者用于进一步检查问题;不同方法的读数不宜直接当作同一指标比较。Proxy、TCP、UDP 等设置也有各自用途,首次排查时先保持原有值,不要一次切换多个选项。

若出现域名相关错误,先区分地址能否解析与连接能否建立,再结合 Diagnostics 的具体结果分析。不要为了尝试而填入来源不明的 DNS 设置。若只有某个目标失败而其他目标正常,应围绕该目标的解析、命中策略和错误提示继续缩小范围,而不是立即重新导入全部订阅。

整理记录时保留操作顺序、错误提示、所选姿态及测试结果即可。分享截图或日志前,移除订阅完整链接、密码、认证标识与其他个人信息。连接仍未恢复时,继续阅读Shadowrocket 连不上:常见问题检查;如果实际卡在应用获取、购买或已购恢复环节,则转到App Store 指南,不要混用连接排查步骤。

Shadowrocket Settings 页面,展示 Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP 与 UDP
Settings:根据具体失败点查看 Test Method 与 Diagnostics,避免同时改动多个设置。