导读:
本文详解Shadowrocket脚本功能的配置流程与使用技巧,涵盖全局路由模式差异、规则编写语法及常见故障排查,帮助用户实现智能化的国际网络加速方案。
脚本功能的核心价值
Shadowrocket的脚本功能(Scripting)是实现精细化网络管理的核心工具,通过JavaScript脚本,用户可基于URL、请求头、响应体等维度自定义处理逻辑,实现广告过滤、请求重定向、数据修改等高级操作,对于具备跨境办公需求或学术资源访问场景的用户,合理配置脚本能显著提升连接稳定性与访问效率。
基础配置流程
启用脚本功能需遵循以下标准化流程:
- 获取模块文件:从可信渠道下载
.sgmodule格式的脚本模块,或手动创建JavaScript规则文件 - 导入配置:在Shadowrocket首页点击右上角"+",选择"添加模块",导入本地或远程脚本链接
- 启用MITM:前往"配置"→"证书"→"生成证书",安装并信任根证书,这是脚本解析HTTPS流量的必要前提
- 分配执行模式:在"全局路由"设置中确认当前模式支持脚本解析(建议先使用"配置"模式测试)
- 调试与验证:使用Safari开发者工具或内置日志功能检查脚本执行状态,确认规则生效范围
全局路由模式解析
理解四种路由模式的差异是掌握小火箭脚本功能使用的基础:
配置模式(Config)
模式特征:优先匹配规则列表,未命中请求按默认策略处理
适用场景:日常使用,配合分流规则实现智能选路
脚本支持:完全支持,可处理规则匹配前后的完整请求生命周期
代理模式(Proxy)
模式特征:所有流量强制走代理节点,无视规则列表
适用场景:临时全局翻墙,测试节点连通性
脚本支持:支持,但分流类脚本逻辑会被覆盖
直连模式(Direct)
模式特征:所有连接直接访问,不经过代理服务器
适用场景:本地网络调试,确认脚本本地执行效果
脚本支持:部分支持,仅执行不涉及网络请求的本地脚本
场景模式(Scene)
模式特征:基于地理位置、网络类型自动切换路由策略
适用场景:多网络环境切换(公司WiFi/家庭宽带/蜂窝数据)
脚本支持:条件支持,需配合场景变量编写条件判断逻辑
脚本编写实战
典型的分流脚本结构如下:
# 脚本类型:URL重写 ^https?://api\.example\.com/v1/ads url reject # 脚本类型:请求头修改 ^https?://api\.example\.com header-replace User-Agent "Mozilla/5.0" # 脚本类型:响应体处理 ^https?://api\.example\.com/data script-response-body https://raw.githubusercontent.com/user/script.js
关键参数说明:
script-response-body:修改服务器返回内容,常用于去广告或解锁区域限制script-request-body:修改客户端提交数据,适用于请求参数加密场景script-echo-response:直接返回本地构造的响应,不经过网络传输
常见问题诊断
现象:脚本已启用但规则未生效,日志显示"MITM failed" 原因:目标域名未开启HTTPS解密,或证书未在系统设置中完全信任 解决方法:检查"配置"→"HTTPS解密"中的域名列表,确保目标域名已添加;进入iOS设置→通用→关于本机→证书信任设置,开启Shadowrocket根证书完全信任
现象:特定App加载缓慢,频繁出现超时提示
原因:脚本处理逻辑与App的证书固定(Certificate Pinning)机制冲突
解决方法:在该App的域名规则中添加skip-server-cert-verify=true参数,或将其加入"直连"名单绕过脚本处理
现象:电池消耗异常,后台活动频繁 原因:脚本包含循环请求或高频重写规则,导致CPU持续高负载 解决方法:优化正则表达式匹配范围,避免使用全匹配;在脚本中添加缓存机制,减少重复计算
节点选择与优化建议
脚本功能的性能表现与节点质量直接相关,对于需要频繁解析和重写请求的场景,建议选择具备BGP优化或CN2 GIA线路的服务商,延迟控制在150ms以内可保证脚本实时处理不卡顿,若主要用于4K流媒体解锁,需确认节点支持UDP转发且具备足够的带宽冗余。
对于初次配置脚本的用户,建议先选择提供现成规则集的服务商,避免自行编写复杂逻辑导致的兼容性问题,稳定的节点环境能让脚本功能发挥最大效用,实现智能化的流量分流与请求优化。
进阶使用建议
掌握基础小火箭脚本功能使用后,可尝试构建模块化规则集:将广告过滤、区域解锁、请求优化分别封装为独立模块,通过#!include语法按需组合,定期清理失效脚本,保持配置文件的轻量化,有助于降低系统资源占用并提升连接建立速度。