[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-3310":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":36,"readmeContent":37,"aiSummary":38,"trendingCount":16,"starSnapshotCount":16,"syncStatus":39,"lastSyncTime":40,"discoverSource":41},3310,"whistle","avwo\u002Fwhistle","avwo","HTTP, HTTP2, HTTPS, Websocket debugging proxy","https:\u002F\u002Fwproxy.org\u002F",null,"JavaScript",15548,1162,202,65,0,1,4,45,3,77.7,"MIT License",false,"master",true,[27,28,29,30,31,32,33,34,35],"charles","debug","fiddler","hosts","node","nodejs","proxy","web","weinre","2026-06-12 04:00:17","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Favwo.github.io\u002Fwhistle\u002F\">\n    \u003Cimg alt=\"whistle logo\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F11450939\u002F168828068-99e38862-d5fc-42bc-b5ab-6262b2ca27d6.png\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n# whistle\n\n[![NPM version](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fwhistle.svg?style=flat-square)](https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fwhistle)\n[![node version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode.js->=_8-green.svg?style=flat-square)](http:\u002F\u002Fnodejs.org\u002Fdownload\u002F)\n[![npm download](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fwhistle.svg?style=flat-square)](https:\u002F\u002Fnpmjs.org\u002Fpackage\u002Fwhistle)\n[![NPM count](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdt\u002Fwhistle.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fwhistle)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Favwo\u002Fwhistle?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fwhistle)\n\n中文 · [English](.\u002FREADME-en_US.md)\n\nWhistle（发音 \u002Fˈwisəl\u002F）是基于 Node.js 的跨平台网络抓包与调试工具，特点如下：\n1. **功能强大**\n   - 支持 HTTP、HTTPS、HTTP\u002F2、WebSocket、TCP 的抓包与修改请求\u002F响应\n   - 支持 HTTP、HTTPS、Socks、反向代理等多种代理模式\n   - 内置常用调试工具：Weinre（远程 DOM 检查）、Console（查看 console 日志）、Composer（请求重放与编辑）等\n2. **操作简单**\n   - 通过规则配置即可修改请求\u002F响应\n   - 提供一站式管理界面：抓包、规则、插件、Weinre\u002FConsole\u002FComposer 等集中管理\n3. **可扩展**\n   - 支持插件扩展规则与界面功能\n   - 可作为 NPM 模块在项目中引用\n4. **跨平台**\n   - 支持 macOS、Windows、Linux（Ubuntu \u002F Fedora）等桌面系统\n   - 支持无界面 Linux 服务器环境\n\n# 安装（推荐）\n\n桌面用户（macOS\u002FWindows\u002FLinux）推荐使用 Whistle 客户端：https:\u002F\u002Fgithub.com\u002Favwo\u002Fwhistle-client\n\n> 客户端可以免去大部分手动安装与配置步骤\n\n# 无界面 Linux \u002F 服务器 安装（命令行）\n\n按以下 4 步在无界面服务器上快速部署：\n1. 安装 Whistle（推荐使用 npm）\n   - 需要先安装 Node.js：https:\u002F\u002Fnodejs.org\u002F\n   - 安装命令：`npm i -g whistle`\n      > 也支持 Homebrew：`brew install whistle`\n1. 启动 Whistle\n   - 命令：`w2 start`\n2. 安装根证书（用于 HTTPS 抓包）\n   - 命令：`w2 ca`\n   - 安装过程中可能需手动确认：\n      - Windows：最后选择 “是 (Y)” 确认\n      - macOS：可能需要输入开机密码或 Touch ID 验证\n3. 设置代理\n   - 命令：`w2 proxy`\n   - 设置指定 IP: `w2 proxy \"10.x.x.x:8888\"`\n   - 关闭系统代理： `w2 proxy 0`\n\n其它代理方式：\n- 推荐：使用 Chrome 插件 ZeroOmega（便于在浏览器间切换代理）\n  > Chrome 商店地址（若无法访问可手动安装）：https:\u002F\u002Fchromewebstore.google.com\u002Fdetail\u002Fproxy-switchyomega-3-zero\u002Fpfnededegaaopdmhkdmcofjmoldfiped\n- 浏览器或开发者工具自带代理设置（例如 Firefox、微信开发者工具）\n- 对于无法直接设置代理的应用，可使用 Proxifier（Windows \u002F macOS）\n\n# 快速上手\n\n详细使用指南与示例请查看官方文档：https:\u002F\u002Fwproxy.org\u002Fdocs\u002Fgetting-started.html\n\n# 常见命令速查\n- 启动：`w2 start`\n- 停止：`w2 stop`\n- 重启：`w2 restart`\n- 查看状态：`w2 status`\n- 安装证书：`w2 ca`\n- 设置代理：`w2 proxy [host:port]`（`w2 proxy 0` 关闭）\n\n# License\n\n[MIT（详见 LICENSE 文件）](.\u002FLICENSE)\n\n","Whistle 是一个基于 Node.js 的跨平台网络抓包与调试工具。它支持 HTTP、HTTPS、HTTP\u002F2、WebSocket 和 TCP 的抓包与修改请求\u002F响应，同时具备多种代理模式（如 HTTP、HTTPS、Socks 和反向代理）。内置的常用调试工具包括 Weinre（远程 DOM 检查）、Console（查看 console 日志）和 Composer（请求重放与编辑）。通过简单的规则配置即可修改请求\u002F响应，并提供一站式管理界面集中管理各项功能。此外，Whistle 支持插件扩展，可作为 NPM 模块在项目中引用，适用于 macOS、Windows 和 Linux 等多种操作系统。无论是桌面环境还是无界面服务器环境，Whistle 都能轻松部署和使用，特别适合前端开发人员进行网络调试和测试。",2,"2026-06-11 02:53:27","top_language"]