The BrowserUp MITM Proxy allows you to capture HTTP requests, responses and content, and export performance data as a HAR file.
The proxy is a fork of the amazing mitmproxy, with an added performance testing, QA and DevOps flavor.
Along with the standard mitmproxy features, the BrowserUp MITM Proxy adds a REST control API and native language clients in Java, JavaScript, Python and Ruby. It allows HAR capture (websockets and HTTP/2 too), and provides the ability to verify (assert) about network traffic.
BrowserUp MITM Proxy is especially useful when used with Playwright, Cypress or Selenium tests.
The REST API is documented here
Getting started:
Clone our fork:
git clone https://github.com/browserup/mitmproxy.git
Follow the mitmproxy certificate setup instructions
Run one of our examples in clients/examples
The executable for the BrowserUp Proxy, is browserup-proxy, so use that instead of mitmdump.
The standard mitmproxy executables, like mitmweb are also shipped, and should work as normal.
BrowserUp is a code contributor to the upstream project, and we hope to continue to support them with code contributions where possible.
The main changes for our fork are in the folders below/
mitmproxy/addons/browserup/
test/mitmproxy/addons/browserup
clients/
The standard MITMProxy documentation follows below.
mitmproxy
is an interactive, SSL/TLS-capable intercepting proxy with a console
interface for HTTP/1, HTTP/2, and WebSockets.
mitmdump
is the command-line version of mitmproxy. Think tcpdump for HTTP.
mitmweb
is a web-based interface for mitmproxy.
The installation instructions are here. If you want to install from source, see CONTRIBUTING.md.
General information, tutorials, and precompiled binaries can be found on the mitmproxy website.
The documentation for mitmproxy is available on our website:
If you have questions on how to use mitmproxy, please use GitHub Discussions!
As an open source project, mitmproxy welcomes contributions of all forms.
Also, please feel free to join our developer Slack!