mitmproxy
An interactive, SSL/TLS-capable intercepting proxy for HTTP/1, HTTP/2, and WebSockets.
What it is and what it does
mitmproxy is a mature, actively maintained intercepting proxy designed to capture, inspect, and modify HTTP/1, HTTP/2, and WebSocket traffic in real time. It provides three interfaces—an interactive console (mitmproxy), a command-line tool (mitmdump), and a web UI (mitmweb)—making it accessible for different workflows. The package handles SSL/TLS interception, allowing you to see encrypted traffic contents, and supports scripting and modification of requests and responses on the fly.
The package depends on a substantial set of runtime libraries covering cryptography (cryptography, pyOpenSSL, argon2-cffi, bcrypt), HTTP protocol support (h2, h11, hyperframe, wsproto, aioquic), data handling (msgpack, ruamel.yaml, zstandard), and UI rendering (urwid for console, flask for web). It is classified as Production/Stable and supports Python 3.12, 3.13, and 3.14, with no known security vulnerabilities as of the fact sheet date.
Use it for:
- Debug and inspect HTTP/HTTPS requests and responses from web applications during development and testing.
- Intercept and modify API traffic to test error handling, edge cases, or inject test data without changing client code.
- Monitor and analyze WebSocket traffic for real-time communication protocols in web applications.
- Perform security testing by observing encrypted TLS traffic and validating certificate handling.
- Automate traffic manipulation via scripts to simulate network conditions or third-party service responses.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
mitmproxy is an interactive, SSL/TLS-capable intercepting proxy that captures and inspects HTTP/1, HTTP/2, and WebSocket traffic with console, command-line, or web-based interfaces.
Yes. mitmproxy is a well-established, actively maintained tool with no known vulnerabilities, low install friction, and a permissive MIT license. It is suitable for developers, QA engineers, and security professionals who need to inspect or modify HTTP(S) and WebSocket traffic. Install it if you need interactive traffic inspection, debugging, or testing capabilities.
Install
mitmproxy on PyPI
pip
pip install mitmproxyuv
uv add mitmproxypoetry
poetry add mitmproxyInstalling mitmproxy
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent commit on 2026-08-13 and 44699 repository stars. Requires Python 3.12 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install mitmproxy
mitmproxy # Start interactive proxy console
# or: mitmdump # Command-line mode
# or: mitmweb # Web-based interface
Requires Python 3.12 or later; system may need elevated privileges to intercept network traffic depending on OS and network configuration.
Verify before relying
- Specific platform support details beyond the listed classifiers (macOS, Windows, POSIX).
- Whether mitmproxy-rs is a compiled extension and what its build requirements are.
- Performance characteristics or throughput limits for high-volume traffic inspection.
Package facts
| License | Copyright (c) 2013, Aldo Cortesi. All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.12) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 27 — aioquic, argon2-cffi, asgiref, bcrypt, Brotli, certifi, cryptography, flask, h11, h2, hyperframe, kaitaistruct, ldap3, mitmproxy-rs, msgpack, pyOpenSSL, pyparsing, pyperclip, ruamel.yaml, sortedcontainers, tornado, urwid, wsproto, publicsuffix2, zstandard, typing-extensions, pydivert |
| Maintenance | actively maintained — 94 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,250,329/month — #1,946 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mitmproxy-12.2.3-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
authcaptureproxyIntercepts and logs authentication credentials…
permissive · top 15,000 on PyPI
mitmproxy-windowsProvides Windows-specific traffic redirection…
copyleft · top 15,000 on PyPI
mitmproxy-macosProvides macOS-specific helper applications and…
permissive · top 15,000 on PyPI
pproxypproxy is an asynchronous proxy server that…
permissive · top 15,000 on PyPI
websockifyTranslates WebSocket connections to normal TCP…
copyleft · top 15,000 on PyPI
mitmproxy-wireguardImplements a user-space WireGuard server that…
permissive · top 5,000 on PyPI
hass-web-proxy-libProvides base classes and utilities for Home…
permissive · top 15,000 on PyPI
proxy-protocolParses and handles the PROXY protocol (v1 and…
permissive · top 5,000 on PyPI
proxy.pyA lightweight, pluggable HTTP proxy server…
permissive · top 5,000 on PyPI
statusA command-line tool that reports HTTP response…
permissive · top 15,000 on PyPI