本文详解Shadowrocket脚本功能的配置流程,涵盖MITM证书安装、JavaScript脚本编写、分流规则优化等核心操作,帮助iOS用户实现自动化网络请求处理与智能路由策略。
与适用场景
Shadowrocket作为iOS平台主流的国际网络加速工具,其脚本功能支持JavaScript运行时环境,可实现请求重写、定时任务、自动化签到等高级操作,对于具备跨境办公需求或需要精细化控制网络流量的用户,掌握Shadowrocket脚本功能使用教程能显著提升使用效率。
前置配置:MITM证书安装
启用脚本功能前必须完成中间人攻击(MITM)证书配置:
- 进入「配置」→「编辑配置」→「HTTPS解密」
- 生成新的CA证书并安装描述文件
- 前往iOS「设置」→「通用」→「关于本机」→「证书信任设置」启用完全信任
- 返回Shadowrocket验证证书状态显示为「已启用」
未完成证书安装将导致脚本无法解析HTTPS流量,重写规则失效。
脚本功能配置四步法
创建脚本规则段
在配置文件中添加[Script]字段,定义脚本名称、类型与执行时机:
[Script] 京东签到 = type=cron,cronexp="0 9 * * *",script-path=jd.js,timeout=120 B站去广告 = type=http-response,pattern=^https://app\.bilibili\.com/x/v2/feed/index,requires-body=1,script-path=bilibili.js
理解代理组类型差异
Shadowrocket支持三种核心代理组模式,直接影响脚本请求的路由走向:
- Select(手动选择):静态指定节点,适合调试脚本时固定出口IP
- URL-Test(自动测速):按延迟自动切换,脚本请求自动选择最优线路
- Fallback(故障转移):主节点失效时自动切换,保障脚本任务高可用性
编写JavaScript脚本
脚本需遵循Shadowrocket特定API规范:
// 修改请求头示例
const modifiedHeaders = $request.headers;
modifiedHeaders['User-Agent'] = 'CustomAgent/1.0';
$done({headers: modifiedHeaders});
// 响应体解析示例
let body = JSON.parse($response.body);
body.data.ad = null;
$done({body: JSON.stringify(body)});
分流规则优先级配置
脚本执行依赖分流规则匹配,理解规则类型至关重要:
- DOMAIN:精确匹配单域名,优先级最高
- DOMAIN-SUFFIX:匹配后缀,如
google.com涵盖www.google.com与mail.google.com - IP-CIDR:基于网段分流,适用于脚本API接口IP固定场景
- GEOIP:按地理位置分流,配合脚本实现区域内容解锁
规则书写遵循「从上到下,优先匹配」原则,建议将脚本相关域名置于配置顶部。
TUN模式与系统代理的技术差异
Shadowrocket提供两种流量接管方式,影响脚本捕获范围:
系统代理模式:仅处理HTTP/HTTPS流量,配置简单但无法捕获部分应用层的UDP请求,脚本对游戏类App可能失效。
TUN模式(虚拟网卡):通过Packet Tunnel扩展接管全流量,包括TCP/UDP/ICMP,脚本可处理DNS请求与游戏数据包,开启路径:「设置」→「TUN模式」→「启用」,需配合「按需求连接」使用。
学术资源访问场景建议开启TUN模式,确保脚本对所有数据库连接生效。
常见问题排查(FAQ)
现象:脚本显示执行成功但无实际效果 原因:MITM证书未正确安装或域名未加入解密列表 解决方法:检查「HTTPS解密」→「主机名」是否包含脚本目标域名,重新生成证书并重启App
现象:Cron定时脚本不自动运行 原因:iOS后台刷新限制或电池优化策略拦截 解决方法:开启「设置」→「通用」→「后台App刷新」,在Shadowrocket「设置」→「高级」中启用「持久化连接」
现象:脚本执行导致网络延迟升高 原因:脚本逻辑阻塞主线程或代理组URL-Test间隔过短 解决方法:优化脚本减少同步请求,将代理组测速间隔调整为600秒以上,或切换至Fallback模式
节点质量对脚本性能的影响
脚本功能依赖稳定的网络环境,特别是涉及API请求签到的场景,建议选择具备低延迟中转线路的服务商,确保脚本HTTP请求响应时间低于200ms,对于需要长期运行自动化任务的用户,可考虑配备专线资源的订阅方案,避免免费节点频繁失效导致脚本中断。
通过合理配置Shadowrocket脚本功能使用教程中的各项参数,结合高质量的节点订阅服务,iOS用户可构建完整的自动化网络工作流,满足复杂的跨境办公需求与个性化流量管理要求。