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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.