About this project

Overview Whistle (pronounced /ˈwisəl/) is a cross-platform network packet capture and debugging tool built on Node.js. It is distributed as an npm package under the MIT license, with the README specifying support for Node.js versions >= 8. Key Features - Packet Capture and Rewriting: Supports capturing HTTP, HTTPS, HTTP/2, WebSocket, and TCP packets, with the ability to modify request and response content. - Proxy Modes: Offers HTTP, HTTPS, Socks, and reverse proxy modes. - Built-in Debugging Tools: Includes Weinre (remote DOM inspection), Console (viewing console logs), and Composer (request replay and editing). - Rule Configuration: Allows modification of requests/responses via rule configuration. - Unified Management Interface: Centralizes packet capture, rules, plugins, and Weinre/Console/Composer management in one interface. - Extensibility: Supports extending rules and interface functionality via plugins, and can be used as an NPM module in projects. - Cross-platform Support: Runs on macOS, Windows, Linux (Ubuntu/Fedora) desktops, and headless Linux server environments. Installation and Getting Started - Desktop users are recommended to use the Whistle client (avwo/whistle-client) to simplify installation and configuration. - For headless Linux/servers: Install Node.js, then run npm i -g whistle; alternatively, install via Homebrew (brew install whistle). - Start the service: w2 start. - Install the root certificate (for HTTPS capture): w2 ca. This may require manual confirmation, such as selecting “Yes (Y)” on Windows or entering a password/Touch ID on macOS. - Set up proxy: w2 proxy; specify an address with w2 proxy "10.x.x.x:8888", or disable system proxy with w2 proxy 0. - Other proxy methods: Use the ZeroOmega Chrome extension for easy browser switching, or configure proxy settings in browsers/developer tools (e.g., Firefox, WeChat Developer Tools). For apps without direct proxy support, use Proxifier (Windows/macOS). Common Commands start, stop, restart, status, ca, proxy [host:port] (proxy 0 to disable). Documentation and License Detailed usage guides and examples are available in the official documentation at https://wproxy.org/docs/getting-started.html. The project is licensed under MIT, as detailed in the LICENSE file.