47569bdf
吴启风
feat:支持按需启用 Whist...
|
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
## Android 使用 Whistle 抓包
为了让 Dio 的 HTTPS 请求能够经过 Whistle 解密,Android Debug 包默认允许任意服务器证书,不需要在项目中内置或指定 Whistle Root CA。普通 Release 包仍使用系统默认的严格证书校验。
### 构建方式
Debug 包默认允许 Whistle 抓包:
```bash
flutter build apk --debug
```
构建允许 Whistle 抓包的 Release 包:
```bash
flutter build apk --release --dart-define=ENABLE_WHISTLE_CA=true
```
构建正常生产 Release 包(不允许 Whistle 抓包):
```bash
flutter build apk --release
```
手机通过 Clash Meta 将流量转发到运行 Whistle 的电脑后,即可抓取 Dio 发出的 HTTPS 请求。因为抓包构建不绑定具体 CA,所以更换 Whistle 实例或重新生成 Root CA 后无需修改代码和重新导入证书。
> Debug 包以及带 `ENABLE_WHISTLE_CA=true` 的 Release 包会接受任意 HTTPS 证书,无法抵御中间人攻击。此类 APK 只应在内部测试设备和测试人员之间分发,不能作为正式生产包发布。
|