- 官方手册
- 功能与常用设置
Shadowrocket 功能
路由与设置说明
先确定 Global Routing,再检查服务器与 Config。连接开关、规则策略、DNS 和统计各自负责不同环节,不应把一种测试结果当成整条连接的结论。
面向 iPhone 与 iPad。系统要求与兼容性以 App Store 页面标注为准。
Global Routing 三种模式
Global Routing 决定请求采用哪一类路由处理方式。先在 Home 查看当前模式,再选择 Config、Proxy 或 Direct。中文说明分别称为配置、代理、直连;实际操作时按应用中的英文项目辨认。模式选择与连接开关是两件事:选择 Proxy 并不代表连接已经建立,选择 Config 也不代表某份规则文件已经正确启用。
日常按规则区分请求时使用 Config;排查所选服务器是否能承载某个请求时,可临时用 Proxy 做对照;需要观察原有网络能否直接访问时,可用 Direct 对照。每次只改变一个条件,并使用同一目标、同一网络重复测试,才能判断差异来自模式、规则还是服务器。
| 界面项目 | 处理方式与使用场景 | 设置后检查 |
|---|---|---|
| Config(配置) | 按当前启用的 Config 规则匹配请求,适合需要区分直连、代理与拒绝的场景。 | 确认配置已选中、规则顺序正确,匹配后的策略指向预期出口。 |
| Proxy(代理) | 将请求交由代理模式处理,适合对照所选服务器的连接表现。 | 确认当前服务器、认证与传输参数;不要据此推断 Config 规则已生效。 |
| Direct(直连) | 将请求交由直连模式处理,适合观察当前本地网络的访问情况。 | 检查本地网络和 DNS;不要把直连失败直接归因于服务器。 |
完成对照后恢复原来的日常模式。部分网络行为还受系统、DNS 及连接状态影响,因此 Direct 不应被理解成“所有设置均被关闭”,Proxy 也不等同于任意应用请求都必然成功。模式只确定路由方向,不能修复错误的认证信息或不可用的目标服务。
规则类型与策略
规则分流是在 Config 模式下,根据请求的域名、地址或其他可用特征决定处理策略。到 Config 中查看当前文件及其中的规则,先读匹配条件,再读末尾的策略。匹配条件回答“哪些请求”,策略回答“如何处理”;二者不可混为一谈。通常应把更具体的规则放在前面,避免较宽的条件先匹配。
按域名与地址选择条件
DOMAIN 匹配指定域名;DOMAIN-SUFFIX 用于域名后缀;DOMAIN-KEYWORD 按域名中的关键词匹配。IP-CIDR 与 IP-CIDR6 分别描述地址网段,GEOIP 按地址归属数据参与匹配。USER-AGENT 依赖请求中可见的相应信息,不能假定每个请求都具备这一条件。选择规则类型时,应以实际能获得的请求特征为依据。
DIRECT、PROXY 与 REJECT
DIRECT 表示直连,PROXY 表示代理处理,REJECT 表示拒绝。若配置使用自定义策略名称,还要核对该策略实际指向的服务器或策略组。FINAL 是前面规则未命中时的收尾处理,不是“优先级最高”的规则;修改 FINAL 可能改变大量未被单独覆盖的请求。
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT
以上示例只展示语法和顺序,不构成适合所有网络的完整配置。添加规则后,使用一个明确的目标验证命中结果;如果域名规则没有按预期工作,还应检查请求是否以 IP 地址发起、DNS 是否提供了预期结果,以及是否存在更靠前的匹配项。详细排查见DNS 排查说明。
Subscribe 与服务器管理
Subscribe 用于读取你已有的订阅内容,Add Server 用于添加单个服务器。两种方式都以你已经持有有效信息为前提。订阅链接从你的服务商处获取;手动添加时,服务器地址、端口、密码、协议及传输参数同样需要与服务端一致,不能凭名称或常见默认值猜填。
在 Home 的添加入口进入 Add Server,按已有资料选择 Type。导入订阅时使用 Subscribe 类型及其相应字段,确认链接完整,再保存并更新内容。扫码可使用 Scan QR Code,但仍应先确认二维码的来源与内容。导入完成后回到 Home,展开对应分组,选中要使用的服务器,再进行 Connectivity Test 和实际访问验证。
服务器列表中“已经出现条目”只说明客户端读取到了内容,不代表条目一定可连接。订阅更新失败时,先核对链接是否过期、是否被截断以及当前网络能否请求订阅地址;不要为尝试不同参数而不断创建重复分组。保留原有条目可帮助对照,但应记录自己实际选中的服务器,避免测试对象混乱。
订阅导入和 Config 文件导入也不完全相同:前者通常用于管理服务器条目,后者涉及规则及其他配置内容。应先确认拿到的是哪一种资料,再进入对应界面操作。遇到更新异常可继续阅读Subscribe 失败排查。
多协议与参数核对
Shadowrocket 支持多种协议,包括 Shadowsocks、VMess、VLESS、Trojan、HTTP、SOCKS5、WireGuard 与 Hysteria2。协议决定客户端与服务器如何交换数据,不是根据名称选择的“速度等级”。在 Add Server 中先选择与服务端一致的 Type,再填写该类型要求的字段;当前可用项目以应用内显示为准。
对于使用 TLS 的连接,需要核对服务器名称、证书和相关设置;SNI 不一定等于连接地址,必须按已有配置填写。VMess、VLESS 等类型涉及的标识和传输设置也应逐项对应。WireGuard 的密钥及地址配置有自己的结构,不能把其他协议的密码直接填入。导入后看似相似的两个条目,也可能在传输方式或认证字段上不同。
设置后先做 Connectivity Test,再验证实际需要的服务。测试失败应回到参数本身逐项对照,而不是连续切换多个协议。不要把放宽证书检查作为通用修复方式;如果服务器证书或名称不匹配,应先核对资料和服务端配置。协议参数包含敏感信息,排查时只提供必要的错误提示,并遮盖认证字段。
Config 配置文件
Config 用于组织规则及相关配置项。进入 Config 查看本地或远程配置,确认需要使用的文件已被选中,再回到 Home 将 Global Routing 设为 Config。仅保存了文件但没有启用,或者仍停留在 Proxy 模式,都不能用来验证该文件中的分流规则。
修改前先保留当前可用配置的副本,标记准备调整的项目。若只想改变某个域名的处理方式,就只改对应规则及其位置,不同时调整 DNS、服务器和 FINAL。保存后使用同一个目标重新测试,确认结果再继续下一项。这样可以将变化与结果对应起来,也方便恢复。
远程配置更新可能带来规则或其他设置变化;手动改动是否被保留,要结合配置的来源与更新方式确认。不要把含有私人认证信息的完整文件贴到公开讨论中,也不要仅凭文件名判断内容是否合适。对来源和作用不清楚的项目,先阅读配置再启用;规则语法示例并不等于可直接投入使用的完整文件。
On Demand 按需连接
On Demand 用于按配置的网络条件触发连接行为,与 Config 内按请求分流的规则不是同一层设置。前者决定何时尝试连接,后者决定连接中的请求如何处理。需要根据 Wi-Fi、蜂窝网络或特定网络条件管理连接时,可进入 Settings 中的 On Demand 检查可配置项目。
先保证手动开启连接能够正常使用,再设置 On Demand。按应用当前提供的条件填写需要的网络范围,保存后在对应网络环境中测试。建议先只设置一个可复现条件,例如一次明确的网络切换,观察触发结果后再增加其他条件;不要在基础连接尚未成功时依赖自动触发来排障。
如果手动关闭后连接又被触发,先检查 On Demand 条件,而不是反复重启应用。测试结束需要停止按需连接时,应同时检查相关设置与当前连接状态。网络切换后的表现还受系统调度和网络可用性影响,设置条件不意味着任何环境下都能立即连通。连接频繁变化时,可暂时停用按需条件,以手动连接建立稳定的对照。
Data 流量统计
Data 用于观察客户端记录的流量与连接活动。在 Data 中先确认当前视图、统计范围与分类方式,再查看上传、下载及相关条目;按服务器或应用归类的内容以当前界面实际提供的项目为准。统计读数适合用于比较一次操作前后的变化,不应直接当成服务商账单或系统全部流量的副本。
验证分流时,先记下当前读数和所选服务器,再进行一次明确的访问操作,回到 Data 查看变化。后台活动、连接开销、缓存命中和统计范围都会影响结果;某个条目没有明显增长,并不能单独证明规则失效。应结合当前 Global Routing、规则匹配和实际访问情况判断。
Data 中的累计数据也不是即时速度测试。若要排查速度慢,保持网络和目标一致,分别观察服务器测试、实际请求耗时及流量变化。清理统计前先记录需要保留的对照数据,并确认清理操作影响的范围。对外提供截图时遮盖服务器地址、请求域名及其他私人信息,详细读数解释可在技术笔记中继续查阅。
Settings 常用项
Settings 汇集应用级设置,但部分行为也可能受当前 Config 影响。调整前先记下原值,确认设置的作用范围;一次只改一项,使用同一网络和目标复测。下面按常见操作目的说明检查方向,具体入口与可选值以当前应用显示为准。
DNS:先确认解析路径
DNS 将域名解析为地址,是连接前的重要环节。进入 Settings 查看 DNS 相关项目,同时检查当前 Config 中是否存在相应设置。若只有域名访问失败而直接使用已知地址的测试不同,应重点检查解析返回值和请求路径,而不是先修改协议密码。不要随机叠加多个 DNS 地址;应明确希望使用的解析方式、可达性和适用范围,再测试同一域名。
Test Method:解释测试结果
Test Method 决定 Connectivity Test 使用的测试方式。到 Settings 查看当前选项及相关测试目标,确认其与你要比较的场景一致。不同方法测量的环节不同,结果不宜直接横向混用;能通过测试也不保证所有服务可用。需要比较服务器时,固定 Test Method、目标和本地网络,再观察重复测试结果,避免把测试条件变化误认为服务器表现变化。
Today Widget:查看快捷入口
Today Widget 用于与系统提供的相应小组件入口配合。先在 Settings 查看相关选项,再到系统的小组件管理界面确认可添加的内容。是否显示及具体交互受系统和应用当前支持情况影响,应以设备实际提供的入口为准。快捷入口不改变 Global Routing 与 Config 的含义;从组件操作后仍应回到 Home 核对服务器和连接状态。
iCloud:同步前确认内容范围
需要在自己的设备间同步时,检查 Settings 中的 iCloud 相关选项,并确认系统已允许应用使用 iCloud。先了解当前可同步的内容范围,再决定是否启用;不要把同步视为购买恢复,也不要把它当作唯一备份。跨设备操作前保留当前可用配置,确认同步结果后再删除旧条目,避免将不同设备上的修改混在一起。
Diagnostics:保留可复现线索
Diagnostics 用于诊断连接问题。进入对应入口后,围绕一个明确故障复现操作,记录当时的网络类型、Global Routing、所选服务器和错误提示。诊断材料可能含有地址、域名或认证线索,分享前逐项检查并遮盖私人信息。需要协助时提供问题发生的步骤和必要片段即可,不要公开完整订阅链接或全部配置内容。