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

On Demand 可以按 Wi-Fi 名称、蜂窝网络或访问的域名自动连接或断开。本文按场景给出配置步骤,并说明规则冲突时的排查方法。

本文速览

本文适合已经能手动连接、希望按网络环境自动启停的 iPhone 与 iPad 用户。先区分 On Demand 与 Global Routing,再设置 Wi-Fi、蜂窝网络和域名条件,最后用网络切换与请求记录验证结果。操作以用户已有自己的服务商与订阅为前提。

1. On Demand 决定何时连接,不决定每条请求的出口

Shadowrocket 的 On Demand 利用系统 VPN 按需机制,在符合条件时建立或断开连接。它解决的是连接时机问题。连接建立后,流量采用哪条策略,仍取决于 Global Routing 与当前配置。系统显示 VPN 已连接,不等于每条请求都经过代理服务器。

网络条件变化 按需条件评估 建立连接 流量策略判断 请求出站

入口是 Settings → On Demand。服务器选择在 Home,规则配置在 Config。把这三处职责分开,排查时就能避免在自动连接异常时反复改写分流规则。具体选项是否显示,取决于当前应用界面与系统支持。

3 处
操作入口:Home / Config / Settings
4 项
Global Routing:Proxy / Direct / Config / Scene
2 层
分别检查连接触发与请求分流

判断方法:先确认连接,再确认出口

没有建立 VPN 连接时,先查 On Demand 条件;已经连接但出口不符时,转查 Global Routing 与命中的策略,不要把两层问题混在一起。

2. 设置前先完成一次手动连接

自动化应建立在可用连接上。On Demand 不会修复服务器地址、认证信息或订阅失效问题。先暂时关闭按需连接,用相同网络手动连接一次,再开始添加条件。

  1. 进入 Home,确认用户已有的订阅已导入。需要更新时先完成更新,再核对要使用的服务器是否仍在列表中。
  2. 点选目标服务器左侧的圆点,确认默认选择。不要只打开服务器详情而没有选中它。
  3. 打开 Home 顶部连接开关。首次连接时,按系统提示允许添加 VPN 配置。
  4. 运行 Connectivity Test,并访问一个已知可达的 HTTPS 页面。测试失败时,先解决手动连接问题。
  5. 进入 Config,确认当前使用的配置。再检查 Global Routing,后续需要按规则分流时选择 Config。
  6. 保留当前可用配置与原有 On Demand 条件记录,再进入 Settings → On Demand 做单项调整。

3. Wi-Fi 场景:按 SSID 区分连接与断开

Wi-Fi 名称通常指 SSID,不是路由器管理地址,也不是手机的设备名称。先在系统 Wi-Fi 设置中核对当前名称,再填入 On Demand 对应的 Wi-Fi 条件。名称中的空格、大小写和字符都应保持一致,不要自行补充通配符。

以家庭网络自动断开、其他 Wi-Fi 自动连接为例,条件应先覆盖明确的家庭 SSID,再处理其余 Wi-Fi。下面是设置目标与验证方式,不是可粘贴到 Config 的配置语法。动作名称与可编辑字段以当前界面为准。

匹配范围目标动作验证方式
指定 SSID,例如 Home-WiFi断开连接连接该 Wi-Fi 后,检查 VPN 状态是否符合预期
其他 Wi-Fi建立连接切换到另一处可用 Wi-Fi,检查是否自动连接
尚未完成登录的公共 Wi-Fi先完成网络认证确认系统登录页面可打开,再测试按需连接
  1. 进入 Settings → On Demand,找到 Wi-Fi 对应条件,先只设置一个明确的 SSID。
  2. 为该 SSID 选择所需的连接或断开动作。若界面提供条件排序,把具体 SSID 条件放在宽泛的 Wi-Fi 条件前。
  3. 保存并启用 On Demand。离开该 Wi-Fi 后重新加入,观察一次真实网络变化,而不是只在原网络上反复打开页面。
  4. 确认这一项符合预期后,再添加其他 Wi-Fi 的处理条件。

SSID 只能识别网络名称,不能证明网络可信。不同地点可能出现同名 Wi-Fi。只有在明确了解网络环境时,才设置自动断开;不要仅因名称看起来熟悉就降低连接要求。

4. 蜂窝网络场景:与 Wi-Fi 条件分开验证

蜂窝条件只适用于具备蜂窝连接能力的设备。仅有 Wi-Fi 的 iPad 不会因为添加此条件就获得蜂窝网络。测试时应确认系统当前确实使用蜂窝数据,避免设备仍连接 Wi-Fi 导致判断错误。

  1. 在 Settings → On Demand 中设置蜂窝网络对应的连接动作。保留已验证的 Wi-Fi 条件,不同时调整其他设置。
  2. 关闭系统 Wi-Fi,确认蜂窝数据可用。等待网络切换完成后,观察 VPN 状态。
  3. 打开一个新的 HTTPS 页面,并在需要时运行 Connectivity Test。已经打开的页面可能使用缓存,不适合作为唯一证据。
  4. 重新启用 Wi-Fi 并加入已配置的网络,检查是否执行该 Wi-Fi 对应的动作。
  5. 如果存在自动重连或其他自动化设置,逐项核对其作用,避免多个机制同时争用连接状态。

5. 域名场景:连接触发条件不是 DOMAIN-SUFFIX

域名按需连接属于系统对域名解析需求的评估,不是检查每个网页的完整 URL。可用的域名条件、评估动作和附加检查以 Settings → On Demand 当前提供的字段为准。不要把 Config 的规则行粘贴到域名输入框中。

系统域名评估可能结合 DNS 是否可解析、指定解析服务器或探测结果决定是否连接。因此,配置域名不一定代表每次访问都会新建 VPN。已有连接、DNS 缓存以及应用自身的解析方式,都可能改变观察结果。

设置位置填写内容用途
Settings → On Demand 的域名条件域名,例如 example.com让系统评估是否需要建立连接
Config 中的 DOMAINDOMAIN,example.com,DIRECT为精确域名选择请求策略
Config 中的 DOMAIN-SUFFIXDOMAIN-SUFFIX,example.com,DIRECT为该域名及其子域名选择请求策略
  1. 选择一个自己有权访问、用途明确的实际域名。上表的 example.com 仅用于展示填写形式。
  2. 在域名字段中填域名本身,不加 https://,不加路径、端口或查询参数。
  3. 按界面支持的评估选项设置条件。若没有相应域名字段,不要用分流规则模拟连接触发器。
  4. 测试前确认 VPN 未被其他 Wi-Fi 或蜂窝条件提前连接,再发起新的域名访问。
  5. 分别记录 VPN 是否建立、域名是否解析、请求是否成功。失败时按这三个环节逐项定位。

直接访问 IP 地址通常不能验证域名触发条件。浏览器使用缓存地址,或应用使用自身的加密 DNS 时,也可能没有走预期的系统域名评估路径。需要稳定的网络级自动连接时,优先验证 Wi-Fi 或蜂窝条件,再增加域名条件。

6. 规则冲突:先查条件覆盖,再查 Global Routing

常见冲突是具体条件被宽泛条件覆盖,例如希望家庭 Wi-Fi 断开,却同时配置了覆盖所有 Wi-Fi 的连接条件。对于按顺序匹配的条件列表,应将具体例外放在通用条件前。若界面按网络类别分别设置,则检查各类别的动作,不要假定它们共用一张规则表。

以下仅为 Config 中 [Rule] 段的语法片段,用于说明规则顺序,不是完整配置,也不是 On Demand 设置。域名和网段是说明用值;保留现有可用配置,不要直接覆盖。

[Rule]
DOMAIN,example.com,DIRECT
DOMAIN-SUFFIX,example.org,REJECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

请求按规则顺序匹配,FINAL 负责未命中前面规则的请求。IP-CIDR 示例中的 no-resolve 表示不为该规则主动进行域名解析。自动连接成功后若页面被 REJECT 拒绝,应调整对应规则,而不是重复开关 On Demand。

7. 常见问题与最小验证记录

手动关掉开关,为什么又连上了?

先进入 Settings → On Demand 暂停按需连接,再关闭 Home 顶部开关。只关闭连接而保留触发条件,后续网络变化或新的评估可能再次发起连接。若仍重连,再检查其他自动连接设置。

同一个 Wi-Fi,有时连接、有时不连接?

核对实际 SSID,检查是否切到了名称不同的另一个频段网络。再确认公共网络认证是否完成。先暂时移除其他条件,仅保留这一条进行复现,避免把网络不可用误判为条件失效。

VPN 已连接,为什么目标网页还是打不开?

在 Home 运行 Connectivity Test,确认当前服务器可用。然后核对 Global Routing 与 Config 的规则命中情况。若仅特定域名失败,再检查 DNS 和 REJECT 规则,不要直接重建全部 VPN 配置。

按域名设置了条件,刷新网页却没有触发?

先确认没有其他条件提前连接,再检查域名字段是否混入 URL 路径。使用新发起的访问测试,并核对系统 DNS 缓存与应用解析方式。不能仅凭一次刷新就断定域名条件未生效。

每次测试至少记录下面四项。只有当网络条件、连接状态和请求结果能对应起来时,才能判断自动化设置是否符合预期。建议一次只改一个变量,确认后再叠加下一项。

需要恢复时,先停用 On Demand,再还原之前记录的条件与当前配置。恢复手动连接并验证可用后,再逐项启用自动化。这个顺序能把服务器故障、规则问题和连接触发问题分开处理。

Shadowrocket 正版下载