导读:
⚠️ 安全警告:开启HTTPS解密后,小火箭可以读取加密流量内容(包括账号密码等敏感信息),请确保只解密可信域名,并在不需要时及时关闭。
- 设备要求:iOS/iPadOS(需已安装Shadowrocket)
- 系统权限:需要安装并信任自定义CA证书
- 使用场景:建议仅用于调试自己的应用或已知安全的去广告规则
配置步骤(图文指引)
步骤1:生成CA证书
- 打开 Shadowrocket → 点击底部 「配置」
- 点击 「证书」 → 「生成新的CA证书」
- 系统会提示"生成成功",此时证书已创建
步骤2:安装证书到系统
- 在证书页面点击 「安装证书」
- 系统会跳转到Safari并提示下载配置描述文件
- 进入 iOS设置 → 通用 → VPN与设备管理(或"描述文件")
- 找到 Shadowrocket 的证书文件,点击 「安装」
- 输入锁屏密码确认安装
步骤3:信任证书(关键步骤)
- 进入 设置 → 通用 → 关于本机 → 证书信任设置
- 找到 Shadowrocket CA 证书,开启信任开关
- 确认弹出的警告("信任此证书将允许...拦截您的安全网络通信")
步骤4:开启HTTPS解密
- 回到 Shadowrocket → 「配置」 → 「编辑配置」(点击当前配置右侧的"i"图标)
- 找到 「HTTPS解密」(MitM)选项
- 开启开关 「启用MitM」
- 在 「主机名」(Hostname)中添加需要解密的域名(见下文建议)
主机名配置建议
强烈建议不要留空(即不解密所有域名),而是指定特定域名:
推荐配置方式:
*.googlevideo.com, *.youtube.com, *.google.com
常见用途配置:
- 去广告:
*.googlevideo.com, *.googlesyndication.com - 抓包调试:
*.example.com, api.target.com - 重写功能:需要解密的API域名
排除敏感域名(重要):
在 「排除主机名」 中添加:
*.apple.com, *.icloud.com, *.alipay.com, *.wechat.com, *.taobao.com, *bank*, *pay*
配合模块使用(进阶)
HTTPS解密通常需要配合模块(Module)或脚本才能发挥作用:
去广告场景
- 安装去广告模块(如YouTube去广告)
- 模块会自动处理解密后的流量,移除广告节点
重写(Rewrite)功能
在配置中添加:
[MITM]
hostname = *.example.com
[Script]
http-response ^https?://api\.example\.com/v1/user requires-body=1,script-path=https://example.com/script.js
常见问题解决
Q1:某些App无法联网或提示"网络不安全"
原因:该App使用了SSL Pinning(证书固定)技术 解决:将该App的域名加入排除列表,或关闭HTTPS解密
Q2:证书过期怎么办?
- 证书有效期通常为1年
- 到期后重复步骤1重新生成并安装
Q3:iOS 16+ 系统无法信任证书?
- 确保在"设置 → 通用 → 关于本机 → 证书信任设置"中开启
- 部分版本需重启设备生效
Q4:解密后数据乱码?
- 可能是二进制协议(如gRPC/QUIC)
- 尝试切换节点协议或关闭解密
安全最佳实践
- 最小化原则:只解密必要的域名,不要全局解密()
- 敏感操作隔离:进行网银、支付、登录操作时,临时关闭代理或HTTPS解密
- 证书保管:不要分享你的CA证书给他人,否则对方可以伪造你的HTTPS流量
- 定期检查:定期查看"证书信任设置",确认没有不明证书
快速检查清单
- [ ] 已生成CA证书
- [ ] 已在系统设置中安装描述文件
- [ ] 已在"关于本机 → 证书信任设置"中开启信任
- [ ] 已配置具体的主机名(非全局)
- [ ] 已排除银行/支付类域名
- [ ] 测试目标网站/App功能正常
完成以上配置后,Shadowrocket 就可以解密指定的HTTPS流量,配合脚本或模块实现高级功能了。