avwo / whistle

HTTP, HTTP2, HTTPS, Websocket debugging proxy
https://wproxy.org/
MIT License
14k stars 1.08k forks source link

如何将代理匹配到的 rule 信息返回给请求方 #1046

Closed asyncguo closed 3 months ago

asyncguo commented 3 months ago

举个例子:

127.0.0.1:8080 www.test.com  reqHeaders://{"test-req-header:"admin"}
  1. 如何将实际地址127.0.0.1:8080返回给请求方
  2. 如何将自定义添加的请求头 reqHeaders 返回给请求方

目前想法:是不是可以通过响应头 resHeaders 的方式返回给请求方,可以的话,如何获取匹配到 rulereqHeaders

avwo commented 3 months ago

https://wproxy.org/whistle/rules/resHeaders.html

 www.test.com  127.0.0.1:8080 resHeaders://test-req-header=admin
asyncguo commented 3 months ago

https://wproxy.org/whistle/rules/resHeaders.html

 www.test.com  127.0.0.1:8080 resHeaders://test-req-header=admin

可以实现自动返回给请求方吗,否则 reqHeadersresHeaders 都要写一遍,或者说有其他方案吗

avwo commented 3 months ago

这部分数据返回给客户端做什么?

asyncguo commented 3 months ago

这部分数据返回给客户端做什么?

背景: 1)有时候开发阶段会有多个项目并行研发或者测试,有些项目的代理还会穿插使用,whistle的控制台页面显示会比较乱 2)在多个项目测试阶段,有些测试同学的配置比较紊乱(可能不太熟悉或者怎样),测试时不太清楚项目走的什么代理,或者莫名其妙会走到不同的代理上,研发同学帮忙排查问题时,还要梳理 whistle 规则信息等操作

最初的想法:是不是可以直接在客户端页面就能显示出每个项目对应的代理信息,也就不用来回在 whistle 控制台查看具体对应的规则了,排查问题也可以直接在客户端上就能找到代理根源

avwo commented 3 months ago

重新安装 Whistle 并重启 w2 restart,新版新增 www.test.com enable://requestWithMatchedRuleswww.test.com enable://responseWithMatchedRules 支持在请求头或响应头带上当前匹配的规则