Whistle is a cross-platform network packet capture and debugging proxy built on Node.js.
Whistle addresses the need to inspect, modify, and debug HTTP, HTTPS, HTTP/2, WebSocket, and TCP traffic during development. It works by intercepting network requests through configurable proxy rules that allow developers to modify requests and responses without changing application code. The tool provides multiple proxy modes including HTTP, HTTPS, SOCKS, and reverse proxy configurations. Built-in debugging utilities include Weinre for remote DOM inspection, a console viewer for application logs, and a Composer tool for replaying and editing requests.
Developers should choose Whistle if they need a unified interface for packet capture and request manipulation across macOS, Windows, and Linux. It suits projects requiring HTTPS interception, WebSocket debugging, or complex request modification workflows. The tool offers both a desktop client for graphical interaction and a command-line interface for headless server environments. Whistle supports plugin-based extension of both rules and interface functionality, and can be integrated into projects as an NPM module rather than used only as a standalone tool.
The project maintains active development with regular updates to core functionality. The codebase shows consistent refinement of existing features and expansion of debugging capabilities. Documentation is comprehensive with detailed guides and examples provided. The tool has established itself as a mature solution with broad platform support and multiple installation methods including package managers.