小火箭(Shadowrocket)+ 快捷指令(Shortcuts) 的配合使用,可以实现代理的自动化控制(如定时开关、根据地理位置/Wi-Fi 自动切换、一键换节点等),核心原理是通过 URL Scheme 调用小火箭的接口。
基础 URL Scheme 指令
在快捷指令中使用 "打开 URL" 或 "获取 URL 内容" 操作,填入以下地址:
| 功能 | URL Scheme | 说明 |
|---|---|---|
| 切换开关 | shadowrocket://toggle |
开启/关闭代理(最常用) |
| 强制开启 | shadowrocket://connect |
无论当前状态,强制连接 |
| 强制关闭 | shadowrocket://disconnect |
无论当前状态,强制断开 |
| 切换后返回 | shadowrocket://toggle?autoclose=true |
执行后自动跳回原应用(适合在快捷指令内嵌套使用) |
| 切换配置 | shadowrocket://switch?config=配置名 |
切换不同的订阅/配置文件(需 URL 编码) |
| 选择节点 | shadowrocket://select?server=节点名称 |
切换到指定节点(名称需 URL 编码) |
注意:节点名称和配置名如果包含中文或特殊符号,需要进行 URL 编码(快捷指令中可用"URL 编码"操作转换)。
基础配置教程
创建"一键开关"快捷指令
- 打开 快捷指令 App → 右上角
- 添加操作 → 搜索 "打开 URL"(或"获取 URL 内容")
- 输入:
shadowrocket://toggle - 命名并保存(如"小火箭开关")
- 可添加到主屏幕或 Siri 语音控制
创建"自动关闭并返回"指令(适合自动化流程)
操作 1: 打开 URL → shadowrocket://disconnect?autoclose=true
操作 2: 等待 1 秒
操作 3: 显示通知 → "已断开小火箭"
进阶自动化场景
场景 1:连接公司/家庭 Wi-Fi 时自动关闭
目的:在可信网络下自动关闭代理,节省流量和电量。
- 快捷指令 → 自动化 → 创建个人自动化
- 选择 "无线局域网" → 选择 Wi-Fi 名称(如"Office-5G")
- 添加操作 → "打开 URL" →
shadowrocket://disconnect - 关闭 "运行前询问" → 选择 "立即运行"
- 同理创建"断开 Wi-Fi 时自动开启"的自动化(使用
shadowrocket://connect)
场景 2:到达/离开某地自动切换
目的:进入公司关闭代理,离开公司开启代理。
- 自动化 → "到达" → 选择地点(公司地址)→ 设置半径
- 添加操作 →
shadowrocket://disconnect - 再创建一个 "离开" 自动化 → 使用
shadowrocket://connect
场景 3:定时开关(如夜间关闭)
- 自动化 → "特定时间"(如 23:00)
- 添加操作 →
shadowrocket://disconnect - 早上 7:00 创建另一个自动化 →
shadowrocket://connect
场景 4:一键切换特定节点(如"香港节点")
- 先获取节点准确名称(在小火箭中查看,如"香港 01")
- 快捷指令中添加:
- 文本 → 输入节点名"香港 01"
- URL 编码(对文本进行编码)
- 打开 URL →
shadowrocket://select?server=+ 编码后的变量
- 保存为"切换香港节点"
实用技巧与注意事项
组合指令示例
"智能重启":断开 → 等待 2 秒 → 连接 → 通知
打开 URL: shadowrocket://disconnect
2. 等待 2 秒
3. 打开 URL: shadowrocket://connect
4. 显示通知: "小火箭已重启"
与 Surge/Quantumult X 的区别
- Shadowrocket 的 URL Scheme 相对简单,不支持直接获取延迟或节点状态(这是 iOS 系统限制)
- 如需根据延迟自动选节点,需借助外部 API 或手动切换
权限问题
- iOS 15+ 的自动化可能需要 "立即运行" 权限,部分场景(如到达地点)可能仍需点击通知才能运行
- 首次运行需在 设置 → 快捷指令 → 高级 中允许与 Shadowrocket 通信
中文节点名处理
如果节点名是"台湾节点",在快捷指令中:
文本: 台湾节点
→ URL 编码 → %E5%8F%B0%E6%B9%BE%E8%8A%82%E7%82%B9
→ 拼接 URL: shadowrocket://select?server=%E5%8F%B0%E6%B9%BE%E8%8A%82%E7%82%B9
快捷指令分享
可将配置好的快捷指令通过 iCloud 链接分享给他人,但需注意隐私安全,避免分享包含敏感节点信息的指令。
故障排查
| 问题 | 解决方案 |
|---|---|
| 点击无反应 | 检查 Shadowrocket 是否已安装;iOS 是否已信任该应用 |
| 节点切换失败 | 检查节点名称是否完全匹配(包括空格);确认已进行 URL 编码 |
| 自动化不执行 | 检查"自动化"中是否关闭了"运行前询问";确认定位/Wi-Fi 权限已开启 |
| 切换后无法返回 | 使用 autoclose=true 参数,或在快捷指令末尾添加"返回主屏幕" |
通过上述配置,你可以实现小火箭的无感切换,让代理服务根据你的生活习惯自动工作,无需手动频繁操作。