本文详解Shadowrocket脚本模块的配置逻辑与实战应用,涵盖从基础启用、规则编写到全局路由模式切换的完整流程,帮助用户实现智能化的国际网络加速方案。
脚本模块的启用与基础配置
小火箭脚本功能使用的前提是正确的模块加载,Shadowrocket支持JavaScript脚本对网络请求进行实时处理,适用于广告过滤、请求重定向及API数据修改等场景。
配置流程:
- 获取脚本模块:通过URL导入或本地文件添加,常见格式为
.sgmodule或.js文件 - 安装MITM证书:设置 → 证书 → 安装,并在系统设置中信任该证书
- 启用脚本开关:在配置编辑页面,确保
[Script]段落下方的启用按钮为绿色状态 - 配置重写规则:在
[Rewrite]或[Rule]中添加对应的域名匹配规则
关键配置参数示例:
[Script]
京东比价 = type=http-response,script-path=jd_price.js,pattern=^https?://api\.m\.jd\.com
网易云解锁 = type=http-request,script-path=netease.js,pattern=^https?://interface\.music\.163\.com
[MITM]
hostname = api.m.jd.com, interface.music.163.com
全局路由四大模式的核心区别
小火箭脚本功能使用的效果高度依赖全局路由模式的选择,四种模式决定了脚本处理后的流量走向:
配置模式 按规则列表分流,匹配脚本修改后的请求根据规则判定走代理或直连,适合精细化跨境办公需求,国内流量直连,海外学术资源访问走节点。
代理模式 所有流量强制经过代理节点,脚本处理后的请求同样遵循此逻辑,适用于公共Wi-Fi环境下的全流量加密,但会增加节点负载。
直连模式 绕过所有代理,脚本仅本地生效,用于调试脚本或确认规则有效性,也可在特定场景下节省节点流量。
场景模式
根据网络环境自动切换上述三种模式,连接公司Wi-Fi时自动切换直连,使用蜂窝数据时启用配置模式,需在[Proxy Group]中预设策略组配合脚本实现。
实战脚本编写与调试
针对国际网络加速的优化脚本通常包含请求头修改和响应体解密,以下是一个典型的请求重定向示例:
# 修改User-Agent访问移动端专属接口
[Script]
UA修改 = type=http-request,script-path=ua_modify.js,pattern=^https?://example\.com
# ua_modify.js内容:
const $rocket = new Object();
$rocket.headers = $request.headers;
$rocket.headers['User-Agent'] = 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X)';
$done({headers: $rocket.headers});
调试技巧:开启设置中的"日志记录"功能,查看脚本执行时的HTTP状态码和错误堆栈。
常见问题排查(FAQ)
现象:脚本规则已启用但功能未生效
原因:MITM域名未完整填写或证书未信任,导致HTTPS请求无法被解密处理。
解决方法:检查[MITM]下的hostname列表是否包含目标域名,重新安装并信任证书,重启Shadowrocket。
现象:启用脚本后网页加载变慢
原因:脚本执行阻塞了主线程,或远程脚本资源加载超时。
解决方法:将远程脚本转换为本地脚本,减少网络依赖;在[Script]标签中添加timeout=10参数限制执行时间。
现象:特定App无法连接但浏览器正常
原因:该App启用了SSL Pinning证书锁定,脚本无法注入。
解决方法:排除该App的域名处理,在[Rule]中添加DOMAIN,api.example.com,DIRECT绕过脚本处理。
节点选择与脚本性能优化
小火箭脚本功能使用的稳定性与节点质量直接相关,脚本解密和重写会增加本地计算开销,建议选择延迟低于150ms的中转节点或专线。
对于需要频繁修改请求头的学术访问场景,推荐使用支持TLS 1.3的节点,配合脚本实现更高效的握手过程,避免使用负载过高的免费节点,这会导致脚本执行超时。
掌握小火箭脚本功能使用的核心在于理解MITM解密机制与路由策略的协同工作,通过合理配置脚本模块和选择优质的国际网络加速节点,可显著提升跨境办公场景下的网络体验,建议定期更新脚本仓库以适配目标网站的API变更。
