FEATURES & SETTINGS

Shadowrocket 功能与设置:Global Routing、规则分流与常用项

这一页按界面顺序把 Shadowrocket(小火箭)的常用功能讲一遍:Global Routing 三种姿态各自适合什么场景,规则表里的关键字与策略怎么读,服务器与订阅怎么管理,On Demand、Data 流量统计与 Settings 常用项分别管什么。每一项都写清是什么、在哪个界面、怎么设、注意什么。

  • iOS / iPadOS
  • App Store 独占
  • 一次性买断
  • iPhone 与 iPad 通用

GLOBAL ROUTING

Global Routing 三种姿态:Config、Proxy 与 Direct

Global Routing 在 Home 页,决定客户端把连接交给谁处理。三种姿态互斥,同一时间只有一个生效,切换不会改动已经导入的服务器与配置。

是什么

Global Routing 是 Home 页上的一组全局姿态选项,作用对象是设备发出的整体连接,而不是某一条规则。它不改变已经导入的服务器与配置文件,只改变这些连接的处理方式。

三种姿态分别做什么

Config(配置):按当前选中的配置里的规则表逐条判断。命中 PROXY 的连接走服务器,命中 DIRECT 的连接直连,命中 REJECT 的连接被拒绝。日常使用以这一姿态为主。

Proxy(代理):所有连接统一交给当前选中的服务器处理,规则表不参与判断。适合需要整体走同一条线路的临时场景。

Direct(直连):所有连接直接发出,不经过任何服务器。适合用来判断「当前连不上,是线路造成的还是本地网络造成的」。

怎么切换

Home → Global Routing 里点选 Config、Proxy 或 Direct。切换后,后续连接按新的姿态处理;配置、规则与服务器列表都保持原样,切回 Config 即恢复按规则分流。

注意什么

Direct 姿态下规则表仍然在,只是不参与判断,不要误以为规则被删掉了。Proxy 姿态会把全部流量压到同一台服务器上,Data 页的读数也会集中在这一台,排查流量前先确认当前姿态。

Global Routing 三种姿态对照
姿态界面显示流量怎么走常见用途
配置Config按当前配置的规则表逐条判断日常使用,分流与直连并存
代理Proxy全部交给当前选中的服务器需要整体走同一条线路时
直连Direct全部直接发出,不经过服务器判断问题出在线路还是本地

RULES

规则分流:关键字、策略与命中顺序

规则表决定每一条连接走哪条路。它来自你导入的配置,客户端按自上而下的顺序逐条比对,第一条命中的规则生效,后面的规则不再参与。

规则从哪来

规则写在配置文件里。你在 Config 页添加并选中哪一份配置,客户端就按哪一份配置的规则表判断。客户端本身不内置面向某个服务的规则集,规则内容由配置的提供方决定。

一条规则由什么组成

三部分:匹配关键字、匹配值、策略。策略只有三种写法——PROXY(交给服务器)、DIRECT(直连)、REJECT(拒绝)。关键字决定拿什么去比对,策略决定命中之后怎么处理。

命中顺序

自上而下逐条比对,第一条命中的规则决定这条连接的走向。FINAL 通常放在最后一条作为兜底:前面所有规则都没命中时按它处理。把范围窄的规则写在前面、范围宽的写在后面,结果才符合预期。

注意什么

REJECT 只对命中的连接生效,拦截效果取决于请求方怎么处理失败,不对任何场景承诺去广告效果。规则改完要先保存配置、再重新选中该配置,改动才会生效。

规则关键字各自的匹配范围,另有一篇逐条说明:DOMAIN、GEOIP、IP-CIDR 与 FINAL 各匹配什么

规则关键字与匹配对象对照
关键字匹配对象写法示例
DOMAIN完整域名,精确匹配DOMAIN,example.com,PROXY
DOMAIN-SUFFIX域名后缀,同时匹配该域名与其子域DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD域名中出现的关键字DOMAIN-KEYWORD,static,DIRECT
IP-CIDR目标 IPv4 地址段IP-CIDR,203.0.113.0/24,DIRECT
IP-CIDR6目标 IPv6 地址段IP-CIDR6,2001:db8::/32,DIRECT
GEOIPIP 归属地区代码GEOIP,CN,DIRECT
USER-AGENT请求携带的 User-AgentUSER-AGENT,Example*,DIRECT
FINAL兜底,前面规则都没命中时生效FINAL,PROXY

SERVERS & SUBSCRIBE

服务器与订阅:Add Server 与 Subscribe 怎么用

把服务器放进客户端有两种方式:手动添加一条记录,或导入服务商给出的订阅链接。两种方式最终都落在同一份服务器列表里。

Add Server:手动添加一条

Add Server 用来添加单条服务器记录,需要填写名称、类型、地址、端口,以及该类型要求的凭据字段。类型常见的有 Shadowsocks、VMess、VLESS、Trojan、Hysteria2、WireGuard、HTTP 与 SOCKS5,不同协议要填的字段不一样,以表单实际显示为准。

Subscribe:导入订阅

订阅链接从你的服务商处获取。在 Config 页添加订阅地址后,客户端负责拉取并解析其中的服务器与规则。链接什么时候更新、内容是什么、什么时候失效,都由服务商决定,客户端只做导入与更新。

其他导入方式

Scan QR Code 用来扫描服务商给出的二维码;Import from Cloud JSON 用来导入放在云端存储里的 JSON 配置。文中出现的地址、域名与链接一律是 example.com 这类明显假值,不要把自己的真实订阅链接贴到公开场合。

管理与注意

服务器列表支持测延迟、排序、复制与删除。订阅链接相当于一份凭据,拿到的人可以使用同一份线路,因此不适合公开分享。需要分清的是:客户端在 App Store 一次性买断,买的是应用本身;线路与套餐由你的服务商提供,两者是分开的两件事。

订阅添加之后,可以手动更新,也可以让客户端在打开时自动更新;更新失败时先看提示,再逐项排查。这一部分另有一篇:订阅更新:手动更新、打开时自动更新与失败原因

买断与套餐是两件事

客户端买断 ≠ 线路套餐。在 App Store 一次性买断,买到的是 Shadowrocket 这个应用;节点、订阅与线路需要从你的服务商处获取,本站不提供也不推荐任何节点服务。

ON DEMAND

On Demand 按需连接:三类触发条件

On Demand 让客户端按条件自动处理连接:连到某个网络或访问某个域名时,按预设动作执行,不必每次手动开关。

TRIGGER 01

Wi-Fi

以当前连接的 Wi-Fi 网络名为条件。适合「在家里的网络按一种方式处理、在其他网络按另一种方式处理」这类需求。

TRIGGER 02

蜂窝网络

以是否使用蜂窝数据为条件。适合「离开 Wi-Fi 之后自动按某种方式处理」这类需求,条件本身不含具体的运营商信息。

TRIGGER 03

域名

以访问的目标域名为条件。命中某个域名时按设定的动作处理,适合把个别域名单独拎出来走指定的处理方式。

怎么设

Settings → On Demand 里添加一条规则:选条件类型(Wi-Fi / 蜂窝网络 / 域名),填条件参数,再选命中之后的动作。可以添加多条规则,同时满足多个条件时按实际匹配结果处理。

注意什么

条件写得越宽,越容易在不该触发的时候触发。如果某个网络下出现「连不上」,先到 On Demand 里确认这条网络是不是命中了某个动作,再回去看 Global Routing 姿态与规则表,把两个来源分开排查。

三类触发条件的参数含义与常见误配,另有一篇专门说明:On Demand 按需连接:Wi-Fi、蜂窝与域名触发怎么设

DATA

Data 流量统计:按服务器与按应用两组读数

Data 页把流量拆成两组读数:一组按服务器统计,一组按应用统计。两组口径不同,放在一起看才能定位问题。

按服务器

统计每台服务器累计处理的上行与下行流量。用来确认流量集中在哪条线路上,以及某条线路是不是被大量使用。

按应用

统计每个应用经客户端处理的流量。用来找出「哪个应用在持续跑流量」,再回到按服务器那一组,确认它走了哪条线路。

为什么和系统统计对不上

系统设置里的流量统计覆盖设备全部网络活动,而 Data 页只记录经客户端处理的连接。两者的统计范围与起算时间都不一样,数值对不上是正常现象,不代表统计出错。

用它排查异常流量

建议顺序:先看按应用一组,找出读数明显偏大的条目;再看按服务器一组,确认这些流量走了哪台服务器;最后回到 Global Routing 确认当前姿态是不是 Config,排除「全局代理让所有流量集中在一台」这种情况。

注意什么

读数是本机记录,换设备或重装后不会带过去;判断「最近是否异常」时,先记下当前读数再看变化。单位按 KB / MB / GB 自动换算,具体显示以应用内实际界面为准。

两组读数各自的含义,另有一篇专门说明:Data 页流量统计怎么看:按服务器与按应用的读数含义

SETTINGS

Settings 常用项:DNS、Test Method、Today Widget 与诊断

Settings 页里的项目不少,日常真正需要动的只有几项。下面按「连接与解析 / 入口与同步 / 诊断与记录」三组说明;分组只为阅读方便,实际入口以应用内 Settings 页为准。

  • DNS 域名交给谁解析
  • Test Method 延迟测试用哪种探测方式
  • Connectivity Test 连接前后的可达性测试

DNS 决定域名由谁解析:可以指定解析服务器,也可以交给系统默认解析,改动的效果取决于你的线路与网络环境,不确定时先保持默认。Test Method 决定延迟测试采用的探测方式,不同方式得到的数值口径不同,不要拿两种方式的结果互相比。Connectivity Test 用来在连接前后确认当前网络是否可达,把「网络本身不通」和「线路不通」区分开。

NOTES

用这一页内容时的几点前提

功能与设置都建立在两个前提上:应用本身从 App Store 获取,线路与订阅由你的服务商提供。

买断与套餐是两件事

客户端买断 ≠ 线路套餐。Shadowrocket 在 App Store 一次性买断(美区定价 2.99 美元,各店面按当地货币显示,以商店页面为准),买到的是应用本身;节点、订阅与线路需要从你的服务商处获取,本站不提供、不销售、也不推荐任何节点服务。

关于获取渠道

Shadowrocket 只在 App Store 发售,开发者是 Shadow Launch Technology Limited,应用 ID 是 932747118。iPhone 与 iPad 为主,Mac、Apple TV 与 Apple Vision 也在同一商店页的兼容性栏里,系统要求以 App Store 页面标注为准。

关于界面差异

不同系统版本上,Settings 里的项目名称与位置可能略有差别,本文按常见排布说明。遇到对不上的地方,以你设备上应用内实际显示为准。

关于示例值

文中出现的地址、域名与规则片段全部是 example.com、203.0.113.0/24 这类明显假值,不对应任何真实服务。

把 Global Routing 切到 Direct 之后,规则会被删掉吗?

不会。Direct 只是让连接不经过服务器,配置与规则表都还在;切回 Config 就恢复按规则分流。

订阅链接可以分享给别人吗?

不建议。订阅链接相当于一份凭据,拿到的人可以使用同一份线路;链接的更新与失效由你的服务商决定。

改了 Settings 里的项目,为什么没有立刻看到变化?

部分设置要等下一次连接才生效。可以先断开再连接,或者切换一次 Global Routing 姿态,再观察 Data 页的读数变化。

Mac 与 Apple TV 上也有这些设置吗?

同一款应用在不同设备上的界面排布不完全一致,项目名称以该设备上应用内实际显示为准;系统要求一律以 App Store 页面标注为准。