最后更新于:2026年7月

iOS 快捷指令代理自动化
iOS 快捷指令与代理客户端自动化实战

iOS 上的代理客户端(Surge、Shadowrocket、Stash)功能都很强,但日常使用有个痛点:切换模式、换节点、签到、测速,全得手动点进 App 里操作

而 iPhone 自带的「快捷指令」App,正好是解决这个问题的官方工具。它可以通过 URL Scheme原生动作直接控制代理客户端,把一系列操作串成「一键执行」或「触发即自动执行」的流程。

本指南从原理到实战,覆盖:快捷指令基础、三大客户端的一键切换方案、网络变化自动切换、机场每日自动签到、小组件测速,以及可直接分享的模板链接。


一、为什么要用快捷指令做代理自动化?

先把价值讲清楚,再讲怎么做。

1.1 手动操作的三个痛点

场景手动操作痛点
出门切蜂窝进 Shadowrocket → 点启动 → 等连接每次都要点 3-4 下
到家切国内进 App → 关代理 / 切直连忘记关,手机一直走代理耗流量
每天签到进机场站 → 登录 → 找签到按钮一天忘一次,月底少领几 G

这些操作重复、低频、但烦人。快捷指令的价值就是把它们压缩成一次点击、一句话、或一个自动触发。

1.2 快捷指令能控制代理的三种方式

PLAINTEXT
快捷指令 → 代理客户端 的三种通道:

① URL Scheme(最通用)
   快捷指令「打开 URL」→ surge:// / shadowrocket:// / stash://
   
② 原生动作(最稳定,Surge / Stash 支持)
   快捷指令「App → Surge/Stash」→ 启动/切换配置/改出站模式
   
③ 自动化触发(最无感)
   触发条件(Wi-Fi / 位置 / 时间)→ 运行上述任一种

核心结论:Shadowrocket 靠 URL Scheme,Surge/Stash 靠原生动作 + 内置 On-Demand。下面分客户端详讲。

1.3 前置准备(所有方案通用)

  1. iPhone 更新到 iOS 15+(自动化触发条件最完整)
  2. 代理客户端已配置好可用订阅
  3. 在客户端设置里开启「允许快捷指令控制」(Shadowrocket:设置 → 高级 → 允许快捷指令控制;Stash 默认支持)
  4. Safari 打开本文的模板链接(用微信/其他 App 打开会无法安装)

二、Shadowrocket 快捷指令实战(URL Scheme 全套)

Shadowrocket(小火箭)是 URL Scheme 最完整的一个客户端,几乎所有操作都能用 shadowrocket:// 协议触发。

2.1 完整的 URL Scheme 清单

功能URL Scheme
启动 VPNshadowrocket://connectshadowrocket://open
停止 VPNshadowrocket://disconnectshadowrocket://close
切换开关shadowrocket://toggle
选择指定节点shadowrocket://select?s={节点名称}
切换配置文件shadowrocket://switch?config={配置名}
切换代理组shadowrocket://switch?group=Proxy&select=HK-01
设置代理组选中项shadowrocket://setGroup?name=Proxy&selected=节点名
全局路由:代理shadowrocket://route/proxy
全局路由:配置(分流)shadowrocket://route/config
全局路由:直连shadowrocket://route/direct
全局路由:场景shadowrocket://route/scene
添加订阅/节点shadowrocket://add/{订阅URL}
安装配置shadowrocket://config/add/{URL}
安装模块shadowrocket://install?module={URL}

2.2 实战一:一键切换全局/分流/直连

最常用的三个快捷指令,对应三种路由模式。

分流模式(推荐日常用):

PLAINTEXT
打开 URL:shadowrocket://route/config

全局代理(游戏 / 临时访问):

PLAINTEXT
打开 URL:shadowrocket://route/proxy

直连(省流量 / 纯国内):

PLAINTEXT
打开 URL:shadowrocket://route/direct

创建方法:快捷指令 App → 新建 → 添加操作「打开 URL」→ 粘贴上面任一行 → 命名为「小火箭-分流/代理/直连」→ 保存到主屏幕或控制中心。

2.3 实战二:一键切换到指定节点

如果你有常驻的「香港 01」「日本 01」节点,可以用一条指令直接选中:

PLAINTEXT
打开 URL:shadowrocket://select?s=HK-01

⚠️ 节点名称必须和你订阅里完全一致(区分大小写和空格)。建议先在 Shadowrocket 里长按节点名「拷贝」,再粘贴到 URL 里。

2.4 实战三:一键启动 + 选节点组合

把「启动」和「选节点」放在一个快捷指令里,一次执行:

PLAINTEXT
操作1:打开 URL → shadowrocket://connect
操作2:等待 1 秒
操作3:打开 URL → shadowrocket://select?s=JP-01

三、Stash 快捷指令实战(原生动作 + On-Demand)

Stash 是 Clash Premium 内核的 iOS 客户端,它的自动化走两条路:原生快捷指令动作内置 On-Demand(按需连接)

3.1 Stash 的 URL Scheme

Stash 同时支持 stash://clash:// 两种协议前缀,且支持编码后的 URL:

功能URL Scheme
启动stash://startclash://start
停止stash://stopclash://stop
切换开关stash://toggleclash://toggle
导入配置stash://install-config?url=${编码后的URL}
导入覆写stash://install-override?url=${编码后的URL}

Stash 官方还提供 HTTPS 格式的等效链接:https://link.stash.ws/start,无需编码,可直接在 Safari 打开。

3.2 用原生动作做切换(推荐)

Stash 在快捷指令 App 里暴露了原生动作,比 URL Scheme 更稳定:

  1. 快捷指令 → 新建 → 添加操作
  2. 搜索「Stash」→ 会看到 启动 / 停止 / 切换 等动作
  3. 拖入「启动」或「切换」即可
PLAINTEXT
推荐组合:
操作1:Stash → 切换(开/关)
操作2:如果 已开启 → 通知「代理已开启」
        否则 → 通知「代理已关闭」

3.3 Stash 的王牌:On-Demand 按需连接

这是 Stash 比 URL Scheme 更优雅的自动化——完全不需要快捷指令,在客户端设置里就能按网络环境自动开关:

  1. Stash → 设置 → VPN → 按需连接(On-Demand)
  2. 添加规则:
    • SSID 规则:家里/公司 Wi-Fi 名称 → 自动连接 / 自动断开
    • 域名规则:访问特定域名时自动连接
    • App 规则:指定 App 启动时自动开启代理
PLAINTEXT
示例:
- SSID「MyHomeWiFi」→ 断开(家里直连省流量)
- SSID「OfficeWiFi」→ 连接(办公需要代理)
- 其他 Wi-Fi / 蜂窝 → 连接(默认走代理)

On-Demand 基于苹果原生 VPN On Demand,触发极快且无感,比快捷指令自动化更省电。日常分流自动切换,优先用 On-Demand;复杂组合逻辑才用快捷指令。


四、Surge 快捷指令实战(原生动作为主)

Surge 在 iOS 上主要走原生快捷指令动作,URL Scheme 仅用于导入配置,不用于运行时控制。

4.1 Surge 提供的快捷指令动作

在快捷指令 App 搜索「Surge」,可用动作包括:

动作作用
启动 / 停止开关 Surge 的 VPN 接管
切换配置文件在多个 .conf 配置间切换(如「分流版」「全局版」)
改变出站模式规则模式 / 全局代理 / 全局直连 三档切换

Surge 的配置文件切换是它最实用的自动化点:你可以为「流媒体」「游戏」「纯办公」准备不同配置,用一条快捷指令秒切。

4.2 实战:一键切「流媒体专用配置」

PLAINTEXT
操作1:Surge → 切换配置文件 → 选择「Netflix-Config」
操作2:Surge → 改变出站模式 → 规则模式
操作3:通知「已切换到流媒体配置」

4.3 Surge 的 URL Scheme(仅导入用)

一键订阅用的是这个,不是运行时控制:

PLAINTEXT
surge:///install-config?url={订阅URL}

五、三大客户端方案对照表

能力ShadowrocketStashSurge
一键启停(URL Scheme)shadowrocket://togglestash://toggle❌ 用原生动作
切换节点(URL Scheme)select?s=
切换配置(URL Scheme)switch?config=install-config❌ 用原生动作
切换路由模式route/proxy⚠️ 原生动作✅ 原生动作
原生快捷指令动作⚠️ 有限✅ 完整✅ 完整
On-Demand 按需连接⚠️ 部分✅ 最强⚠️ 部分
适合自动化方式URL SchemeOn-Demand + 原生动作原生动作

选型建议:

  • 想要灵活自定义切换节点 → Shadowrocket(URL Scheme 最全)
  • 想要"设置一次永不操心"的自动分流 → Stash(On-Demand 最省心)
  • 多配置文件场景化切换 → Surge(原生动作 + 配置切换)

六、网络变化自动切换(无感分流)

这是体验提升最大的一类自动化——你不用做任何事,手机自己根据网络环境决定走不走代理

6.1 方案 A:连上家里 Wi-Fi 自动关代理(Shadowrocket)

  1. 快捷指令 → 自动化 → 新建个人自动化
  2. 触发条件:无线局域网 → 选择你家 Wi-Fi 名称
  3. 添加操作:
    PLAINTEXT
    打开 URL → shadowrocket://disconnect
  4. 关闭「运行前询问」

6.2 方案 B:离开家自动开代理(Stash / Surge)

  1. 触发条件:离开 → 家(位置围栏)
  2. 添加操作 → Stash 切换 / Surge 启动
  3. 关闭「运行前询问」

6.3 方案 C:Stash On-Demand(零操作,最推荐)

前面讲过,直接在 Stash 设置里配 SSID 规则,不用建任何快捷指令,触发最快、最省电。

6.4 基于内网 IP 的智能判断(进阶)

如果你需要更精细的判断(比如连上公司 Wi-Fi 时检测是否在内网段),可以用「获取网络详情」+「如果」条件:

PLAINTEXT
操作1:获取网络详情 → 当前 IP
操作2:如果 IP 包含「192.168.」
       则 → shadowrocket://disconnect(内网直连)
       否则 → shadowrocket://connect(外网走代理)

⚠️ iOS 自动化对「时间」触发器有省电延迟,对「Wi-Fi / 位置」触发器响应最快。优先用 Wi-Fi 和位置触发。


七、机场每日自动签到

很多机场有「每日签到领流量」机制,手动签太烦,用快捷指令自动化最合适。

7.1 签到原理

机场签到本质是访问一个带身份 cookie 的 URL。两种实现思路:

PLAINTEXT
思路1(推荐,最稳):捷径调用机场官方签到链接
  - 部分机场提供「签到快捷指令」或 API 链接
  - 复制链接 → 快捷指令「打开 URL」→ 加自动化定时运行

思路2:模拟点击(适合无 API 的机场)
  - 打开 App → 等待 → 点击签到按钮 → 等待
  - 用「打开 App」+「等待」+「运行 JavaScript」组合

7.2 实战:每天 9 点自动签到

  1. 快捷指令 → 自动化 → 新建个人自动化
  2. 触发:每天 → 09:00
  3. 添加操作:
    PLAINTEXT
    操作1:打开 URL → {机场签到链接}
    操作2:等待 3 秒
    操作3:获取网页内容(确认签到成功文案)
    操作4:如果 包含「成功」
            则 → 通知「今日签到 +XXX MB」
            否则 → 通知「签到可能失败,请手动检查」
  4. 关闭「运行前询问」

7.3 多机场批量签到

如果有多个机场,把每条签到串在一个快捷指令里:

PLAINTEXT
快捷指令「每日签到合集」:
  打开 URL → 机场A签到链接 → 等待 2 秒
  打开 URL → 机场B签到链接 → 等待 2 秒
  打开 URL → 机场C签到链接 → 等待 2 秒
  通知「3 个机场签到完成」

安全提醒:不要在快捷指令里明文存密码。优先用机场提供的「免登录签到链接」或带 cookie 的一次性链接;敏感操作放 iCloud 钥匙串。


八、小组件一键测速

不用进 App 就能看当前节点延迟,适合放主屏幕。

8.1 Stash 原生测速小组件

Stash 自带 Widget 和 Siri 快捷指令,可直接:

8.2 通用测速快捷指令(任意客户端)

PLAINTEXT
快捷指令「一键测速」:
  操作1:获取 URL 内容 → https://www.gstatic.com/generate_204
         (测延迟用 204 探测接口)
  操作2:获取「请求时长」
  操作3:显示结果 / 通知「当前延迟 {时长} ms」

更实用的做法是:在代理客户端里对「自动选择」组做一次 url-test,然后用通知输出最低延迟节点。Stash/Surge 的策略组都有「测速」动作可调用。

8.3 把测速放进"连上 Wi-Fi 后"

组合第六章的自动切换,可以做到:连上某 Wi-Fi 自动开代理 + 测速 + 通知最优节点,一条龙。


九、可分享的模板与 iCloud 链接

快捷指令做好的成果,可以生成 iCloud 分享链接发给别人(或自己其他设备)。

9.1 生成分享链接

  1. 长按做好的快捷指令 → 分享 → 复制 iCloud 链接
  2. 对方用 Safari 打开 → 点击「获取快捷指令」→ 添加

⚠️ 首次安装第三方捷径,需在 设置 → 快捷指令 → 开启「允许不受信任的快捷指令」。如果选项是灰的,先在快捷指令中心随便装一个官方指令并运行一次即可解锁。

9.2 本文配套模板(可直接复制)

下面这些「打开 URL」操作,直接建快捷指令粘贴即用:

PLAINTEXT
【小火箭-分流模式】
shadowrocket://route/config

【小火箭-全局代理】
shadowrocket://route/proxy

【小火箭-直连】
shadowrocket://route/direct

【小火箭-启动】
shadowrocket://connect

【Stash-切换】
stash://toggle

【Stash-启动】
stash://start

【Stash-停止】
stash://stop

9.3 常用自动化模板

自动化名触发条件操作
到家关代理连上「MyHome」Wi-Fishadowrocket://disconnect
出门开代理离开家位置Stash 切换 / Surge 启动
每日签到每天 09:00打开签到 URL + 通知
游戏模式打开某游戏 Appshadowrocket://route/proxy
睡前关代理每天 23:30stash://stop

十、常见问题排查

10.1 快捷指令点了没反应

10.2 自动化不自动跑

10.3 Shadowrocket 切换失效

对照这 4 个配置项:

  1. 已添加有效订阅
  2. 设置里开启「允许快捷指令控制」
  3. URL Scheme 参数拼写正确
  4. 节点/组名与实际订阅一致

10.4 Stash 节点切换没有 URL Scheme

Stash 不提供「切换具体节点」的 URL Scheme。需要用:

10.5 提示「因安全性设置不允许」

设置 → 快捷指令 → 允许不受信任的快捷指令 → 开启。灰色的话先装一个官方指令并运行一次。


十一、2026 新趋势:iOS 27 的 AI 快捷指令

2026 年 5 月,彭博社报道 iOS 27 将为快捷指令带来 AI 自动生成——你只需用自然语言描述需求,系统就能自动创建对应指令。

PLAINTEXT
示例(iOS 27 预期能力):
用户说:「打游戏时自动开全局代理、关通知、清后台」
系统 → 自动生成一条快捷指令并绑定到游戏启动触发

这对代理自动化意味着:以后不用再记 URL Scheme,说一句话就能生成「到家自动直连」「出门自动代理」的自动化。 但目前(2026 年 7 月)iOS 27 尚未正式推送,本文的 URL Scheme / 原生动作方案仍是唯一可靠路径。


十二、总结

三句话收尾:

  1. Shadowrocket 用 URL Scheme——shadowrocket://route/config|proxy|directselect?s=switch?config= 三板斧覆盖 90% 切换需求。
  2. Stash 用 On-Demand + 原生动作——设置一次 SSID 规则,从此不用手动切;节点切换用原生快捷指令动作。
  3. Surge 用原生动作——多配置文件场景化切换是它的强项,流媒体/游戏/办公一键切。

最佳组合实践:把「一键切换路由模式」放主屏幕 + 把「到家关/出门开」做 Wi-Fi/位置自动化 + 把「每日签到」做定时自动化 = 代理体验从此无感。

自动化不是为了炫技,是为了把重复操作从你的注意力里彻底移除。配好这三类,你每天至少少点十几次屏幕。

版权声明

作者: 易邦

链接: https://blog.e8k.net/posts/ios-shortcuts-proxy-automation/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。