第一层
服务器与订阅
确认 Home 中已经选中用户自己的服务器条目,并检查地址、端口、协议和认证信息是否完整。Subscribe 用于更新已有订阅内容,不改变 Global Routing 的选择。
功能与常用设置
从 Global Routing 到 Diagnostics,按界面位置理解每个设置项的作用。
本页围绕 iPhone 与 iPad 上常用的 Shadowrocket 功能展开,依次说明“是什么、在哪里、怎么设、注意什么”。开始调整前,建议先确认已有服务器信息或订阅已经导入,并保留一份当前可用的 Config,便于出现连接差异时逐项回退。
阅读方法
Shadowrocket 的设置并不是彼此孤立的开关。当前服务器决定连接出口,Global Routing 决定流量如何选择策略,Config 中的规则决定哪些请求使用 PROXY、DIRECT 或 REJECT,DNS 与 On Demand 又会影响解析和触发时机。按这一顺序理解,排查时更容易找到真正发生变化的环节。
第一层
确认 Home 中已经选中用户自己的服务器条目,并检查地址、端口、协议和认证信息是否完整。Subscribe 用于更新已有订阅内容,不改变 Global Routing 的选择。
第二层
Config 保存规则及相关设置。使用 Config 姿态时,请求会从上到下匹配 DOMAIN、GEOIP、IP-CIDR 等规则,首个匹配结果决定策略。
第三层
DNS、Test Method、On Demand 和 Diagnostics 用于控制解析、测试方式、自动触发及问题定位。修改后应一次只验证一个变量。
Global Routing
Global Routing 是 Home 中最先需要确认的总开关之一。简体中文说明常把三种姿态称为配置、代理、直连,对应界面词分别是 Config、Proxy、Direct。它们控制的是整体选路方法,而不是服务器协议类型。
Config 按当前配置文件中的规则逐条匹配,让不同请求得到不同策略;Proxy 让连接统一使用当前选中的代理策略,适合临时验证服务器本身能否工作;Direct 让请求直接连接,适合暂停规则处理并检查本地网络表现。三种姿态切换后会影响随后发起的新连接,已经建立的连接可能需要重新打开对应应用或页面才能观察到变化。
进入 Home,找到 Global Routing 对应的选择项。界面的具体排列可能随设备尺寸而变化,但名称仍以 Config、Proxy、Direct 显示。选择前同时确认 Home 中当前服务器条目,避免把“选错服务器”和“选错分流姿态”混在一起排查。
日常需要按域名、IP 地址或地理条件分流时,通常使用 Config;刚导入服务器并希望排除规则因素时,可短时间切换 Proxy 做连通验证;只想确认当前 Wi-Fi 或蜂窝网络是否正常时,可切换 Direct 对照测试。验证完成后,再回到符合实际使用目标的姿态。
| 中文说明 | 界面词 | 处理方式 | 适合场景 | 注意事项 |
|---|---|---|---|---|
| 配置 | Config |
按当前配置文件中的规则从上到下匹配 | 日常规则分流、按域名或 IP 条件选择策略 | 规则顺序、最终规则和策略名称都会影响结果 |
| 代理 | Proxy |
新连接统一使用当前代理策略 | 验证服务器可用性、暂时排除规则影响 | 不用于判断某一条 Config 规则是否正确 |
| 直连 | Direct |
新连接直接访问目标 | 检查本地网络、对照连接差异 | 切换后应重新发起请求再观察结果 |
Config
规则分流由“匹配条件”和“执行策略”组成。条件识别请求,策略决定匹配后如何处理。Shadowrocket 按配置中的先后顺序检查规则,因此更具体的条件通常放在更宽泛的条件之前。
DOMAIN 用于匹配完整域名,适合精确指定单个主机;DOMAIN-SUFFIX 按域名后缀匹配,可覆盖一个域名及其下级域名;DOMAIN-KEYWORD 根据域名中是否包含关键词匹配,范围较宽,使用时要留意误匹配。GEOIP 根据目标 IP 的地理数据库结果匹配,IP-CIDR 与 IP-CIDR6 分别按 IPv4、IPv6 地址段匹配,USER-AGENT 则依据请求中的 User-Agent 条件处理。
进入 Config,选择当前配置后查看规则内容。规则通常由关键字、匹配值和策略三部分构成,例如:
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
第一行表示域名后缀为 example.com 时使用 PROXY;第二行表示满足对应 GEOIP 条件时使用 DIRECT;最后的 FINAL 接住前面未命中的请求。示例只用于说明语法,不代表应直接套用到所有网络环境。
先写精确规则,再写范围较大的规则,最后保留清晰的最终处理策略。例如,单个域名的 DOMAIN 应放在可能覆盖它的 DOMAIN-SUFFIX 或 DOMAIN-KEYWORD 之前。IP 规则需要关注目标地址是否为 IPv4 或 IPv6;如果实际访问经过域名解析得到不同地址,仅观察域名并不足以解释最后命中的规则。
常见策略包括 PROXY、DIRECT 与 REJECT。PROXY 表示交给代理策略处理,DIRECT 表示直接连接,REJECT 表示拒绝请求。配置中也可能引用自定义策略组名称,此时名称必须与配置内已有定义一致。大小写、标点和逗号位置都应保持正确,避免手工编辑时引入多余空格或全角符号。
规则不是越多越好。两条规则覆盖范围重叠时,靠前的一条先命中,后面的规则不会再参与这次判断。遇到“某个域名没有按预期处理”时,应依次检查:请求实际访问的域名、DNS 返回的地址、规则顺序、策略名称,以及当前 Global Routing 是否确实为 Config。排查完成后再合并重复条目,保持配置可读。
DOMAIN 精确匹配完整域名;DOMAIN-SUFFIX 覆盖指定后缀。需要精细控制时,先写 DOMAIN。
分别处理 IPv4 与 IPv6 地址段。地址段格式和前缀长度需要准确,避免覆盖超出预期的范围。
条件命中后执行对应策略。自定义策略组应使用配置中已经存在的名称。
处理此前没有命中的请求。FINAL 的策略会显著影响整体行为,修改前应确认使用目标。
Add Server · Subscribe
Shadowrocket 可以通过 Add Server 手动录入服务器信息,也可以通过 Subscribe 更新用户已有的订阅。两种方式最终都会形成可在 Home 中选择的服务器条目,但维护方式不同。
Add Server 适合录入一条明确的服务器信息,常见协议包括 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard 与 Hysteria2。每种协议需要的字段不同,通常包括 Address、Port、Password 或其他认证参数。Subscribe 适合管理由用户自己的服务商提供并持续维护的一组条目,更新时客户端会重新读取订阅内容。
在 Home 中进入服务器添加入口,可选择 Add Server、Scan QR Code 或 Import from Cloud JSON 等方式;订阅入口通常以 Subscribe 显示。界面中出现的协议类型、字段和传输参数应与已有服务器信息逐项对应,不要把一个协议的参数填入另一个协议页面。
手动添加时,先选择协议,再输入 Address 与 Port,然后补齐认证和传输字段,保存后回到 Home 选中该条目。通过 Subscribe 导入时,粘贴用户已有的订阅地址,保存后执行更新,再从返回的条目中选择需要使用的服务器。通过 Scan QR Code 导入前,应先确认二维码确实来自用户自己的服务器资料;Import from Cloud JSON 适合导入已经准备好的 JSON 配置。
如果订阅更新后条目发生变化,应以服务商返回的当前内容为准。手工修改由 Subscribe 管理的条目,可能在下一次更新时被替换。希望长期保留单独参数时,可先记录原始信息,再决定使用手动条目还是订阅维护方式。
服务器名称只是便于识别的标签,不能证明连接质量。测试时应分别观察条目能否完成 Connectivity Test、实际网页能否打开、Global Routing 是否正确,以及 DNS 是否能够解析。延迟结果只反映某种测试条件下的响应,不等同于完整访问速度。认证信息属于敏感资料,应只保存在用户自己的设备和可信备份中。
On Demand
On Demand 用于根据当前网络条件触发或停止连接,适合需要在特定 Wi-Fi、蜂窝网络或域名访问条件下自动切换的场景。它影响的是连接时机,不替代 Global Routing 与 Config 规则。
手动连接要求用户进入 Home 操作开关;On Demand 则按照预先设置的条件,由系统在网络环境变化时判断是否触发。常见判断维度包括当前网络类型、Wi-Fi 信息和域名条件。触发连接后,请求仍然按照当时选中的服务器、Global Routing 姿态和 Config 规则处理。
进入 Settings,找到 On Demand 相关入口。首次启用连接功能时,系统可能要求确认 VPN 配置权限。On Demand 规则由上到下判断时,应保持条件名称清晰,并避免创建含义相反但范围重叠的条件。
先从单一条件开始,例如仅针对一种网络环境启用,观察切换 Wi-Fi 与蜂窝网络时的行为。确认触发稳定后,再增加域名或网络例外。每次修改后,锁屏再解锁、切换网络或重新发起请求,都可能帮助系统重新评估条件;测试时应记录当前网络名称、Global Routing 姿态及选中的服务器。
On Demand 开启后,如果出现连接频繁切换,通常先检查条件是否过宽、多个条件是否重叠,以及网络是否在 Wi-Fi 与蜂窝之间反复变化。若要判断问题是否来自自动触发,可暂时关闭 On Demand,改用 Home 手动连接进行对照。完成验证后,再恢复经过简化的规则。
先建立可观察的基础行为。
分别观察 Wi-Fi 与蜂窝网络。
一次只增加一条判断条件。
Data
Data 用于观察 Shadowrocket 处理过的流量记录,适合比较不同应用或连接阶段的使用情况。它是客户端侧的统计视图,阅读时需要结合统计周期和当前连接状态。
Data 汇总客户端在运行期间观察到的上传与下载数据,可用于了解某段时间内的流量变化。统计值能帮助判断某个操作是否产生了大量传输,也能在排查时确认请求是否经过客户端,但它不直接说明规则命中了哪一条,也不能单独证明服务器速度。
从底部导航进入 Data。不同设备尺寸下列表密度可能不同,重点查看统计范围、应用或连接项目,以及上传和下载方向。若刚刚切换配置,应从切换后的新请求开始观察,避免把之前累积的数据算入本次判断。
Data 主要用于查看,不需要频繁调整。做对照测试时,可以先记下当前数值或重置统计,再执行一个明确动作,例如打开一个页面、播放一段内容或运行一次更新,然后返回 Data 查看增量。重复测试应尽量保持同一网络、同一服务器和同一 Global Routing 姿态。
客户端统计、系统统计和服务商侧统计可能采用不同的计算口径与刷新时间,数值不一定完全一致。Data 中出现流量只表示请求经过了相应处理过程;要确认策略,应结合 Log 或 Diagnostics。若统计突然增大,应先检查正在前台和后台传输的应用,再判断是否与当前测试有关。
Settings
Settings 集中放置解析、测试、组件和同步相关选项。这里的改动可能影响所有配置,因此比单条规则更适合采用“记录原值、单项修改、立即验证”的方法。
是什么:DNS 将域名转换为连接所需的地址。解析失败时,服务器测试可能正常,但网页仍可能无法打开。
在哪里:进入 Settings 中的 DNS 相关项目,查看当前解析设置及可用选项。
怎么设:优先保留当前可用设置。确需调整时,一次只更换一项,并分别测试域名访问和直接 IP 访问,以判断问题是否位于解析环节。
注意什么:DNS 与规则可能互相影响,特别是 GEOIP、IP-CIDR、IP-CIDR6 依赖解析结果的场景。修改后应重新发起连接,不要只看旧页面缓存。
是什么:Test Method 决定客户端用哪种方式测试服务器响应。不同方法观察的是不同网络环节,因此结果可能存在差异。
在哪里:进入 Settings,找到 Test Method,再查看当前界面提供的测试方式。
怎么设:用于日常比较时,应保持同一种方法;只有在排查特定网络限制时再切换,并重新运行 Connectivity Test。
注意什么:测试值较低不等于实际传输一定更快。网页加载还受到 DNS、线路、目标服务器和传输参数影响,应结合真实访问结果判断。
是什么:Today Widget 提供系统组件入口,便于查看状态或执行客户端支持的快捷操作。
在哪里:先在 Shadowrocket 的 Settings 查看相关选项,再通过系统的小组件编辑界面添加。
怎么设:添加后检查组件显示的配置和当前连接是否一致;若系统未立即刷新,可打开 Shadowrocket 确认状态后再查看组件。
注意什么:组件显示依赖系统刷新调度,短时间内可能与应用内状态存在延迟。关键操作仍应回到 Home 核对。
是什么:iCloud 同步用于在同一用户的 Apple 设备环境中同步客户端支持的数据项目。
在哪里:进入 Settings 查看 iCloud 相关开关,同时确认设备系统设置中的 iCloud 状态。
怎么设:启用前先保留当前可用配置,随后在另一台设备上等待同步完成并逐项核对,不要在两端同时大批修改。
注意什么:同步不等同于即时镜像,网络状态、系统调度和项目类型都会影响出现时间。重要认证资料仍应由用户妥善管理。
| 设置项 | 主要作用 | 修改后的验证方法 |
|---|---|---|
| DNS | 控制域名解析相关行为 | 重新访问域名,并与直接 IP 连接现象对照 |
| Test Method | 决定 Connectivity Test 的测试方式 | 固定服务器,使用同一方法重复测试 |
| Today Widget | 提供系统组件中的状态或快捷入口 | 回到 Home 核对组件显示与实际状态 |
| iCloud | 同步客户端支持的数据项目 | 等待同步后逐项比较两台设备内容 |
Diagnostics · Connectivity Test
Diagnostics 用于把“不能访问”拆分为更具体的问题:本地网络是否工作、服务器是否响应、DNS 是否完成解析、规则选择了什么策略,以及目标连接在哪一步停止。
Connectivity Test 偏向快速确认服务器响应;Log 记录客户端处理请求时的事件;Diagnostics 则用于汇总或执行更有针对性的检查。三者适合配合使用:先做快速测试,再复现一次问题,最后查看与该次请求时间相符的记录。
Connectivity Test 通常可从服务器列表或相关操作入口执行;Log 与 Diagnostics 位于客户端相应页面或 Settings 的诊断区域。界面位置可能随设备布局变化,查找时以英文名称为准。
分享诊断内容前,应先检查其中是否包含服务器地址、认证信息、订阅地址或个人网络名称。用于自查时,保留发生时间、目标域名、当前姿态和修改动作即可。若 Proxy 可访问而 Config 不可访问,重点检查规则;若两者都不可访问而 Direct 正常,重点检查服务器与协议参数;若服务器测试有响应但域名访问失败,则优先检查 DNS 和目标域名记录。
检查规则顺序、FINAL 策略、自定义策略组名称和当前 Config 是否选对。
检查当前服务器、协议字段、认证参数和 Connectivity Test 结果。
检查 DNS、域名实际解析结果,以及 DOMAIN 类规则是否匹配预期目标。
推荐顺序
遇到问题时,按固定顺序比反复切换开关更有效。下面的流程既适合首次设置,也适合配置更新后的回归检查。
在 Home 选中一条参数完整的服务器,先执行 Connectivity Test。若通过 Subscribe 导入,先确认更新已经完成。
短时间切换 Global Routing 为 Proxy,重新发起一个明确请求。此步骤只用于验证连接链路,不代表最终使用姿态。
确认目标域名匹配的 DOMAIN、DOMAIN-SUFFIX 或其他条件,并检查最终策略是否为预期的 PROXY、DIRECT 或 REJECT。
服务器与规则已经明确后,再处理解析问题。修改 DNS 后重新建立请求,并同时观察 IPv4 与 IPv6 条件。
先确保手动连接稳定,再添加自动触发条件。这样可以把连接本身的问题与触发时机问题分开。
应用与设备
Shadowrocket 以 iPhone 与 iPad 为主要使用设备;Mac、Apple TV 与 Apple Vision 的兼容性可在同一 App Store 产品页查看,系统要求以 App Store 页面标注为准。不同设备的排列和可见选项可能不同,本页始终以英文界面词识别功能。