资源描述
Whistle 是一款基于 Node.js 的跨平台 Web 调试代理工具,功能类似 Fiddler 和 Charles,但更轻量且高度可定制。它支持 HTTP、HTTPS、HTTP2 及 WebSocket 的抓包与修改,提供丰富的规则配置和插件扩展机制。非常适合前端开发、接口调试、性能分析及日常网络问题排查,是开发者提升效率的必备利器。
详细内容
## 工具定位与核心价值
Whistle 是一款国产优秀的跨平台 Web 调试代理工具。其核心价值在于通过简洁的配置规则(类似 hosts 和 PAC),实现对网络请求的拦截、修改、重定向和 Mock,同时提供强大的插件扩展能力,极大地提升了前端开发和接口联调的效率。
## 主要功能列表
- **全面的协议支持**:支持 HTTP、HTTPS、HTTP/2、WebSocket 及 TCP 抓包与修改。
- **灵活的规则配置**:提供类似 hosts 的语法,支持请求拦截、重定向、本地替换、Mock 数据、修改 Header/Cookie 等。
- **丰富的插件生态**:支持通过 npm 安装和开发自定义插件,扩展如性能分析、特定协议解析等高级功能。
- **多端协同调试**:支持移动端抓包、多设备同时调试,以及通过二维码快速配置代理。
- **可视化操作界面**:提供友好的 Web UI,方便查看请求详情、网络瀑布流及进行规则管理。
## 典型使用场景
- **前端本地开发**:将线上请求代理到本地开发服务器,实现本地代码调试线上环境。
- **接口 Mock 与联调**:在后端接口未就绪或出现异常时,拦截请求并返回自定义的 Mock 数据。
- **线上问题排查**:通过修改请求参数、响应结果或注入测试代码,快速定位和复现线上 Bug。
- **性能与网络分析**:模拟弱网环境,分析页面加载瀑布流,优化前端性能。
## 上手步骤或操作要点
1. **安装**:确保已安装 Node.js,通过 npm 全局安装:`npm install -g whistle`。
2. **启动**:在终端运行 `w2 start` 启动服务,默认端口为 8899。
3. **配置代理**:在浏览器或系统中配置 HTTP 代理为 `127.0.0.1:8899`(移动端需配置同局域网下的 IP)。
4. **安装证书**:若需抓取 HTTPS 请求,需在浏览器访问 `rootca.pro` 或代理服务器地址下载并信任根证书。
5. **配置规则**:访问 Web UI(默认 `http://127.0.0.1:8899`),在 Rules 面板中编写调试规则即可生效。