Skip to content
Projects

avwo/whistle has 15,764 GitHub stars and 1,196 forks. GitHot measured -2 stars in 24 hours and +2 in 7 days. Last checked 2026-11-06 17:34 UTC. Last push 2026-10-27.

How these counts are measured

HTTP, HTTP2, HTTPS, Websocket debugging proxy

Measured star growth

in 24h
-2
in 7 days
+2
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README-en_US.md

Original

whistle logo

whistle

NPM version node version npm download NPM count License

中文 · English

Whistle (pronounced /ˈwisəl/) is a cross-platform network debugging and proxy tool built on Node.js. It provides powerful packet capture, request/response inspection and modification, a rule-based modification engine, and extensibility through plugins.

Key features:

  1. Powerful
    • Capture and modify HTTP, HTTPS, HTTP/2, WebSocket, and TCP traffic
    • Supports HTTP, HTTPS, Socks and reverse proxy modes
    • Built-in tools: Weinre (remote DOM inspection), Console (console logs), Composer (request replay/editing), etc.
  2. Easy to use
    • Rule-based request/response modification
    • Unified UI for captures, rules, plugins, Weinre/Console/Composer and more
  3. Extensible
    • SPlugin support for extending rules and UI
    • Can be used as an NPM module in projects
  4. Cross-platform
    • Supports macOS, Windows, Linux (Ubuntu/Fedora) desktop systems
    • Supports headless Linux server environments

Installation (recommended)

Desktop users (macOS/Windows/Linux) should use the Whistle client: https://github.com/avwo/whistle-client

The client skips manual installation and configuration steps

Headless Linux / Server Install (CLI)

Follow these 4 steps to deploy Whistle on a headless server:

  1. Install Whistle (recommended via npm)
    • Install Node.js first: https://nodejs.org/
    • Install: npm i -g whistle

      Alternatively via Homebrew: brew install whistle

  2. Start Whistle
    • Command: w2 start
  3. Install CA certificate (required for HTTPS capture)
    • Command: w2 ca
    • Manual confirmation may be required:
      • Windows: confirm with “Yes (Y)”
      • macOS: may require entering password or Touch ID
  4. Configure proxy
    • Command: w2 proxy
    • Specify host:port: w2 proxy "10.x.x.x:8888"
    • Disable system proxy: w2 proxy 0

Other proxy options:

Quick Start

See the official guide for usage and examples: https://wproxy.org/docs/getting-started.html

Common Commands

  • Start: w2 start
  • Stop: w2 stop
  • Restart: w2 restart
  • Status: w2 status
  • Install CA: w2 ca
  • Set proxy: w2 proxy [host:port] (use w2 proxy 0 to disable)

License

MIT — see the LICENSE file

Explore related projects