本文详解iOS端Shadowrocket(俗称小火箭)的唤醒脚本配置方案,通过自动化脚本实现后台持续连接,有效解决应用切换后代理失效问题,并提供代理组选择、分流规则等核心配置参考。
唤醒脚本解决的问题
使用iOS代理工具时,后台进程常被系统自动终止,导致跨境访问中断,唤醒脚本通过定时任务检测连接状态,在后台被回收前自动重新建立隧道,维持代理服务的持续可用性,该脚本适用于需要长时间稳定连接的场景,如跨境办公、学术资源访问等。
配置步骤
进入脚本编辑界面
打开Shadowrocket → 配置 → 找到对应配置文件 → 编辑 → 脚本 → 添加新脚本。
编写唤醒脚本
[Script]
cron = "*/5 * * * *" # 每5分钟执行一次
type = http-request
script = "
const isActive = $persistentStore.read('connection_status');
if (isActive !== 'connected') {
$notification.post('Shadowrocket', '正在恢复代理连接');
$proxy.reload();
}
"
启用定时任务
保存脚本后,确保cron表达式生效,推荐设置间隔为3-5分钟,过于频繁会消耗电量。
代理组类型选择
代理组配置是分流的核心,常见三种类型:
| 类型 | 原理 | 适用场景 |
|---|---|---|
| select | 手动选择节点 | 明确知道哪个节点最优 |
| url-test | 自动测速选择延迟最低 | 日常浏览、视频 |
| fallback | 优先使用列表中第一个可用节点 | 追求稳定性 |
日常使用建议采用select+url-test组合:常用节点设为select,备用节点池用url-test自动切换。
TUN模式与系统代理区别
- TUN模式:虚拟网卡层接管所有流量,包括UDP数据包、游戏流量,适合需要全流量代理的场景
- 系统代理:仅处理HTTP/HTTPS请求,兼容性更好但无法代理游戏
iOS端Shadowrocket默认使用TUN模式,可根据应用兼容性在配置中切换。
分流规则写法
rules: - DOMAIN-SUFFIX,google.com,Proxy - DOMAIN,api.ipify.org,Direct - IP-CIDR,10.0.0.0/8,Direct - GEOIP,CN,Direct - MATCH,Proxy
规则优先级从上到下递减,建议将常用域名放在前面以提升匹配效率。
常见问题
Q1:脚本配置后仍频繁断连
- 检查cron表达式是否正确保存
- 确认iOS后台刷新功能已开启
- 尝试缩短执行间隔至3分钟
Q2:电量消耗明显增加
- 唤醒脚本会增加后台唤醒次数,属于正常现象
- 非必要场景可关闭脚本,仅在需要稳定连接时启用
Q3:部分应用无法联网
- 检查该应用是否被分流规则误判为直连
- 在GEOIP规则前添加对应DOMAIN规则强制走代理
节点选择建议
稳定可靠的节点是代理体验的基础,建议根据使用场景选择:日常浏览可选普通中转节点,4K视频需高带宽专线,游戏加速则优先低延迟线路,判断节点服务商是否靠谱可观察其是否提供测速、是否支持退款、线路是否稳定无频繁切换。