HTTP, HTTPS, Websocket debugging proxy tool
JavaScript HTML
Latest commit 0b1a67e Jan 16, 2017 @avwo whistle 1.3.0

README.md

whistle logo

whistle

node version build status Test coverage npm download NPM count David deps License

当前whistle的最新版本为v1.3.0,为确保使用whistle所有功能,请及时更新whistle

基于性能及http请求稳定性考虑,建议安装最新版的Node

清空Network的两种方式:双击右上角的Network菜单按钮,或hover到Network菜单按钮点击下拉菜单的X All Sessions

whistle是跨平台的web调试代理工具,功能类似Windows平台上的Fiddler,主要用于查看或修改HTTP、HTTPS、Websocket的请求或响应或作为HTTP代理服务器,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,通过配置规则修改请求响应,并支持规则分组及通过域名、路径、正则、精确匹配(精确匹配需v1.1.2及以上版本才支持,老版本可以用正则实现)四种匹配方式(系统的hosts配置只支持域名匹配),特别针对终端调试提供了weinrelog等功能,且支持通过Node模块扩展功能,具体实现过程请参见whistle帮助文档

安装使用whistle请参见whistle帮助文档

基本功能

基本功能

完整功能请参见whistle帮助文档

配置模式

传统hosts的配置模式:

# 单个host
ip hostname

# 组合host
ip hostname1 hostname2 ... hostnameN

# 例如
127.0.0.1 www.example.com
127.0.0.1 a.example.com b.example.com c.example.com

whistle的配置模式:

# 单个操作
pattern operator-uri
# 如果pattern和operator-uri不同时为域名或路径的一种组合,位置可以调换
operator-uri pattern

# 组合模式
pattern operator-uri1 operator-uri2 ... operator-uriN
# pattern1和operator-uri不同时为域名或路径的一种组合,可以如下配置
operator-uri pattern1 pattern2 ... patternN

其中,pattern可以为:

  1. 域名:www.test.com(所有该域名下的请求都会匹配operator-uri)
  2. 路径:http://www.test.com/xxx(http://www.test.com/xxx及其子路径的请求都会匹配operator-uri),或不加协议protocol://www.test.com/xxx,protocol可以为http、https、ws、wss(http://www.test.com/xxx及其子路径的请求都会匹配operator-uri)
  3. 正则:/^https?:\/\/([^\/]+)\/xxx/(http(s)://host:port/xxx及其子路径的请求都会匹配operator-uri,且在operator-uri中可以通过$1, $2, ..., $9获取url里面的子匹配)
  4. 精确:在原来路径前面加精确匹配符$,即:$url(可以带协议$http://www.test.com/xxx,也可以不带协议$www.test.com)

详细内容请参见配置模式匹配方式

operator-uri由上述基本功能抽象成的形如protocol://ruleValue的URI,whistle会根据匹配到的operator-uri的protocolruleValue修改请求或响应,具体实现过程请参见whistle帮助文档

例如:

# 修改www.example.com的响应cors
www.example.com resCors://*
# 或
resCors://* www.example.com

# 同时修改多个自定域名或路径
resCors://* /example\.com/ a.test.com b.test.com
# 修改www.test.com的带端口host、referer和响应的cors
www.test.com 127.0.0.1:8080 referer://http://www.example.com resCors://*

完整功能参见whistle帮助文档

Network

Network

Rules

Rules

Values

Values

完整功能请参见whistle帮助文档

License

MIT