官方手册 / Global Routing · Settings

代理模式与常用设置

先选 Global Routing,再核对 Config、当前服务器与连接状态。模式决定处理方向,规则决定匹配结果,服务器参数决定连接能否建立;这三层需要分别检查。

01 / Home

Global Routing 三种模式

Global Routing 位于 Home,用来决定连接采用哪一种整体处理方式。配置对应 Config,代理对应 Proxy,直连对应 Direct。选择模式本身不会补齐服务器资料,也不代表连接开关已经启用;操作后仍需核对 Home 的当前服务器与实际连接状态。

日常需要按目标地址区分处理方式时,先在 Config 选择并启用适用的配置文件,再将 Global Routing 设为 Config。此时连接由配置中的规则判断,而不是所有目标都固定使用同一种策略。只导入一个文件却没有启用它,或者当前选中的文件与预期不同,都会让结果偏离你正在阅读的规则。

整体模式与规则策略分开核对
模式处理依据适用场景主要核对项
配置 / Config由当前启用的 Config 规则决定策略。日常规则分流,按目标区分连接处理。启用文件、规则顺序、策略引用与 FINAL。
代理 / Proxy整体采用代理处理方向,不按 Config 的常规目标规则分流。临时缩小规则因素的影响,检查所选服务器的可用性。当前服务器、认证参数与实际请求结果。
直连 / Direct整体采用直接连接方向,不使用所选代理服务器转发普通连接。临时对照当前网络的直接访问表现。本地网络、目标本身的可达性与连接状态。

Proxy 适合短时诊断:如果同一目标在 Proxy 下可用,而在 Config 下出现异常,下一步应查目标命中的规则与策略,不要立即重填全部服务器参数。Direct 则可帮助判断问题是否也出现在直接连接时,但某个目标直接访问失败,并不能单独证明代理配置正确或错误。

结束对照测试后,恢复原本需要的模式。Global Routing 的 Proxy / Direct 是界面选项,规则中的 PROXY / DIRECT 是策略关键字,两者层级不同,不能因为名称相近就当作同一个开关。

02 / Config

规则类型与策略

规则分流是在 Config 中描述“哪些目标采用什么策略”。进入当前配置的编辑或规则查看位置,先确认文件处于启用状态,再检查 [Rule] 段。常规规则自上而下匹配,首个命中项决定处理,后面的规则不再继续为同一匹配过程提供备选结果。

DOMAIN 用于精确域名,DOMAIN-SUFFIX 用于域名及其子域名,DOMAIN-KEYWORD 按域名中的关键词匹配。IP-CIDR 与 IP-CIDR6 分别描述两类 IP 地址范围,GEOIP 依赖 IP 地理数据。域名规则与 IP 规则所需的信息不同,因此规则顺序和 DNS 解析结果都可能影响判断。

策略描述命中后的动作:PROXY 使用代理处理,DIRECT 直接连接目标,REJECT 拒绝连接。如果配置使用自定义策略组,还要检查组名是否存在、组内选择是否符合预期;规则文字正确并不代表引用的组一定可用。

[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
DOMAIN,ads.example.net,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

上面是文本配置读法示例,不是可直接替代现有配置的完整文件。精确规则一般放在范围更大的规则之前;FINAL 放在末尾承接前面未命中的连接。若将宽泛规则放得太靠前,后面的精细规则即使写对也可能没有机会生效。

修改前保留可恢复的副本,每次只改一条并用同一目标验证。发现异常时,记录目标域名、当时的 Global Routing 与命中策略,再查看记录;不要仅凭页面是否打开就认定某条规则已经命中。规则关键字的解释可继续查阅术语表。

03 / Home · Add Server

订阅与服务器管理

服务器条目保存连接需要的协议、地址、端口与认证资料;订阅则用一个地址更新一组条目。两者主要在 Home 管理。已有订阅时,进入 Add Server,在 Type 中选择 Subscribe,按页面字段填入从你的服务商处获取的地址,再保存并执行更新。已有单个服务器资料时,选择对应协议,逐项填写,而不是把服务器地址当作订阅地址导入。

保存后先检查列表是否出现预期分组与条目,再选中需要使用的服务器。协议类型必须与服务端一致,端口、密码或标识、TLS 与传输相关字段也应按原始资料核对;不能因为某个协议名称熟悉,就只修改 Type 并沿用另一种协议的参数。

Subscribe 更新的是来源维护的条目,Config 更新的是配置文件,两者不应混为一谈。更新订阅后需要重新确认选中项是否仍然存在、名称是否变化以及当前策略组是否仍指向有效内容。手工修改由订阅生成的条目可能在后续更新时被覆盖,需要长期保留的差异应先独立记录并确认管理方式。

同时管理多个订阅时,用可辨认的备注区分来源,更新后检查重复名称与失效条目。删除前确认该操作影响的是单个服务器还是整个订阅分组;名称相同不等于参数相同,暂时测试失败也不等于来源已经失效。订阅地址可能包含访问凭据,截图、分享记录或备份文件时应先检查其中的敏感内容。

Connectivity Test 可用于初步筛查,但测试通过不代表每个目标都能正常访问。测试失败时,先核对当前网络和 Test Method,再检查服务端资料与订阅更新结果。具体导入流程见使用教程,协议字段的技术含义见协议手册。

04 / Settings

On Demand 按需连接

On Demand 根据配置的网络条件触发连接行为,适合已经完成手动连接验证、希望在特定网络环境下自动处理连接的情况。入口在 Settings 的相关设置中,系统 VPN 配置也可能呈现对应状态。具体选项以应用当前显示为准,设置前先明确希望在哪类网络下连接、在哪类条件下保持不连接。

建议先保持 On Demand 关闭,手动完成一次“选择服务器、设置 Global Routing、开启连接、访问目标”的完整验证。确认基础连接可用后,再进入 On Demand 阅读条件与动作,先设置一条容易复现的条件并保存。随后分别在条件满足、不满足以及切换网络时检查实际状态,避免一次写入多条重叠条件后难以判断触发来源。

On Demand 不负责修复过期的认证信息,也不代替 Config 规则。它解决的是何时发起连接,Global Routing 解决的是连接如何处理。如果关闭主开关后又出现连接,应先检查是否存在自动触发条件,而不是反复删除服务器条目。

05 / Data

Data 流量统计

Data 用于查看客户端记录的流量情况,可帮助判断连接期间是否存在数据传输,以及某次测试是否产生了明显变化。进入 Data 后先阅读当前显示的统计范围与计数含义;如果界面提供不同时间或连接范围,应先选定范围,再进行前后对照,而不是把不同范围的数字相减。

一种便于复现的方法是:记录测试前的显示值,保持同一服务器与模式,只访问一个已知目标,再返回 Data 查看变化。测试时尽量暂停其他应用的后台传输,因为系统同步、媒体预取和其他连接都可能影响统计。流量增加只能说明发生了传输,不能单独说明某个页面完整加载,也不能据此判断目标命中了哪条规则。

客户端统计与服务商账单的计量位置、统计周期和开销口径可能不同,因此不要把 Data 当作剩余额度的唯一依据。订阅中展示的额度信息与本机记录也是不同来源,需要分别核对。若准备清理或重置统计,先记录所需数据,并确认重置范围;恢复配置文件不应被当作恢复全部历史统计的保证。

06 / Settings

Settings 常用项

Settings 集中管理客户端行为,但并不是所有连接参数都在这里。服务器自身参数在对应条目中核对,规则及部分 DNS 行为可能来自当前 Config。进入某项设置前,先确认它作用于全局、当前配置还是单个条目;当配置内已有相关指令时,也要结合该指令的适用范围判断实际结果。

DNS:先查解析,再查转发

DNS 负责把域名解析为连接需要的地址。若 IP 目标可用但域名目标异常,或者同一域名在不同网络表现不同,应将解析作为排查线索。查看 Settings 中的 DNS 相关选项,并同步核对当前 Config 的 DNS 指令;记录原值后一次调整一项,再对同一域名重新测试。

不要把更换 DNS 当成所有问题的通用处理。解析成功只说明得到地址,后续仍可能在连接、TLS 或服务端认证阶段失败。修改后还需注意缓存影响,并确认测试请求使用的是修改后的配置。优先采用你能解释用途、且与现有配置兼容的设置,避免叠加多组不明来源的参数。

Test Method:理解测试结果的边界

Test Method 决定列表测试采用的方式,可在 Settings 中查找对应项目。不同方式检查的链路环节并不相同,结果也不能直接混合比较。先选定一种适用的方式,保持测试目标与网络环境一致,再在 Home 执行 Connectivity Test。

列表测试适合筛查明显失败的条目,不能替代实际业务请求。若测试通过但目标访问失败,应继续检查域名解析、规则与目标服务;若测试失败但实际请求成功,也应先核对测试方式本身,而不是立即删除该条目。

Today Widget:快捷操作后确认状态

Today Widget 为系统组件提供相关快捷入口,具体可用操作以当前系统与应用展示为准。在 Settings 查看相关配置,并在系统的组件编辑位置添加可用组件。首次使用时先回到 Home 确认主开关、当前服务器与模式,之后再用组件触发一次操作并返回应用核对结果。

组件显示可能存在刷新时差,快捷入口也不应承担完整诊断。点击后若表现与预期不同,回到应用查看实际状态,并检查 On Demand 是否又触发了连接。不要仅凭组件的一次显示判断服务器可用性或规则是否命中。

iCloud:同步前保留独立备份

iCloud 用于应用提供的云端同步或相关保存操作。使用前确认设备登录的账号、系统 iCloud 权限与应用内相关开关,再按当前页面说明检查同步对象。不同类型的数据应分别核对,不能因为某个 Config 已出现,就推断订阅、选择状态和统计历史也已全部恢复。

换设备前先保留可恢复的独立备份,避免同时在两台设备大幅编辑。新设备上先检查文件内容与服务器条目,再验证当前启用的 Config 和 Global Routing。同步便利并不等于连接参数可以省略核对,涉及凭据的文件也需要按敏感资料保管。

Diagnostics:围绕一次失败收集线索

Diagnostics 用于诊断与记录相关操作,可在 Settings 的对应入口查看。先记下发生问题的时间、网络类型、所选服务器和目标,再复现一次失败,随后检查应用提供的诊断信息。比起连续修改多项设置后导出大量记录,单次、条件明确的复现更容易定位问题。

检查记录时区分解析失败、连接建立失败与认证或握手失败,不要把所有异常都归因于规则。准备分享记录前,应检查订阅地址、服务器资料、访问域名与认证内容,移除敏感信息。记录只能反映当时的条件,网络切换后的新问题需要重新记录与验证。

核对顺序

设置改动后的验证

保持同一目标、同一网络与同一服务器,逐层确认。每次只改变一个条件,才有依据判断是哪项设置影响了结果。

  1. 确认基础状态。在 Home 检查连接开关与当前服务器,确认没有误选同名条目;先让手动连接可复现,再处理自动连接。
  2. 确认模式和配置。查看 Global Routing;使用 Config 时,核对实际启用的文件、首个命中规则与 FINAL,不只看编辑中的副本。
  3. 确认解析与请求。结合 DNS、Connectivity Test 和实际目标访问结果判断,单个测试数值不作为完整结论。
  4. 确认自动行为。测试 On Demand、Today Widget 与网络切换,检查是否存在自动重连或显示刷新时差。
  5. 保留结果与恢复路径。记录本次更改,异常时恢复原值;需要更多定位步骤时转到疑难解答,不要继续叠加未经验证的设置。

本页是 Shadowrocket 官方手册的功能与设置说明。iPhone / iPad 的系统要求以 App Store 页面标注为准;界面位置与选项范围请结合当前应用实际展示核对。

下载 Shadowrocket