插件扩展:让 httpCanary 超越抓包器
插件机制
httpCanary 的插件是基于注入器能力构建的——每个插件本质上就是一组预设好的静态注入规则,开箱即用。插件让 httpCanary 从纯开发者工具扩展到更多实用场景。
插件分类
- 内置插件:随应用预装的常用插件,免费版和高级版可用的数量不同
- 注入器插件:用户自己创建的注入规则,可以导出分享给他人
内置插件一览
httpCanary 官方提供的内置插件包括:
| 插件名称 | 功能 | 说明 |
|---|---|---|
| 视频自动下载 | 自动捕获视频流链接 | 捕获 m3u8/mp4 等格式的视频请求,提取下载地址 |
| 微信定位漂移 | 修改微信上报的 GPS 坐标 | 模拟不同地理位置 |
| 请求自动屏蔽 | 自动拦截指定类型请求 | 比如屏蔽所有 analytics 统计请求 |
| 响应自动修改 | 预设常用的响应修改规则 | 快速配置不需要手动一步步改 |
| WebSocket 消息过滤 | 过滤 WebSocket 聊天消息 | 只显示关注的消息类型 |
免费版可以使用部分基础插件,高级版解锁全部。
视频自动下载插件
这是用户使用最多的插件之一。它的原理很简单:
- 监控所有 HTTP 请求
- 匹配 URL 中包含
.m3u8、.mp4、.flv等视频格式的请求 - 提取完整的下载链接
- 保存到本地存储
使用步骤
- 设置 → 插件 → 找到「视频自动下载」并开启
- 配置下载目录(默认
HttpCanary/videos/) - 在 App 或浏览器中播放视频
- httpCanary 自动捕获视频流地址并下载
支持的视频源
插件基于 URL 匹配,所以理论上所有以直接文件链接(.mp4/.m3u8 等)形式提供的视频源都能捕获。对于需要额外签名的防盗链视频,URL 本身可能带有时效性参数——下载要尽快,过期后链接就失效了。
注意事项
- 部分视频源使用 CDN 分片——一个视频可能被切成几十上百个小分片(.ts 文件),插件会分别捕获每个分片,需要手动合并
- m3u8 是播放列表——.m3u8 文件本身不是视频,里面记录了真正的视频分片地址
- 建议在 WiFi 环境下使用——自动下载可能消耗大量流量
微信定位漂移插件
这个插件利用静态注入修改微信上报的地理位置数据:
- 插件会拦截微信发往腾讯服务器的位置上报请求
- 把 GPS 坐标字段修改成预设的目标坐标
- 微信后端收到的就是你伪造的位置信息
使用场景
- 打卡、签到时模拟不同地理位置
- 测试 App 在不同地理围栏触发时的行为(开发/测试场景)
- 地理位置相关的功能测试
注意事项
- 部分新版微信有更强的反作弊检测,单靠注入可能不够
- 配合 VirtualApp 或太极等框架使用效果更好
- 这个功能在某些地区或场景下可能有合规风险,使用前请了解当地法律法规
插件的导入与导出
用户自己创建的注入器(静态注入规则)可以导出为 .hcplugin 格式文件,分享给其他人。对方在 httpCanary 中导入后就能直接使用你的规则。
这让社区可以共享各种实用的注入规则——比如绕过某个特定 App 的限制、自动修改某个 API 的响应等。
自定义插件开发
httpCanary 官方提供了插件开发的接口规范——本质上就是用 JSON 格式定义注入规则。高级用户可以根据自己的需求编写定制化插件。
插件安全提示
- 只从可信来源导入插件——恶意插件可能修改所有流量的 Header 盗取你的 Cookie 和 Token
- 导入前可以用文本编辑器打开
.hcplugin文件,看看里面定义了什么规则 - 如果某个第三方 App 提示登录失效或数据异常,先排查是不是导入的插件在修改你的请求