返回服务列表

Whistle

Whistle 是跨平台的网络调试代理,支持 HTTP、HTTPS、HTTP/2、WebSocket 等协议的抓包,并能通过规则修改请求和响应。它提供桌面客户端和命令行两种版本。

查看 Whistle 的替代品
贡献者:
einverne
建议修改
最近评价

替代服务

官网预览

技术栈

仅查看
该服务尚未添加技术栈标签
💡 提示: 登录后可以建议添加或修改技术栈标签

Whistle 是一款跨平台的网络调试代理工具,用来抓取、查看和修改网络流量。官网把它的特点概括为:功能强大、操作简单、可扩展、跨平台。

主要功能

  • 多协议代理:支持 HTTP、HTTPS、SOCKS 和反向代理,能拦截并修改主流网络协议的流量。
  • 规则配置:通过配置规则来修改请求和响应。规则类型包括:
    • 映射本地文件和映射远程地址
    • DNS 欺骗(host)和上游代理转发
    • 重写请求和响应的头、Cookie、Body
    • 注入 HTML、CSS、JS
    • 限速与延迟
  • 一站式界面:Web 界面集中了抓包查看(Network)、规则配置(Rules)、Values、插件管理、请求构造(Composer)和 HTTPS 证书设置等功能。
  • 内置调试工具:内置 Weinre 等调试工具,以及 Console/Log 功能。
  • 插件扩展:可以通过插件扩展功能,也可以作为 NPM 模块集成到其他项目中。
  • 移动端调试:官网文档提供移动设备的代理设置说明。

目标用户与场景

主要面向前端和客户端开发者、测试工程师和后端开发者。他们需要查看接口请求、模拟线上数据、改写响应内容、把线上资源指向本地文件,或调试手机 App 与 H5 页面。

安装与部署

官网提供两种安装方式:

  1. 桌面版:适用于 macOS、Windows 和带图形界面的 Linux(如 Ubuntu、Fedora)。官方推荐使用 Whistle 客户端(项目 avwo/whistle-client)。
  2. 命令行版:适用于无图形界面的 Linux 服务器、Docker 容器、嵌入式系统和 IoT 设备等(项目 avwo/whistle)。命令行版基于 Node.js,通常通过 npm 全局安装后启动。具体步骤以 GitHub 仓库的 README 为准。

值得注意的特点

  • 以规则驱动,配置灵活。规则语法有一定学习成本,但可以精确控制流量。
  • 桌面版和命令行版并存,既能本地调试,也能部署在服务器上供团队使用。
  • 项目托管在 GitHub 上,官网提供中英文文档。