是否可以在运行时启用 mitm 脚本?

Is it possible to enable mitm script at runtime?

我有一个关于 mitmproxy (mitmdump) 的问题。

我需要的是在运行时更改 mitmproxy 配置。 我有一些脚本,比方说:

scripts/
  test-case-1.py
  test-case-2.py

我需要在 mitmdump 为 运行 时加载(或卸载)适当的脚本。 不幸的是,运行 mitmdump -s /scripts/test-case-1.py returns

/scripts # mitmdump -s ./test-case-1.py 
Error starting proxy server: OSError(98, 'Address in use')

是否可以通过某种方式调用 mitmdump 来附加适当的脚本?

感谢您的支持!

在 Python 级别的插件(和脚本通常包含 Mitm 插件)可以在 运行 时添加和删除。但是 AFAIK 在 mitmdump 中没有这样做的接口(不确定 mitmproxy/mitmweb)。

一种可能性是基于 ASGI-Flask example addon 构建一个插件。它提供了一个可以通过 Mitmproxy 访问的虚拟主机,如果该服务器上的特定路径如 example.com/enableaddon1,您可以启用或禁用第二个插件。 或者,您可以简单地更改一个全局变量,使您的第二个加载项的行为有所不同。

这需要一些 Python 编程,但它为您提供了很大的灵活性。