mitmproxy
mitmproxy 12.2 is an open-source proxy toolkit for HTTP/1, HTTP/2, WebSocket and TLS inspection, with an interactive terminal, web interface and non-interactive command-line mode.
What mitmproxy provides
mitmproxy is a debugging proxy for inspecting and modifying HTTP, HTTP/2, WebSocket and TLS flows in controlled test environments. The terminal client, mitmweb and mitmdump share the proxy core but suit different workflows.
Certificates and traffic boundaries
HTTPS inspection requires the test client to use the proxy and trust the generated root certificate. Certificate pinning, custom trust stores and applications that ignore system proxy settings create separate compatibility boundaries, so test builds and accounts should be isolated.
Maintenance note
This page reviews mitmproxy 12.2 for Windows, macOS, Linux, WSL and Docker, including mitmweb, mitmdump, Python add-ons, proxy certificates and sensitive-flow handling. Content review date: 2026-08-23.
Save to your cloud drive
Open the cloud drive to get the file directly, or save it for convenient access on another device.
Quark Cloud Drive
RecommendedSave mitmproxy to this cloud drive
Baidu Netdisk
Save mitmproxy to this cloud drive
mitmproxy 12.2 first HTTPS debugging guide
Install the matching client, configure a local proxy, trust a temporary certificate in a test profile, and inspect one harmless HTTPS request.
Before you start
- Use only devices, accounts and interfaces that belong to the test environment or are explicitly approved for debugging.
- Record the current HTTP and HTTPS proxy settings and prepare a browser profile with no sensitive data.
- Choose mitmproxy, mitmweb, mitmdump, a Python environment or Docker before installing multiple versions.
Installation steps
- 01
Install a supported package
Use the platform package or standalone binary, and use an isolated Python environment for add-ons so PATH and dependency versions stay clear.
- 02
Start the appropriate frontend
Launch mitmproxy for an interactive terminal, mitmweb for a local browser interface or mitmdump for scripted output, then note the listening address.
- 03
Configure a test client and certificate
Point the test browser or device to the proxy, install the temporary CA only in that profile, and confirm one harmless HTTPS request is visible.
Quick start
- 01
Inspect request and response fields
Review method, URL, status, headers and body in a test flow, keeping sensitive values out of saved captures.
- 02
Add one small filter or add-on
Start with a narrow filter or a short Python add-on, run it against the test flow, and keep the rule in a versioned project directory.
- 03
Restore the original proxy state
Stop the proxy, remove the temporary certificate and restore system or browser proxy settings after the test finishes.
Usage tips
- A trusted debugging CA can expose every flow from that client; keep it in a disposable test profile and remove it after the session.
- Certificate pinning and custom trust stores should be handled in approved test builds, not by changing a production client.
- Captures can contain tokens, cookies and personal data. Redact them before saving, sharing or sending to an issue tracker.
Troubleshooting and uninstall
Why is no HTTPS flow visible?
Check the client proxy address, listening port, network path and certificate trust in the active test profile, then try a simple HTTP request to separate routing from TLS issues.
Why does one application bypass the proxy?
Confirm whether it uses its own proxy settings, a custom certificate store or certificate pinning, and reproduce with a controlled debug build rather than changing a production installation.
- Stop the proxy and remove trustStop mitmproxy, remove the temporary CA from the test profile and restore the original proxy configuration.
- Remove the package and capturesUninstall the package or remove the isolated environment, then delete captures and logs after confirming that required redacted evidence is retained.
Frequently asked questions
What is the difference between mitmproxy, mitmweb and mitmdump?
mitmproxy provides an interactive terminal, mitmweb provides a local web interface and mitmdump is intended for scripted non-interactive output.
Why does a certificate not reveal every HTTPS response?
The client must use the proxy and trust its CA. Certificate pinning, custom trust stores and applications that bypass the system proxy can prevent inspection.
Does mitmproxy automatically check for updates?
The tool generally does not actively check for updates. Review releases and bundled dependencies periodically instead of leaving an old binary in long-term use.