本文详解Shadowrocket重写规则的配置逻辑与实战技巧,涵盖MITM证书安装、正则匹配语法及全局路由模式选择,帮助用户实现精准流量分流与请求头修改,提升国际网络加速效率。
重写规则的核心机制
小火箭重写规则(Rewrite Rules)通过中间人攻击(MITM)技术解密HTTPS流量,实现对特定域名请求头、响应体或URL参数的实时修改,该功能在跨境办公场景中尤为实用,可强制启用WebSocket连接、去除广告参数或修改User-Agent标识。
配置前需明确:重写规则仅作用于已安装信任证书的终端设备,且需配合特定的全局路由模式才能生效。
完整配置流程
-
生成并安装CA证书
进入Shadowrocket设置 → 证书 → 生成新的CA证书 → 安装描述文件,完成后需在iOS设置 → 通用 → 关于本机 → 证书信任设置中手动开启完全信任。 -
导入重写规则模块
在配置页面选择"编辑配置" → 添加模块(Module),导入包含重写规则的.conf文件,或直接在"重写"标签页手动添加规则,格式示例:^https?://api\.example\.com/v1/ads url reject ^https?://.*\.googlevideo\.com url 302 https://cdn.example.com -
配置全局路由模式
这是决定重写规则生效范围的关键步骤,点击首页"全局路由",根据需求选择以下四种模式之一:
四种路由模式深度解析
配置模式(Config)
仅对规则列表中指定的域名生效,适合精准控制流量走向,重写规则在此模式下仅作用于已加入规则集的域名,避免不必要的系统资源占用。
代理模式(Proxy)
所有流量强制经过代理节点,重写规则全局生效,适合需要全面修改请求头的场景,但会增加节点负载,不建议长期使用。
直连模式(Direct)
流量不走代理,但重写规则仍对本地网络生效,适用于仅需去除广告或修改本地API请求,无需国际网络加速的场景。
场景模式(Scene)
根据Wi-Fi/蜂窝网络自动切换规则,支持为不同网络环境绑定特定的重写规则集,适合办公与家庭网络环境差异较大的用户。
实战配置示例
以下是一个针对学术资源访问优化的重写规则配置:
[MITM] hostname = *.scholar.google.com, api.researchgate.net [URL Rewrite] ^https?://scholar\.google\.com url 302 https://scholar.googleusercontent.com ^https?://.*\.researchgate\.com/profile url script-response-body https://raw.githubusercontent.com/example/unlock.js [Header Rewrite] http-request ^https?://api\.researchgate\.net header-replace User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
常见问题排查
现象:开启重写后特定App无法联网
原因:该App启用了SSL Pinning证书锁定,检测到中间人攻击后主动断连。
解决方法:在Shadowrocket的"跳过代理"列表中添加该App的域名,或关闭针对该域名的重写规则。
现象:MITM证书安装后仍显示"证书无效"
原因:iOS系统未完全信任证书,或证书已过期。
解决方法:重新生成证书并安装,确保在"证书信任设置"中开启开关;检查系统时间是否准确。
现象:重写规则时灵时不灵
原因:规则正则表达式写法错误,或与其他规则冲突。
解决方法:使用Shadowrocket内置的"调试模式"查看日志,检查URL匹配是否成功;调整规则顺序,将精确匹配规则置于通用规则上方。
节点与规则协同优化
重写规则的生效质量与节点稳定性密切相关,对于需要频繁修改请求头的跨境办公场景,建议选择支持TLS 1.3的中转节点,降低MITM解密带来的延迟,若主要用于学术资源访问,可搭配支持IPv6的专线节点,配合重写规则中的IPv6优先策略。
高端专线节点通常具备更低的丢包率,能确保重写后的复杂请求(如大文件分片下载)稳定传输,选择节点服务商时,重点关注其是否提供完整的Log日志查询,便于排查重写规则失效问题。
掌握小火箭重写规则的核心配置逻辑后,可显著提升特定网络环境的访问效率,建议定期更新规则文件,并根据实际使用场景灵活切换全局路由模式,实现流量精准管控与网络性能的最优平衡。
