Mitmproxy
Mitymproxy is a containerized, interactive intercepting proxy for inspecting and modifying web traffic using HTTP/1, HTTP/2, and WebSockets, where HTTP stands…
Platform availability
Available on 3 of 9 platforms
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
84/100 Excellent
- Maintained
- 100last commit 18 days ago
- Popular
- 9345,199 GitHub stars
- Easy to install
- 553 install platforms, install notes, Docker image
- Light to run
- No data
- Security check
- 68no serious findings, 11 minor, CI, tests, OpenSSF Scorecard 6.4/10
Based on 4 of 5 factors.
Availability: platform listings confirmed today, links checked 17 days ago
- GitHub stars
- 45,199
- Open issues
- 497
- Last commit
- 2026-09-27
- Latest release
- v12.2.3
- License
- MIT
- Activity
- declining
Checked 15 days ago - source: GitHub (mitmproxy/mitmproxy)
Resources & Compatibility
ARM (e.g. Raspberry Pi) is supported.
Checked 17 days ago - source: Docker Hub image tags and published docs
First-install notes
- Install mitmproxy first Install the program with `uv tool install mitmproxy` (uv is a Python tool installer; on macOS you can also use Homebrew). Without this, the `mitmweb` and `mitmproxy` commands won’t exist, so you cannot start the proxy. source
- Start the web interface Run `uv run mitmweb` to start mitmproxy with a browser control panel. It usually uses port 8081 for the web page and port 8080 for proxy traffic, so if your firewall blocks those ports, other devices won’t be able to connect. source
- Trust mitmproxy’s certificate On Ubuntu/Debian, put the `mitmproxy-ca-cert.pem` file in `/usr/local/share/ca-certificates/` as `mitmproxy.crt`, then run `sudo update-ca-certificates`. This adds the certificate that tells your computer to trust mitmproxy; without it, HTTPS connections can fail with security warnings. source
Fetched 17 days ago - each note links to its source
Variants
Alternatives (8)
- Burp Suite - Burp Suite is an integrated platform for performing security testing of web applications.
- Charles - Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between th…
- Fiddler - Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet.
- HTTP Debugger - HTTP Debugger captures and decrypts HTTP/HTTPS from any Windows app without proxy setup — HTTP/2, WebSocket, SSE, gRPC and localhost includ…
- HTTP Toolkit - HTTP Toolkit is a beautiful, cross-platform & open-source HTTP(S) debugging proxy, analyzer & client, with built-in support for mod…
- Proxy_debug - A command-line proxy that exposes an iPhone's Safari Web Inspector over the Chrome DevTools protocol, so desktop DevTools can attach to iOS…
- Proxyman - Intercept and debug HTTP/HTTPS and WebSocket traffic on macOS, iOS, Windows, and Linux with advanced tools, filtering, scripting, and autom…
- Zed Attack Proxy (ZAP) - The Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications.
Checked 14 days ago - source: AlternativeTo
Common questions
Can mitmproxy be deployed as a container?
Yes, mitmproxy can be installed via Docker, as well as brew, pip, or WSL.
Which ports does mitmweb use, and what breaks if they are blocked?
It usually uses port 8081 for the web page and port 8080 for proxy traffic. If a firewall blocks those ports, other devices won’t be able to connect.
How do I make Ubuntu or Debian trust mitmproxy’s TLS certificate?
Put the mitmproxy-ca-cert.pem file in /usr/local/share/ca-certificates/ as mitmproxy.crt, then run sudo update-ca-certificates. Without this, HTTPS connections can fail with security warnings.
Which protocols can mitmproxy inspect and modify?
It can intercept, inspect, modify, and replay HTTP/1, HTTP/2, HTTP/3, WebSockets, or other SSL/TLS-protected protocols.
Can I automate traffic behavior with Python addons?
Yes, the Python API lets you write addons with mitmdump to automatically modify messages, redirect traffic, visualize messages, or implement custom commands.
Answers sourced from github.com, github.com, mitmproxy.org, mitmproxy.org
Community
- MITM/Transparent proxy for http/s : r/selfhosted - Reddit (reddit)
- Is there a secure way to have mitmproxy running and accessible ... - Reddit (reddit)
- mitmproxy is a command-line tool for intercepting HTTPS ... - Reddit (reddit)
- Self-hosted FOSS MITM proxy written in Go (forwarder-proxy.io) - Reddit (reddit)
- Mitmproxy 7 released, now with TCP and TLS-over-TLS support. - Reddit (reddit)
- How to Man in the Middle HTTPS Using mitmproxy - Reddit (reddit)
Collected 17 days ago - public community threads