· 按需连接 · 约 8 分钟

Shadowrocket On Demand 按需连接设置:按 Wi-Fi、蜂窝网络与域名自动触发

说明 On Demand 的作用与开启位置,按指定 Wi-Fi 名称、蜂窝网络与访问域名设置自动连接或断开的条件,以及与手动开关同时使用时的注意点。

本文速览

On Demand 管连接何时建立,Global Routing 管连接建立后如何处理流量。本文适合已在 Shadowrocket(小火箭)中配置好自有服务器的用户:先验证手动连接,再配置 Wi-Fi、蜂窝网络与域名条件,最后用网络切换逐项验收,避免把自动重连、规则分流和服务器故障混为一谈。

一、先分清 On Demand 与规则分流

On Demand 使用 Apple 系统的按需 VPN 机制,在符合条件时请求建立或断开连接。它不是定时任务,也不是检测到网页打不开就自动更换服务器。进入 Settings → On Demand 查看按需连接设置;具体可选条件与字段,以设备当前显示的界面为准。

连接建立之后,流量走向仍由 Home → Global Routing 和当前配置决定。例如,连接已开启而 Global Routing 为 Direct,并不意味着请求会经过所选代理服务器;同样,在 Config 中写入域名规则,也不等于已经给系统注册了域名按需触发条件。

Config

推荐

使用当前配置中的规则决定流量策略。On Demand 建立连接后,仍按规则顺序检查请求,命中后的处理可以是 DIRECT、PROXY 或 REJECT。

适合:已有明确分流需求,并且已核对当前配置的日常使用。

Proxy

将可由客户端处理的流量按代理姿态处理,不以当前配置的普通分流规则逐条决定去向。它改变的是流量策略,不是 On Demand 的触发条件。

适合:短时排查当前问题是否由分流规则引起。

Direct

采用直连姿态。即使按需机制建立了 VPN 连接,也不能据此认定请求正在通过远端服务器。

适合:确认本地网络直连是否正常,建立排查基线。

Scene

按已设置的场景选择对应处理方式。场景设置与按需连接条件需要分别检查,不能只看 Scene 名称推断当前流量走向。

适合:已经建立并验证场景配置的用户。

先验证手动连接,再启用自动触发

测试时固定一个已有服务器和一种 Global Routing 姿态。手动连接仍不能访问目标资源时,先修正服务器或规则,不要叠加 On Demand 条件。

二、开启前的准备与操作顺序

本文以用户已有自己的服务商与订阅为前提。先在 Home 确认目标服务器已经导入,地址、端口、认证参数与已有服务提供的信息一致。如果导入后尚未测试,先完成手动连接与访问验证;订阅更新成功只表示取得配置内容,不表示每个服务器都能正常连接。

  1. 验证连接

    进入 Home,选择一个已知可用的服务器,手动开启连接。首次出现系统 VPN 配置授权提示时,核对应用名称后按系统提示完成授权。

  2. 固定姿态

    进入 Home → Global Routing,选择准备实际使用的姿态。使用 Config 时,先到 Config 确认当前选中的配置文件及其规则。

  3. 进入按需

    打开 Settings → On Demand。记录原有设置,再启用按需连接;先只配置一种网络条件,不要同时更改 Wi-Fi、蜂窝网络与域名条件。

  4. 保存并切换

    按当前界面完成保存或返回操作,再实际切换到目标网络。回到 Home 检查连接状态,并访问一个已知可用的测试目标。

  5. 验证退出

    离开刚才的网络,再观察连接是否符合预期。随后返回 Settings → On Demand 增加下一项条件,每次修改后都重新验证进入与离开两种情况。

系统要求及设备兼容性以 App Store 页面标注为准。如果设备受管理策略限制,或系统未允许安装 VPN 配置,应先解决授权问题。不要把系统拒绝建立 VPN 的情况,当成按需规则没有命中。

三、Wi-Fi 名称与蜂窝网络条件怎么设置

Wi-Fi 条件判断的是设备当前连接的网络,不是设备附近扫描到的网络。若 Settings → On Demand 中提供指定 Wi-Fi 名称的条件,应按设备实际显示的 SSID 填写,注意大小写、空格以及名称末尾字符。示例 Home-WiFi 和 Home-WiFi-5G 是两个不同名称;不要用路由器品牌或自己给网络起的备注代替 SSID。

一种常见目标是“指定家庭 Wi-Fi 不连接,蜂窝网络连接”。需要分别表达指定 Wi-Fi 下的断开动作和蜂窝网络下的连接动作;只添加一条家庭 Wi-Fi 条件,并不能完整定义所有其他网络的行为。下面是测试设计示例,不是应用默认设置,也不是实测结果。

网络条件目标动作验收操作
已连接 Home-WiFi断开连接从蜂窝网络切入此 Wi-Fi,再检查 Home 状态
蜂窝网络建立连接关闭 Wi-Fi,确认蜂窝数据可用后发起请求
其他 Wi-Fi按单独设定处理连接另一已授权使用的 Wi-Fi,验证未遗漏的情况
没有可用网络无法完成远端连接先恢复网络,再判断条件是否生效

若界面提供条件排序或通用兜底条件,应避免宽泛条件覆盖指定 SSID 的例外。最稳妥的验证方式是逐条添加,并记录每种网络下的结果,而不是一次配置多条后仅测试当前 Wi-Fi。

四、域名触发不是 DOMAIN-SUFFIX 分流

域名按需条件涉及系统对域名解析及连接需求的评估,不等于监视浏览器地址栏中的每一次访问。应在 Settings → On Demand 内检查当前是否提供域名相关条件及其说明;若当前界面没有相应入口,不要把 Config 的规则当作替代入口。

域名字段应使用主机名,例如 portal.example.com,而不是带协议、端口和路径的 https://portal.example.com:443/account。父域是否覆盖子域、是否允许通配写法,取决于该字段定义,不应直接套用 DOMAIN-SUFFIX 的语法。系统域名按需机制还可能结合解析结果判断是否需要连接,因此也不能承诺“每访问一次就重新连接一次”。

下面只演示 Config 的规则含义,不是可导入的 On Demand 配置。example.com 是说明用域名;实际操作时应核对自己有权访问的业务域名,并先备份配置。

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

验收时可以关闭测试页面后重新访问,并查看解析与连接记录。用 IP 地址访问不能替代域名条件测试,因为这可能跳过目标域名的解析过程。也不要通过删除所有 DNS 设置来“强制触发”,否则会同时改变多个变量。

五、手动开关、自动重连与排查顺序

On Demand 开启后,手动关闭连接不一定代表长期停用自动连接:当新的网络事件或符合条件的请求出现时,系统可能再次发起连接。需要明确暂停自动化时,应先进入 Settings → On Demand 停用按需连接,再回到 Home 关闭连接,并实际发起一次请求确认状态。

反过来,手动开启连接也不能证明某条按需条件正确。一次有效验收应包含“当前处于什么网络、连接此前是什么状态、做了什么触发操作、连接之后是什么状态”。只截取一个开启状态,无法区分手动操作和系统触发。

  1. 先查底层网络:停用 On Demand 后验证 Wi-Fi 或蜂窝网络本身是否可访问。网络未登录、无信号或蜂窝数据未允许时,先恢复基础网络。
  2. 再查连接授权:确认系统 VPN 配置仍有效,没有被管理策略限制,也没有其他 VPN 配置正在争用连接。
  3. 再查触发条件:核对 SSID、网络类型与条件动作;一次只保留一项测试条件,观察是否仍会复现。
  4. 最后查流量策略:如果连接已经建立但目标访问失败,检查 Global Routing、当前 Config、DNS 与服务器可用性,不再继续修改触发条件。

按连接状态分开排查

始终未建立连接,优先查系统授权和按需条件;连接已建立但请求失败,转查网络、服务器与分流。不要在同一次测试中同时更新订阅、切换服务器和改写规则。

六、On Demand 设置常见问题

关掉 Home 开关后,怎么又连上了?

先查看 Settings → On Demand 是否仍启用。需要停止自动连接时,先停用按需连接,再关闭 Home 开关;随后切换一次网络或发起请求,确认不会按原条件重连。

Wi-Fi 能触发,蜂窝网络为什么不行?

关闭 Wi-Fi 后先确认蜂窝数据可用,再检查是否确实设置了蜂窝网络条件及连接动作。保持同一服务器不变,先做手动连接测试,以区分蜂窝网络访问限制和触发条件问题。

写了 DOMAIN-SUFFIX,为什么没自动开启?

该规则位于 Config,只负责流量匹配。回到 Settings → On Demand 检查系统按需条件;如果希望仅在已有连接内按域名分流,使用 Global Routing → Config 即可,不必把分流需求改成连接触发需求。

更新订阅会一起修复按需设置吗?

订阅更新与 On Demand 是不同设置环节,不能假定更新服务器列表会修复系统触发条件。更新后先在 Home 核对当前选中的服务器,再回到 Settings → On Demand 单独检查条件。

iPad 也要重新验证吗?

需要。应在 iPad 上检查本机 VPN 授权、Settings → On Demand 以及实际连接的 Wi-Fi;蜂窝网络测试只适用于具备相应能力且已启用数据服务的设备。系统要求以 App Store 页面标注为准。

App Store 正版核验