官方手册 / 入门指南

Shadowrocket 使用教程

已有订阅导入、Global Routing 选择与连接验证。先完成一次可核对的连接,再调整规则和自动连接设置。

操作主线是“添加 → 选择姿态 → 连接 → 验证 → 排错”。官方截图用于辨认字段和入口,实际界面可能随设备和应用调整有所不同,请按英文界面词定位,不照抄截图内的任何连接资料。

01 / Add Server · Subscribe

添加服务器与导入已有订阅

先判断手里的资料是订阅链接,还是一组服务器参数。两种资料使用不同的填写路径。

打开 Shadowrocket,停留在 Home,找到 SERVER 分组与 Add Server 入口。已有订阅链接时,先从你原有的服务商处复制完整链接,再点 Add Server,在 Type 中选择 Subscribe,回到添加页面后将链接填入相应的 URL 字段。确认链接开头、路径和末尾参数均完整,再保存。订阅链接通常包含认证信息,属于个人连接资料,不要粘贴到公开留言或截图中。

保存订阅后等待加载,返回 Home 查看 SERVER 中是否出现订阅分组及其服务器条目。如果只有订阅名称而没有可选条目,先检查导入或更新时的错误提示,不要立刻打开连接开关。空列表可能来自链接不完整、订阅已失效、当前网络无法读取订阅,或返回内容不符合要求。反复添加同一链接通常只会增加重复分组,不能解决原来的读取问题。

手动填写 Add Server

如果已有的是服务器地址、端口与认证参数,就在 Add Server 的 Type 选择资料指定的协议,而不是选择 Subscribe。随后逐项核对 Host、Port 以及该协议要求的字段。以 Shadowsocks 为例,需要核对 Password 和 Method;其他协议可能显示不同的认证或传输设置。字段没有通用的一组默认答案,不要把某种协议的密码、加密方式或传输选项直接套到另一种协议上。

Host 应填写服务器资料指定的地址,Port 应与资料中的端口一致。复制时尤其注意首尾空格、换行和全角标点;密码大小写以及特殊字符也要保持原样。资料提到 TLS、服务器名称或额外传输参数时,应继续核对对应选项,不能只填地址和端口就认为录入完成。暂时无法确认的字段先向原资料来源核实,避免靠连续切换选项碰运气。

如果已有可用于导入的二维码,可以使用 Scan QR Code;只有在资料明确提供兼容的 Cloud JSON 时,才使用 Import from Cloud JSON。完成保存后返回 Home,在 SERVER 中点选一条准备使用的服务器,确认选择标记落在该条目上。订阅分组出现并不等于已选定服务器;看到条目只是添加完成,下一步还需要决定连接使用哪种 Global Routing 姿态。

Shadowrocket 官方 Add Server 截图:Type、Host、Port、Password、Method 与底部导入入口
Add Server:先选 Type,再按照已有资料填写该协议的字段。

02 / Global Routing · Config

选择连接姿态与规则配置

服务器决定连接出口;Global Routing 决定请求如何分配。导入订阅不等于导入了适用的规则配置。

回到 Home,点 Global Routing 查看当前选择。三种姿态分别是配置(Config)、代理(Proxy)、直连(Direct)。配置(Config)按当前配置文件中的规则决定动作;代理(Proxy)用于让适用的请求走所选代理路径,便于集中验证服务器;直连(Direct)让请求直接使用当前网络。它们改变的是请求处理方式,不会替你补齐失效的服务器认证,也不会修复不可达的服务器地址。

首次验证时,如果已经有自己确认过的配置文件,可以选择配置(Config),随后检查当前实际使用的是哪份 Config。如果尚未确认规则是否正确,可以临时使用代理(Proxy)测试已有服务器,再切回配置(Config)检查分流。直连(Direct)适合与基础网络做对照,但直连访问成功,只能说明该请求在直连路径下可用,不能证明代理服务器也能正常工作。

检查 Config,不急着改写所有规则

进入 Config,查看当前配置文件,进入编辑页面后可以辨认 General、Rule、Hosts、URL Rewrite 与 HTTPS Decryption 等分段。入门阶段先关注 Rule 和当前选用的配置,不必逐项开启所有功能。订阅一般用于维护服务器条目,Config 则用于描述连接处理;两者即使都来自已有资料,也应分别核对,不能因为 SERVER 出现了服务器,就推断 Rule 已经设置完成。

规则通常按从上到下的顺序匹配,先命中的规则决定该连接的动作。PROXY 表示交给代理策略,DIRECT 表示直接连接,REJECT 表示拒绝请求。下面是语法示例,不是适用于所有人的完整配置,也不包含可用服务器。尤其是 PROXY 对应的策略仍须在实际配置中可用;只复制几行规则,不会自动创建代理出口。

  • DOMAIN-SUFFIX,example.comPROXY
  • GEOIP,CNDIRECT
  • DOMAIN-KEYWORD,adsREJECT

准备使用 Add Rule 前,先导出或保留当前 Config 的副本,每次只修改一项并记录修改目的。不要在尚未完成连接验证时同时改变 Rule、Hosts 和 HTTPS Decryption,否则失败后很难知道是哪一项造成。DOMAIN-SUFFIX、GEOIP 和其他关键字的匹配范围可查名词解释。确认姿态与配置后,返回 Home 进行首次连接。

Shadowrocket 官方 Config 截图:General、Rule、Hosts、URL Rewrite、HTTPS Decryption 与 Add Rule
Config:先核对 Rule 与所选配置,再决定是否需要 Add Rule。

03 / Home · Not Connected

打开开关并完成系统允许

连接前再次核对服务器和 Global Routing。开关状态与服务器可用性是两件需要分别验证的事。

返回 Home,确认 SERVER 中选中的条目就是本次要测试的服务器,再看 Global Routing 是否保持上一阶段的选择。检查完成后,打开顶部 Not Connected 旁的连接开关。首次建立连接时,系统可能提示添加 VPN 配置;阅读提示并允许后,按照设备要求完成系统验证,再返回 Shadowrocket。不要在系统确认尚未完成时连续点击开关,以免把一次授权过程误认为连接失败。

系统中的 VPN 配置用于让符合处理范围的流量交给客户端,允许添加配置并不等于服务器认证已经成功。回到 Home 后先看顶部连接状态是否发生变化、开关是否保持开启。如果刚开启就恢复关闭,记录当时出现的提示,并优先检查系统配置是否添加完成、设备是否受管理限制,以及是否存在其他正在接管网络的 VPN 连接。不要为了重试而一次性删除设备上的所有网络设置。

如果状态保持连接,先不要继续修改参数。保持当前服务器、姿态和网络条件不变,进入下一步验证。此时可以记录所选服务器名称与 Global Routing,方便后续对照,但不要把密码或完整订阅链接写入记录。开关保持开启只说明客户端连接状态已建立;远端是否响应、网页是否可达、规则是否命中,仍要通过实际请求确认。

Shadowrocket 官方 Home 截图:顶部 Not Connected 开关、Global Routing、Connectivity Test 与 SERVER 分组
Home:按顺序检查服务器、Global Routing、顶部开关与 Connectivity Test。

04 / Connectivity Test · Data

核对测试结果与实际请求

分三层确认:客户端保持连接、服务器路径有响应、目标请求使用了预期动作。

在 Home 点 Connectivity Test,等待本轮测试结束。测试结果用于判断特定测试方法与目标下的连通情况,不代表所有网站和应用都能访问;单次超时也不能直接判定服务器永久失效。先保留当前条件再测试一次,观察结果是否一致。如果改用不同的 Test Method,应把它视为另一组测试,不要把两种测试显示的数值直接当成同一指标比较。

随后打开浏览器,访问一个你预期可以正常访问的页面,并执行刷新。应尽量使用新的请求,避免只看到本地缓存内容。接着回到客户端查看 Data 中可用的连接记录,结合请求时间与目标域名定位刚才的访问。若记录提供命中规则或策略信息,核对它是否符合配置意图:预期直连的请求是否使用 DIRECT,预期代理的请求是否交给 PROXY,是否有 REJECT 提前命中。

如果代理(Proxy)下访问正常,而配置(Config)下同一个目标失败,可以优先检查 Rule 顺序、策略引用以及域名解析,不必立即重新导入订阅。如果两种姿态都失败,就继续检查服务器与网络路径。如果页面只有个别资源加载不完整,还要检查那些资源的独立域名;主页面可达和所有资源可达并不是同一个结果。

Data 中流量数值增加,只能说明有请求经过记录或处理,不能单独证明指定请求走了正确的出口。完成验证后保留已确认有效的配置,再逐步恢复日常需要的姿态。需要自动连接时,再研究 On Demand 的触发条件;先验证手动连接,再增加自动触发,可以避免把触发问题与服务器问题混在一起。

05 / Settings · Diagnostics

按失败位置逐项排查

一次只改变一个变量。保留错误提示和复现条件,比反复删除全部配置更便于定位。

导入阶段没有服务器

先关闭连接,确认基础网络能够访问正常页面,再回到已有订阅检查 URL 是否完整、是否过期、是否夹带空格。订阅更新失败与服务器连接失败属于不同阶段:前者是尚未读到条目,后者是已有条目却无法建立可用路径。不要在没有服务器条目时先调整 Global Routing。若已有资料需要重新签发或恢复访问,应向原资料来源核实,不向陌生人发送完整订阅。

有条目,但测试持续超时

打开条目的编辑页面,按原始资料核对 Type、Host、Port 和认证字段,再核对协议要求的 Method、TLS 或传输参数。检查设备系统时间是否准确,时间明显偏差可能影响安全连接。随后在条件允许时分别用 Wi-Fi 与蜂窝网络测试同一条目,每次只换网络,不同时改协议。只有某一种网络失败时,优先调查该网络路径;所有网络都失败时,再重点检查参数和远端可用状态。

开关开启,但目标无法访问

重新确认 Global Routing。若误选直连(Direct),需要代理的请求不会因为开关开启就自动改走代理;若使用配置(Config),应查是否被较早的 REJECT 命中,或是否交给了不可用策略。可以临时切换代理(Proxy)作对照,测试完再切回原姿态。不要直接关闭所有规则来掩盖问题,也不要把单一目标打不开归结为客户端整体失效。

使用 Settings 保留排查线索

进入 Settings,先看 Test Method 是否与当前测试目的匹配,需要更多线索时查看 Diagnostics 中提供的诊断信息。On Demand、Proxy、TCP、UDP 等设置各自影响不同环节,初次排错不要同时调整。若连接反复自动开启,可先核对 On Demand 的已有条件;若只有特定流量类型失败,再针对对应项目继续检查,而不是把所有设置恢复一遍。

整理记录时写清“在哪一步失败、当时的姿态、使用哪种网络、看到的原始提示、已经做过什么对照”。分享诊断截图前遮住订阅地址、密码、认证参数与个人连接资料。更多分项问题可查常见问题;商店地区、购买与重装恢复见App Store 指南。完成排查后恢复到已验证有效的配置,停止继续叠加不必要的改动。

Shadowrocket 官方 Settings 截图:Language、Test Method、On Demand、Diagnostics、Proxy、TCP 与 UDP
Settings:先确认 Test Method,再按问题使用 Diagnostics,逐项测试设置变化。