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

逐项说明 On Demand 里 Wi-Fi、蜂窝网络与域名三类触发条件的含义,以及如何组合规则,避免连接被反复触发或断开。

本文速览

On Demand 管理系统何时尝试建立或断开 VPN 连接,不决定每个请求走哪条出站。本文适合已能手动连接、已有自己的服务商与订阅资料的用户:先区分网络条件与域名评估,再按 Wi-Fi、蜂窝网络、域名的顺序逐项验证,最后检查自动重连与规则分流是否符合预期。

On Demand 与 Global Routing 的职责

Shadowrocket(小火箭)的 On Demand 是按需连接设置,入口为 Settings → On Demand。系统依据已保存的 VPN 按需规则处理连接请求,因此关闭应用界面不等于停用按需连接;手动断开后,如果触发条件仍然成立,系统也可能再次建立连接。

Global Routing 管理连接建立后的路由姿态。Proxy、Direct、Config、Scene 与 On Demand 不是同一层设置:其中 Config 依照当前配置规则分流,Proxy 与 Direct 分别采用相应的全局路由方式;Scene 涉及场景选择,应另行核对其关联设置。排查自动连接时,不要同时更换路由姿态。

网络条件 按需评估 隧道建立 路由判断 请求出站

例如,VPN 已经自动连接,但网页仍从 Direct 出站,并不必然意味着 On Demand 失效。应先查看 Home 的连接状态,再检查 Global Routing 和 Config 的匹配结果。反过来,配置中存在 DOMAIN-SUFFIX 规则,也不代表系统会为了该域名自动建立隧道。

3 类
本文检查条件:Wi-Fi、蜂窝网络、域名评估
4 项
Global Routing:Proxy / Direct / Config / Scene
2 层
设置入口:Settings → On Demand

启用前:先保留一条可手动连接的基线

On Demand 不能修复错误的连接参数。先在 Home 使用已有连接资料完成一次手动连接,确认目标网站可访问,再配置自动触发。用户已有订阅时,订阅导入与更新负责连接资料的获取和变更;On Demand 不负责更新订阅,也不会自动纠正过期的服务器地址、密码或端口。

  1. 在 Home 核对当前选中的连接条目,执行 Connectivity Test。测试有响应只能说明该测试条件下可达,仍需用实际请求验证。
  2. 固定 Global Routing。若要验证已有分流配置,选择 Config,并在 Config 中确认当前启用的配置文件。
  3. 手动连接,完成系统 VPN 配置授权;若系统仍在等待确认,先处理授权,再继续自动连接测试。
  4. 记录当前网络名称、连接开关状态和测试网站。不要在同一轮测试中更新订阅、更换连接条目并修改 DNS。
  5. 进入 Settings → On Demand,检查已有条件。先保留单一网络条件,确认结果后再增加例外。

Wi-Fi 条件:区分网络类型与指定 SSID

“处于 Wi-Fi”与“连接某个 Wi-Fi 名称”是两种范围。前者覆盖所有 Wi-Fi 网络,后者按 SSID 限定。SSID 是无线网络名称,不是路由器管理地址,也不是设备当前获得的 IP 地址。输入指定名称时,应按系统显示核对空格、大小写和符号,避免凭记忆填写简称。

在 Settings → On Demand 中检查 Wi-Fi 条件及其动作;当前界面提供指定 SSID 条件时,再添加需要区分的网络。Connect 表示匹配时请求建立连接,Disconnect 表示匹配时断开连接。它们描述的是 VPN 状态,不是“该 Wi-Fi 的所有网站都走 Proxy”或“都走 Direct”。

系统按需规则按顺序评估,具体条件应置于宽泛条件之前;若当前界面不提供排序,应检查生成条件的覆盖关系,避免同时保留含义相反的重复项。完成设置后,离开该 Wi-Fi 再重新加入,比只在设置页反复切换开关更能验证网络变化是否触发了预期动作。

蜂窝网络条件:与 Wi-Fi 分别验证

蜂窝网络条件匹配的是设备实际使用的网络接口,不是状态栏是否显示信号,也不是某张 SIM 卡是否开启。在 Wi-Fi 仍承载流量时,仅打开蜂窝数据并不能证明蜂窝条件已经生效。测试时应从系统设置断开 Wi-Fi,确认实际使用蜂窝网络,再观察连接状态。

方案一:两类网络都连接

入口
Settings → On Demand
Wi-Fi
Connect
蜂窝网络
Connect
适用前提
两类网络均需要维持 VPN 连接

这是动作组合说明;切换接口仍可能短暂重建隧道,不代表连接始终无中断。

方案二:指定 Wi-Fi 例外

指定 SSID
Disconnect
其他 Wi-Fi
Connect
蜂窝网络
Connect
检查重点
指定 SSID 条件优先于宽泛 Wi-Fi 条件

按实际界面填写条件与动作;是否在某个网络保持连接,由用户的使用需求决定。

这两种方案不是耗电结论。蜂窝网络信号、重试频率、应用后台请求和实际流量都会影响耗电。若蜂窝条件设为 Connect,但所选连接在该网络不可达,系统可能反复尝试建立隧道。应先在相同蜂窝网络下关闭自动触发、手动测试连接,再判断是否需要保留该条件。

  1. 在 Wi-Fi 下记录预期动作与实际状态。
  2. 从系统设置断开 Wi-Fi,等待蜂窝数据可用,再记录同样两项。
  3. 重新加入原 Wi-Fi,核对指定 SSID 例外是否恢复。
  4. 若只在切换瞬间断开、随后恢复,优先判断为接口切换过程;若长期停在错误状态,再检查条件覆盖与连接可达性。

域名条件:不是把分流规则搬进 On Demand

域名按需评估与 Wi-Fi、蜂窝接口匹配不完全相同。系统的 Evaluate Connection 机制可以结合域名及 DNS 解析条件判断是否需要连接,常见行为涉及解析失败时尝试建立 VPN。它不等于“任何应用访问此域名,立即无条件连接”,也不是逐条读取 HTTPS 页面地址。

只有当前 On Demand 界面明确提供域名评估项时,才按该项的说明填写;不要把 Config 的规则行粘贴到域名输入栏。以 example.com 为例,域名字段通常需要的是名称本身,而不是 https://example.com/path。子域匹配范围则应以该字段说明为准,不能默认与 DOMAIN-SUFFIX 完全一致。

项目所在层次判断结果
Wi-Fi / 蜂窝条件On Demand 网络匹配根据接口、SSID 等条件执行对应连接动作
Evaluate Connection系统按需连接评估按配置的域名与解析条件判断是否需要连接
DOMAIN-SUFFIX,example.com,PROXYConfig 分流规则相关域名请求匹配后使用 PROXY 策略
FINAL,DIRECTConfig 末尾规则前面规则未命中时采用 DIRECT,不负责断开隧道

验证域名评估前,应先排除范围更大的 Connect 条件已经让隧道保持连接。浏览器缓存、DNS 缓存、应用自带的加密解析以及复用中的连接,都可能使测试没有产生预期的系统解析过程。因此,“重新打开一次网页,没有看到 VPN 状态变化”不足以证明规则无效;应同时记录测试前隧道状态、使用网络和解析条件。

反复连接或没有触发:按现象缩小范围

先区分“连接状态反复变化”和“连接一直存在但请求失败”。前者主要检查自动连接条件、接口变化和隧道建立失败;后者应继续检查 Global Routing、Config、DNS 与连接资料。将这两类现象混在一起修改,容易把原本正确的按需规则也改坏。

为什么在 Home 关掉连接,很快又自动打开?

先到 Settings → On Demand 暂停按需连接,再回到 Home 断开。若此后保持断开,说明此前仍有匹配条件要求 Connect;逐项检查当前 Wi-Fi、指定 SSID 与蜂窝条件,而不是连续点击连接开关。

指定家中 Wi-Fi 为 Disconnect,为什么仍然连接?

从系统设置复制核对当前 SSID,确认没有连到访客网络或同一路由器的另一名称。随后检查是否有更宽泛的 Wi-Fi Connect 条件优先匹配,并保存修改后重新加入该网络验证。

切换到蜂窝网络后一直连接失败,改哪里?

暂时停用 On Demand,在同一蜂窝网络下从 Home 手动连接并执行 Connectivity Test。手动连接也失败时,先核对已有连接资料、网络可达性与系统时间;自动触发不能绕过这些前提。

填了域名但打开网页没有自动连接,为什么?

核对填写位置是否确实属于 On Demand 域名评估,而不是 Config。再检查动作及 DNS 条件;已有缓存或其他解析方式可能不触发相同评估。若只是需要域名分流,改为检查 Config 中的 DOMAIN-SUFFIX 规则。

删掉系统 VPN 配置后,按需连接不再工作怎么办?

回到 Shadowrocket,先手动连接并完成系统重新添加 VPN 配置的授权,再检查 Settings → On Demand 是否启用。系统设置中的 VPN 按需连接状态也应一并核对;尚未完成授权时不要直接测试自动触发。

保留设置前:完成一轮闭环检查

稳定的组合不在于条件多,而在于每个条件都有明确范围与可复现的结果。先完成 Wi-Fi 与蜂窝的接口测试,再加入指定 SSID 例外,最后单独评估域名需求。每次只改一项,保留“网络、预期动作、实际状态”的记录,便于识别究竟是匹配错误还是连接建立失败。

Shadowrocket 是 Apple 平台的付费客户端,以 iPhone、iPad 使用为主;Mac、Apple TV、Apple Vision 的兼容性与系统要求以 App Store 页面标注为准。客户端买断 ≠ 线路套餐。已有连接资料的有效性需要单独核对,本站不提供、不销售、不推荐节点、订阅或服务商。

App Store 正版核对