इस प्रोजेक्ट के बारे में

概述 Whistle(发音 /ˈwisəl/)是一个基于 Node.js 的跨平台网络抓包和调试代理,以 npm 包的形式发布,并遵循 MIT 许可证。它支持 Node.js 版本 >= 8,并提供了一个集中的管理界面来处理抓包、规则、插件以及调试工具。该工具支持多种协议,包括 HTTP、HTTPS、HTTP/2、WebSocket 和 TCP,并允许用户修改请求和响应内容。 主要功能 - 抓包与改写:支持对 HTTP、HTTPS、HTTP/2、WebSocket 和 TCP 流量进行抓包,并提供修改请求和响应内容的机制。 - 代理模式:支持 HTTP、HTTPS、Socks 以及反向代理等多种代理模式。 - 内置调试工具:包括 Weinre(远程 DOM 检查)、Console(查看 console 日志)和 Composer(请求重放与编辑)。 - 规则配置:允许通过规则配置来修改请求和响应。 - 一站式管理界面:将抓包、规则、插件以及调试工具集中在一个界面中进行管理。 - 可扩展:支持以插件方式扩展规则和界面功能,也可以作为 NPM 模块在项目中引用。 - 跨平台:支持 macOS、Windows、Linux(Ubuntu / Fedora)等桌面系统,以及无界面的 Linux 服务器环境。 安装与上手 - 桌面用户推荐使用 Whistle 客户端(avwo/whistle-client),它可以帮助省去大部分手动安装和配置步骤。 - 对于无界面 Linux 或服务器环境,用户需要先安装 Node.js,然后执行 npm i -g whistle。也可以通过 Homebrew 安装(brew install whistle)。 - 启动命令为 w2 start。为了进行 HTTPS 抓包,用户需要安装根证书(w2 ca),这可能需要手动确认或输入密码。设置代理的命令是 w2 proxy,也可以指定地址,例如 w2 proxy "10.x.x.x:8888",或者使用 w2 proxy 0 关闭系统代理。 - 其他代理方式包括使用 Chrome 插件 ZeroOmega、浏览器或开发者工具自带的代理设置,以及对无法直接设置代理的应用使用 Proxifier。 常用命令 - start:启动 Whistle。 - stop:停止 Whistle。 - restart:重启 Whistle。 - status:查看 Whistle 的状态。 - ca:安装根证书。 - proxy [host:port]:设置代理,使用 proxy 0 关闭代理。 文档与许可 详细的使用指南和示例可以在官方文档 https://wproxy.org/docs/getting-started.html 找到。该项目采用 MIT 许可证,详情请参阅 LICENSE 文件。