如何忽略所有与 mitmproxy 的 websocket 连接?

How to ignore all websocket connections with mitmproxy?

目前,mitmproxy 似乎无法处理 websocket 连接。

我怎样才能传递这些以便客户端仍然可以连接到 websocket 服务器?

这是我当前的命令:

具体来说,就我而言,我 目前 喜欢使用我的代理的客户能够在 agar.io 上玩游戏,它使用 websocket 连接进行通信有一个(为了我们的目的,随机)托管游戏的服务器。

agar.io 连接到的 game-hosting 服务器示例:ws://151.80.96.51:1515, ws:/ /37.187.171.110:1523, ws://37.187.163.130:1518.

我已经尝试 使用 mitmproxy 的 Ignore Domains feature (both from the command line and from within the program), as well as their recommended TCP Proxy 功能。这是我尝试使用的模式:

但这只会阻止 agar.io 加载(灰色背景,正确的文档标题,仅此而已)。

我认为因为客户端正在连接到不同的服务器(不是ws://agar.io)我不能使用简单的域忽略,但我可能是错误的。


虽然目前我只对 agar.io 感兴趣,但如果能有一个适用于所有 websocket 服务器的解决方案就好了。

所以,简而言之,我怎样才能让客户端连接到 ws 服务器?

如果您使用的是 mitmproxy 0.15+,传递 --raw-tcp 应该可以完成这项工作。这会将所有非 HTTP 流量自动置于 TCP 模式。