官方手册 / 首次连接

Shadowrocket 使用教程:
导入、连接与验证

按五步完成首次设置。先让已有服务器信息正确进入 Home,再选择处理流量的方式;连接成功后,继续核对实际访问与规则命中。

以下以 iPhone / iPad 操作为主。截图用于核对页面与字段;实际布局、入口位置及可用选项,请以设备上当前应用显示为准。

步骤 01 / 先准备连接对象

添加服务器或导入订阅

先判断手里的资料是哪一种,再进入对应入口。单台服务器的资料通常包含协议类型、地址、端口及凭据;订阅则是一条用于获取服务器列表的完整链接。两者不能仅按外观相近就互换使用,也不应把订阅地址填进普通服务器的 Host。打开 Shadowrocket,进入 Home,在 SERVER 区域找到 Add Server,或使用页面上的添加入口进入 Add Server。

手动填写:先选 Type,再对照字段

在 Add Server 中先点击 Type,选择与你已有资料一致的协议。Type 决定后续需要哪些字段,不能为了减少输入而随意更换。以 Shadowsocks 为例,需要核对 Host、Port、Password 与 Method;其他类型可能还需要各自的身份信息或传输参数。截图展示的是其中一种表单,不代表所有协议都采用同一组字段。

逐项填写时,Host 放服务器地址,Port 放服务端实际监听的端口,Password 与 Method 按原始资料对应输入。复制后要检查首尾空格、换行和全角标点,尤其不要把地址连同说明文字一起粘贴。若资料中包含额外参数,应展开对应设置逐项核对;缺少必要信息时,先回到自己的服务器配置或向原服务商确认,不靠猜测补值。

完成后使用页面的保存操作,返回 Home。核对 SERVER 下是否出现刚刚保存的条目,再点选准备使用的服务器。Scan QR Code 适合导入你已有的、格式受支持的二维码;Import from Cloud JSON 需要相应格式的数据来源,不能当成任意链接的通用导入入口。

订阅导入:选择 Subscribe 并保留完整链接

如果已有的是订阅链接,在 Add Server 的 Type 中选择 Subscribe,再把完整链接粘贴到对应的 URL 字段,按需要填写便于自己辨认的名称并保存。链接中的路径、问号后的参数与字符大小写都应保持原样。不要只复制域名,也不要把消息末尾的句号或引号带入地址。

https://example.com/sub?token=xxxx

上面只是带有明显假值的格式示例,不是可用订阅。保存并获取订阅内容后,返回 Home 查看 SERVER 中是否有实际服务器条目;只有一个订阅名称,并不等于内容已经成功载入。根据应用提供的订阅更新操作重新获取内容后,还应检查条目是否完整。此时先不反复修改模式,下一步再统一核对 Global Routing。

Shadowrocket 官方 Add Server 页截图,显示 Type、Host、Port、Password、Method 及导入入口
Add Server:先核对 Type,再填写该类型实际要求的字段。

步骤 02 / 决定请求如何处理

选择 Global Routing

服务器已导入之后,回到 Home,点击 Global Routing。这里决定请求采用哪种路由方式,和“选中了哪台服务器”是两件事。首次使用应先认识三种姿态:配置(Config)/代理(Proxy)/直连(Direct)。不要因为开关已经打开,就默认所有请求都经过所选服务器。

配置(Config):依据当前配置分流

需要按规则区分请求时使用配置(Config)。先进入 Config,核对当前启用的配置文件,而不是只查看文件列表里有没有一个熟悉的名称。打开相应配置,检查 Rule 及末尾处理方式。配置中的规则决定哪些请求走 PROXY、哪些走 DIRECT 或 REJECT;一般按顺序匹配,因此较宽泛的规则放在前面,可能使后面的具体规则没有机会处理请求。

官方截图中的 General、Rule、Hosts、URL Rewrite、HTTPS Decryption 是配置编辑页的不同分段。本次上手重点是确认当前配置与 Rule,不要求启用所有分段。也不要为完成首次连接而修改 HTTPS Decryption 或安装相关证书;这些不是本教程的前置步骤。

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

这个小片段只用于读懂顺序:example.com 及其子域名匹配第一条,其余请求交由 FINAL 直接连接。它不是适合所有用途的完整配置,不应未经核对就覆盖已有文件。若目标原本应走代理,却落到 FINAL,DIRECT,服务器连通也不能证明分流符合预期。

代理(Proxy)与直连(Direct):用于对照路径

代理(Proxy)让一般请求采用代理路径,适合在排错时减少 Rule 分流带来的变量;它仍受设备网络、服务器能力以及必要的系统绕过等条件影响,不能据此承诺所有流量表现相同。直连(Direct)让请求直接连接,适合核对基础网络或恢复直接访问,不应把它作为代理是否可用的测试结论。

选好模式后返回 Home,再读一次 Global Routing 当前值。如果准备采用配置(Config),同时记住当前启用的配置名称,后续验证时才能把实际结果与规则对应起来。更完整的规则写法见配置大全;不熟悉策略与规则术语时,可先查概念速查,本页继续完成连接流程。

Shadowrocket 官方 Config 配置编辑页截图,显示 General、Rule、Hosts、URL Rewrite、HTTPS Decryption 与 Add Rule
Config:选择配置(Config)时,核对当前配置的 Rule 与末尾处理方式。

步骤 03 / 建立设备上的连接

打开开关,核对 VPN 授权

回到 Home,先做一次连接前复核:SERVER 中选择的是本次准备测试的服务器,Global Routing 显示的是刚才决定的模式。订阅中的条目可能在更新后发生变化,因此不要只凭上一次的选择印象继续操作。准备好后,打开 Home 顶部的连接开关;未连接时可以看到 Not Connected。

首次建立连接时,系统可能提示允许 Shadowrocket 添加 VPN 配置。这是让应用建立设备网络通道的系统授权,不是再次购买应用。确认当前操作确实来自刚打开的 Shadowrocket,再按系统提示允许,并完成设备要求的身份验证。若选择了取消,返回 Home 后通常还需要再次发起连接并完成授权。

授权完成后回到应用,观察顶部状态是否由未连接变为已连接,以及开关是否保持开启。若开关很快退回关闭,不要马上反复重装或连续切换多个选项。先记下是否出现系统提示、应用报错或连接中断,再到最后一步按失败位置检查。

连接状态与服务器可用性分开看

系统 VPN 通道建立,只说明设备上的连接机制已启动;它不等于所选服务器认证成功,也不等于所有目标都可以访问。反过来,Connectivity Test 对某条服务器给出结果,也不代表连接开关已经打开。首次使用要分别核对“条目已选中”“模式正确”“通道已建立”,再进入实际访问验证。

如果设备上还有其他由你启用的 VPN 连接,测试前先确认当前使用的是哪一项,避免把另一项连接的表现算到 Shadowrocket 上。暂时保持本次网络环境稳定,不要一边切换 Wi-Fi 与蜂窝网络,一边改服务器和模式,否则失败时很难判断是哪一个条件发生了变化。

Shadowrocket 官方 Home 页截图,显示 Not Connected 开关、Global Routing、Connectivity Test、SERVER 与 Add Server
Home:按顶部状态、Global Routing 和 SERVER 的顺序核对连接条件。

步骤 04 / 从状态走到实际访问

验证连接与规则是否生效

验证要区分三个问题:设备原有网络能不能用、所选服务器能不能按测试方式响应、目标请求有没有走预期路径。只看一个测试数值,无法同时回答这三个问题。建议始终用同一个目标与同一组操作对照,每次改动后重复测试,这样记录才有可比性。

  1. 核对基础网络。在适合暂停连接的情况下关闭开关,访问一个你已知能够直接访问的页面,确认设备不是处于需要登录的网络或网络本身中断。基础网络失败时,先恢复 Wi-Fi 或蜂窝网络,再回到 Home 开启连接。
  2. 运行 Connectivity Test。在 Home 点击 Connectivity Test,观察所选服务器的测试结果。测试方式由 Settings 中的 Test Method 等设置影响;结果只反映这次探测,不能当作实际网页加载速度,也不能保证所有类型的连接都可用。
  3. 访问明确的测试目标。打开浏览器访问本来就准备使用的目标,核对是否能够完成加载、是否仍出现相同错误。尽量刷新请求,避免只看已经保存在设备上的页面内容;也不要一次打开大量页面,让结果混在一起。
  4. 检查路径是否符合模式。如果当前使用配置(Config),在应用可用的请求记录中找到对应域名,核对命中的规则和处理策略。目标走 DIRECT 可能是规则的预期结果,而不是连接没有打开;被 REJECT 处理则应回到 Rule 检查。

如果目标打不开,但普通网页可以访问,可暂时把 Global Routing 切到代理(Proxy),保持同一台服务器和同一个目标,再测试一次。若这时恢复,优先检查原配置的匹配顺序、策略与 DNS 相关设置;若仍失败,再检查服务器参数、服务端状态与目标自身可用性。对照完成后,要恢复到原本需要的模式,避免把临时诊断状态当作长期设置。

测试成功也需要界定范围。某个网页能打开,只能说明该网页在当前条件下可用,不代表其他应用、UDP 请求或不同网络也会得到同样结果。可以再用自己实际需要的另一项操作验证,但不必为追求某个数值而持续改参数。确认需求已满足后,保留这组可复现的设置,后续变更才容易回退。

步骤 05 / 每次只改变一个因素

设置核对与常见失败点

排错先回到失败发生的位置,不从“全部重置”开始。导入失败、服务器不可达、连接开关退回、特定目标失败,属于不同层次。保留当前可工作的设置,修改前记下原值;每做一次调整,都回到上一步重复同样的验证操作,确认变化是否真的相关。

订阅保存了,但 SERVER 仍没有条目

先核对 Type 是否为 Subscribe,再检查 URL 是否完整,有没有被聊天工具截断、混入空格或带入标点。查看更新订阅时的具体错误:无法获取内容与获取到不支持的内容,不是同一个问题。订阅地址若返回登录页面或普通网页,也不能当作服务器列表使用。不要在浏览器中随意传播含凭据的链接;需要确认有效期与返回格式时,向自己原有的服务商核对。

服务器已显示,但测试或连接失败

进入该条目的编辑页,按原始资料再次核对 Type、Host、Port 和对应凭据。协议不同,所需参数不同,不要把某个字段在另一种协议中的含义直接套用。若此前可用而现在失败,先检查当前网络是否变化,再确认服务端是否仍可用。单条服务器失败不能推出所有订阅内容都失效,也不应在没有依据时批量改写全部条目。

测试有结果,但网页打不开

先看 Global Routing,再看目标是否命中预期规则;随后区分域名解析、连接建立与网页自身错误。到 Settings 查看 Test Method,确认刚才的 Connectivity Test 测了什么。不要因某种探测能响应,就排除认证、传输参数或目标服务的问题。若应用提供相关请求信息,可根据失败阶段继续定位;更细的规则与 DNS 分析留到配置大全逐项核对。

手动断开后又连接,或切换网络后表现改变

到 Settings 找到 On Demand,检查是否已经设置按需连接条件。排查手动连接时,可先暂停自己启用的 On Demand 条件,确认开关行为是否恢复为手动控制;完成测试后再按原需求恢复。切换 Wi-Fi 与蜂窝网络会改变网络条件,应重新验证,而不是直接沿用上一网络的测试结论。

使用 Diagnostics 时先限制检查范围

Settings 中的 Diagnostics 可用于进一步检查,但应先明确要确认的问题,再使用当前版本提供的对应项目。Proxy、TCP、UDP 等相关设置不要仅因名称熟悉就一起修改。不同传输的故障现象并不相同,调整无关设置往往只会增加变量。若要整理诊断材料,保留错误描述和复现步骤即可,分享前移除服务器凭据、订阅参数及其他个人信息。

当五步均已核对,仍只在某一目标或某一网络出现问题,应保留“哪个网络、哪个模式、哪个目标、什么错误”的最小复现记录。服务器资料与服务状态向自己的原服务商确认,规则含义查手册;不要把重新购买应用当成恢复连接的处理方法。Shadowrocket 客户端购买与已有服务的可用性是两件独立的事。

Shadowrocket 官方 Settings 页截图,显示 Language、Test Method、Today Widget、On Demand、Diagnostics、Proxy、TCP 与 UDP
Settings:优先核对 Test Method 与 On Demand,再按具体问题使用 Diagnostics。
App Store 下载