推荐配置

Shadowrocket 耗电快主要是因为 VPN 常驻后台维持连接、频繁的网络切换、复杂的规则匹配计算以及 DNS 解析开销,以下是分层次的优化方案:

配置层面优化(效果最明显)

DNS 设置精简

dns-server = 223.5.5.5, 119.29.29.29, 8.8.8.8
# 或仅使用系统 DNS(如果节点支持)
# dns-server = system
# 关闭 IPv6(如不需要可显著降低耗电)
ipv6 = false
# 增加 DNS 缓存时间
dns-fallback-system = false
dns-direct-system = false

规则列表精简

  • 避免使用过多正则规则:将 DOMAIN-KEYWORD 改为 DOMAIN-SUFFIX(性能更好)
  • 精简 GeoIP 数据库:使用 Lite 版本或仅保留常用国家/地区
  • 移除无效规则:定期清理已失效的域名规则
  • 分流策略:国内域名直连,仅国外域名走代理(减少加密解密开销)

关闭高耗电功能

[General]
# 关闭详细日志(改为 error 或关闭)
loglevel = error
# 关闭 HTTP 抓包/解密(如不需要)
# 关闭 MitM(除非必要)
# 调整心跳包间隔(不要太频繁)
heartbeat = 600

节点与连接优化

选择稳定节点

  • 避免频繁断线重连:选择延迟低、丢包率低的节点(重连最耗电)
  • 使用 URL-Test 自动选择:让 Shadowrocket 自动选择延迟最低的节点,避免手动切换
  • 协议选择:SS/SSR 比 VMess/VLESS 更省电(握手过程更简单)

连接模式调整

  • 使用 TUN 模式(配置 → 模式 → 代理模式 → TUN):比传统 VPN 模式更省电
  • 关闭 "始终开启 VPN"(除非必要):iOS 设置 → VPN → Shadowrocket → 关闭"始终开启"

系统级优化

iOS 后台设置

  • 开启后台 App 刷新:设置 → 通用 → 后台 App 刷新 → 开启 Shadowrocket( paradoxically,关闭后系统会频繁唤醒应用检查连接,反而更耗电)
  • 关闭定位服务:Shadowrocket 不需要定位,设置 → 隐私 → 定位服务 → 关闭

网络切换优化

  • 避免频繁 WiFi/4G 切换:在信号差的区域关闭 WiFi,避免网络切换导致 VPN 重建连接
  • 开启"按需连接":配置 → 按需连接 → 开启(仅在需要时建立 VPN)

进阶优化(脚本/重写)

如果使用了脚本或重写:

  • 减少脚本数量:每个 HTTP 请求都会触发脚本计算,非常耗电
  • 使用本地脚本:避免远程脚本频繁更新
  • 关闭 MitM:证书解密(HTTPS 解密)会显著增加 CPU 负担,非必要不开

快速检查清单

按优先级检查:

  1. [ ] 日志级别是否设为 errorwarning
  2. [ ] 是否关闭了 IPv6(如不需要)?
  3. [ ] 规则数量是否超过 5000 条?(考虑精简)
  4. [ ] 是否开启了 HTTP 抓包/MitM?
  5. [ ] 节点是否稳定(观察是否有频繁重连日志)?
  6. [ ] 是否使用了过多远程脚本/重写?

终极方案

如果以上优化后仍耗电严重:

  • 使用 "配置" 而非 "全局代理":仅代理必要应用
  • 定时断开:不需要代理时手动断开(控制中心长按网络图标关闭 VPN)
  • 更换客户端:尝试使用 Surge(更省电但付费)或 Quantumult X(规则处理更高效)

提示:Shadowrocket 在 iOS 上的正常后台耗电约为每小时 1-3%,如果超过 5%/小时,通常是规则配置或节点稳定性问题,建议先重置配置,使用最小化规则测试基准耗电。

您可以还会对下面的文章感兴趣: