whistle README

The project's README from github.com/avwo/whistle. As one markdown file: README.md.

whistle logo

whistle

NPM version node version npm download NPM count License

中文 · English

Whistle(发音 /ˈwisəl/)是基于 Node.js 的跨平台网络抓包与调试工具,特点如下:

  1. 功能强大
    • 支持 HTTP、HTTPS、HTTP/2、WebSocket、TCP 的抓包与修改请求/响应
    • 支持 HTTP、HTTPS、Socks、反向代理等多种代理模式
    • 内置常用调试工具:Weinre(远程 DOM 检查)、Console(查看 console 日志)、Composer(请求重放与编辑)等
  2. 操作简单
    • 通过规则配置即可修改请求/响应
    • 提供一站式管理界面:抓包、规则、插件、Weinre/Console/Composer 等集中管理
  3. 可扩展
    • 支持插件扩展规则与界面功能
    • 可作为 NPM 模块在项目中引用
  4. 跨平台
    • 支持 macOS、Windows、Linux(Ubuntu / Fedora)等桌面系统
    • 支持无界面 Linux 服务器环境

安装(推荐)

桌面用户(macOS/Windows/Linux)推荐使用 Whistle 客户端:https://github.com/avwo/whistle-client

客户端可以免去大部分手动安装与配置步骤

无界面 Linux / 服务器 安装(命令行)

按以下 4 步在无界面服务器上快速部署:

  1. 安装 Whistle(推荐使用 npm)
    • 需要先安装 Node.js:https://nodejs.org/
    • 安装命令:npm i -g whistle

      也支持 Homebrew:brew install whistle

  2. 启动 Whistle
    • 命令:w2 start
  3. 安装根证书(用于 HTTPS 抓包)
    • 命令:w2 ca
    • 安装过程中可能需手动确认:
      • Windows:最后选择 “是 (Y)” 确认
      • macOS:可能需要输入开机密码或 Touch ID 验证
  4. 设置代理
    • 命令:w2 proxy
    • 设置指定 IP: w2 proxy "10.x.x.x:8888"
    • 关闭系统代理: w2 proxy 0

其它代理方式:

快速上手

详细使用指南与示例请查看官方文档:https://wproxy.org/docs/getting-started.html

常见命令速查

License

MIT(详见 LICENSE 文件)

whistle (avwo/whistle)

Searching Database…

15.7K ·GitHub
Что это такое?Whistle — это кроссплатформенный веб-прокси для отладки, построенный на Node.js. Он перехватывает и позволяет изменять трафик HTTP, HTTPS, HTTP/2, WebSocket и TCP — из той же ниши, что Charles или Fiddler (оба входят в темы проекта на GitHub).
Это десктопное приложение или то, что запускают из терминала?И то и другое: на macOS, Windows и Linux есть клиент Whistle, который избавляет от большей части ручной настройки, а на серверах всё управляется командами w2 — и в обоих случаях перехват, правила и плагины настраиваются в одном встроенном интерфейсе.
Как его запустить?Четыре шага: npm i -g whistle (или brew install whistle), w2 start для запуска, w2 ca для установки корневого HTTPS-сертификата и w2 proxy, чтобы направить трафик на него (w2 proxy 0 отключает системный прокси). Пользователям десктопной версии большинство этих шагов пропускается благодаря клиенту Whistle.
Нужно ли что-то предустановленное, чтобы он заработал?Node.js — whistle распространяется как npm-пакет, и в его конфигурации указан Node 14 или новее. На macOS альтернативный способ установки — Homebrew.
Какая часть настройки самая хлопотная?Перехват HTTPS: нужно установить корневой сертификат whistle (w2 ca), и система проведёт вас через это вручную — на Windows нужно выбрать «Да», а macOS может запросить пароль учётной записи или Touch ID.
На каких системах он работает?macOS, Windows и Linux, причём отдельно упомянуты Ubuntu и Fedora; ничто не привязывает его к какой-то одной операционной системе.
Он запустится на сервере без графического интерфейса или ему нужен десктоп?Да — работа на Linux-серверах без графики явно поддерживается; описанный выше вариант установки через командную строку создан именно для таких машин.
Что он умеет, кроме пассивного перехвата трафика?Многое: можно переписывать запросы и ответы через правила, повторять и редактировать запросы во встроенном Composer, смотреть DOM удалённой страницы через Weinre и видеть вывод консоли страницы — и всё это в том же интерфейсе.
А если я не могу или не хочу настраивать системный прокси?Whistle также работает как HTTP-, HTTPS-, Socks- или обратный прокси. В README рекомендуется расширение ZeroOmega для Chrome, чтобы переключать прокси между браузерами, и Proxifier — для приложений, у которых нет собственных настроек прокси.
Могу ли я расширять его или встроить в свой проект?Да — плагины расширяют и правила, и интерфейс, а сам whistle можно подключить в проект и использовать как NPM-модуль.
Creator
avwo
Size
101.4 MB
Stars
15.7K
Updated
CommitOct 11
Age
11y
Commits · 90 Days