工具简介
Shadowrocket 是 iOS/iPadOS 平台最成熟的网络代理客户端,基于 Apple Network Extension 框架开发,提供系统级流量劫持能力,作为 iOS 科学上网生态的事实标准,其核心优势在于:
- 全协议支持:兼容 Shadowsocks、VMess、VLESS、Trojan、Hysteria、Reality 等主流协议,支持 QUIC、gRPC、WebSocket 等传输层
- 智能分流引擎:基于 GeoIP/GeoSite 的规则系统,支持 DOMAIN-SUFFIX、IP-CIDR、USER-AGENT 等 10+ 种匹配类型,实现精准国内外分流
- 脚本与 MitM:内置 JavaScript 引擎支持脚本重写,配合证书可实现 HTTPS 解密与广告过滤
- 性能优化:采用原生 Swift 编写,内存占用低于 50MB,CPU 占用率控制在 5% 以下,远优于跨平台方案
Shadowrocket 耗电量优化完整教程
节点自动选择策略配置
避免手动切换节点导致的频繁连接重建,启用 URL Test 自动选择最低延迟节点,减少射频模块持续高功耗状态。
- name: "Auto-Select"
type: url-test
url: "http://www.gstatic.com/generate_204"
interval: 300 # 测试间隔 300 秒(关键:避免频繁探测)
timeout: 5 # 单次超时 5 秒
tolerance: 50 # 延迟容差 50ms,防止频繁切换
规则集精简与分流优化
移除冗余规则条目,使用 RULE-SET 替代大量 DOMAIN-SUFFIX 单行规则,降低每次请求时的正则匹配开销。
# 推荐配置结构 [Rule] # 使用精简版规则集(<5000 条) RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/direct.txt,DIRECT RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/proxy.txt,PROXY # 关闭不必要的日志记录 LOG-LEVEL = error # 仅记录错误级别,减少磁盘 I/O
传输层参数调优
针对移动网络特性调整协议参数,减少心跳包频率和 TLS 握手次数。
// VMess/VLESS 节点参数
{
"mux": {
"enabled": true,
"concurrency": 8, // 多路复用 8 条流,减少 TCP 连接数
"xudpConcurrency": 8
},
"tcpSettings": {
"header": {
"type": "none"
}
},
"tlsSettings": {
"allowInsecure": false,
"alpn": ["h2", "http/1.1"]
}
}
后台策略与系统级设置
在 Shadowrocket 设置中调整后台行为,避免 VPN 隧道在待机时保持高频活跃。
应用内设置:
- 全局路由:改为
配置模式(非代理模式),利用规则分流减少隧道流量 - 测试超时:设置
3000ms(默认 1000ms 过短会导致重试风暴) - DNS 策略:启用
DoH但设置缓存 TTL 600 秒,避免频繁 DNS 查询
iOS 系统设置:
设置 > 通用 > 后台 App 刷新 > 关闭 Shadowrocket 设置 > 隐私 > 定位服务 > 关闭(防止 GPS 持续唤醒) 设置 > 电池 > 低电量模式 > 开启(系统级限制后台网络活动)
日志与诊断功能关闭
调试功能是耗电大户,生产环境务必关闭。
[General] # 关闭详细日志 loglevel = error # 关闭网络分析 network-analysis = false # 关闭 IPv6 解析(如网络不支持) ipv6 = false
定时自动化策略
利用 iOS 快捷指令自动化,在夜间或特定场景自动断开 VPN。
快捷指令 > 自动化 > 创建个人自动化 触发条件:特定时间(如 23:00-07:00) 操作:运行 Shadowrocket 快捷指令 "断开连接" 设置:关闭运行前询问
优化效果验证: 完成上述配置后,在 设置 > 电池 中观察 Shadowrocket 的耗电占比应从原来的 15-25% 降至 5-8%,待机状态下每小时掉电减少 2-3%。