GitBook:http://wproxy.org/whistle/
GitHub:https://github.com/avwo/whistle
一、简介
whistle(读音[ˈwɪsəl],拼音[wēisǒu]) 基于Node实现的跨平台web调试代理工具
二、使用
1、安装启动
- 安装node
安装完node后,执行下面命令,查看当前node版本,确认安装成功
node -v
- 安装whistle
node安装成功后,执行如下npm命令安装whistle (Mac或Linux的非root用户需要在命令行前面
加 sudo ,如:sudo npm install -g whistle
)
npm install -g whistle
- 执行命令 whistle help 或 w2 help ,查看whistle的帮助信息,检查whistle是否安装成功
w2 help
- 启动whistle
w2 start
安装成功后,打开 Whistle 管理界面 http://local.whistlejs.com
- 配置代理(以Chrome代理插件SwitchyOmega为例)
- 代理服务器:127.0.0.1 (如果部署在远程服务器或虚拟机上,改成对应服务器或虚拟机的ip即可)
- 默认端口:8899 (如果端口被占用,可以在启动时通过 -p 来指定新的端口,更多信息可以通过执行命令行 w2 help 查看)
- 安装根证书
在 http://local.whistlejs.com/点击工具条的https弹出下载证书的弹窗,下载并安装证书
2、配置规则
Rules写法:
pattern operatorURI
// 匹配模式 操作uri
默认是将匹配模式写在左边,操作uri写在右边
whistle的匹配模式(pattern)大体可以分成五种: 域名、路径、正则、精确匹配、通配符匹配
详情请看:https://wproxy.org/whistle/pattern.html
# 设置 Hosts
# /host=([\w.:-]+)/ host://$1
# 把常规域名请求转发到本地服务器
my.yun.com localhost:9527
# qq.com 127.0.0.1
# 修改请求 Cookie
my.yun.com reqCookies://loginType=2
# 注入
my.yun.com jsPrepend://{test.js}
my.yun.com cssPrepend://{test.css}
# 查看 JS 报错及页面 console.log
my.yun.com log://
# 请求替换
http://my.wpyun.com https://www.baidu.com
# 替换本地目录或文件
https://www.qq.com file://C:\Users\Administrator\Desktop\baidu.html
三、whistle常用命令
- 正常启动
w2 start
w2 start -p [指定端口] # 例如:w2 start -p 9988
- 停止
w2 stop
- 重启
w2 restart
- 调试模式启动
w2 run
- 查看本机运行的 whistle 实例
w2 status
- 设置本机默认 Whistle 实例的代理
w2 proxy
- 关闭代理
w2 proxy off