इस प्रोजेक्ट के बारे में
概述
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 文件。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.