whistle

Github(欢迎+Star): https://github.com/avwo/whistle

whistle(读音[ˈwɪsəl],拼音[wēisǒu])基于Node实现的跨平台web调试代理工具,类似的工具有Windows平台上的Fiddler,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,且可以通过Node模块扩展功能

基本功能

whistle的所有操作都可以通过类似如下配置方式实现:

  1. pattern operatorURI

其中:

  1. pattern 为匹配请求url的表达式,可以为:域名,路径,正则及通配符等等多种匹配方式:

    1. # 域名匹配
    2. www.example.com
    3. # 带端口的域名
    4. www.example.com:6666
    5. # 带协议的域名,支持:http、https、ws、wss、tunnel
    6. http://www.example.com
    7. # 路径匹配,同样支持带协议、端口
    8. www.example.com/test
    9. https:/www.exapmle.com/test
    10. https:/www.exapmle.com:6666/test
    11. # 正则匹配
    12. /^https?://www\.example\.com\/test/(.*)/ referer://http://www.test.com/$1
    13. # 通配符匹配
    14. ^www.example.com/test/*** referer://http://www.test.com/$1

    完整内容参见:匹配模式

  2. operatorURI 为对应的操作,由操作协议+操作值组成(operatorURI = opProtocol://opValue):

    opProtocol(操作协议), 对应某类操作,如:

    1. # 设置请求服务器IP--host
    2. pattern host://opValue
    3. # 本地替换--file协议
    4. pattern file://opValue

    opValue(操作值), 对应具体操作的参数值,如:

    1. # 设置请求服务器IP--host协议
    2. pattern host://127.0.0.1:6666 # 或 pattern 127.0.0.1:6666
    3. # 本地替换--file协议
    4. pattern file:///User/test/dirOrFile # 或 pattern /User/test/dirOrFile
    5. pattern file://E:\test\dirOrFile # 或 pattern E:\test\dirOrFile

    完整内容参见:操作值

  3. patternoperatorURI 在多数情况下位置可以调换,且支持组合模式,具体参见:配置方式

帮助文档

  1. 安装启动

License

MIT