PAGES
← all tools
◆ Web Application Security

mitmproxy

v12.3.0 open-source

mitmproxy is an interactive, SSLSSLA cryptographic protocol for encrypting network connections, now deprecated in favor of TLS but whose name persists colloquially. Cyber tools reference it when handling HTTPS or other encrypted-channel inspection and termination./TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets.

Summary

mitmproxy is an open-source intercepting proxy for inspecting and modifying HTTP/1, HTTP/2, and WebSocketWebSocketA protocol that upgrades an HTTP connection into a persistent, full-duplex channel, letting a server push data to a client without repeated polling. Cyber tools use it for real-time event streaming and live command output. traffic, distributed free of charge. It runs as a command-line tool, with console and web interfaces alongside the CLI, and exposes a full command catalogue covering things like flow manipulation, export, and browser control, so traffic can be filtered, captured, and edited from a script or an interactive session. This puts it in the hands of application developers, penetration testers, and anyone debugging TLS-encrypted API traffic rather than SOCSOCA security operations center, the team or function that monitors threats, investigates alerts and coordinates incident response. Its work can be internal, outsourced or shared. analysts monitoring production networks. It sits in the web-app-security space, alongside other traffic-interception tools used for manual testing and debugging. First committed in 2010, it remains active, with 630 contributors and 211 commits in the past year.

mitmproxy is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets.

How mitmproxy helps

What is my app actually sending and receiving under the TLS on this API call?

decrypts the HTTP/1, HTTP/2, or WebSocket traffic passing through the proxy and shows the full request and response, down to headers and body, in the console or web interface

Can I change a request or response before it reaches the other side?

lets a flow be edited interactively or through a script before it is forwarded, so a header, status code, or body can be altered on the fly to test how client or server reacts

Can I drive the browser itself as part of this test, rather than just watching its traffic?

exposes a browser command namespace that can launch and control a browser instance through the same command catalogue used for flow manipulation

How do I pull one specific exchange out of a long capture to hand to a colleague or another tool?

the export namespace turns a selected flow into formats like code snippets or raw files, so a single request/response pair can be lifted out of a larger session

all 13 features, with the evidence for each →

Languages

Not documented

Features

13 capabilities · 2 backed by code, an API document or a real run

Built from mitmproxy's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

What mitmproxy offers you

  • Command-line interface4
  • Python scripting support1
  • Scripting language support1
All capabilities 13 capabilities
CLI interface verified Provides a command-line interface for controlling mitmproxy, including options for verbosity, quiet mode, version display, setting configuration options, and filtering traffic. 7 releases · 7 other sources · first seen Feb 2016

Also counts toward: Command-line interface

release 7 total

  • Introduces a new Table UI v5.0.0 · Dec 2019 · source · release history
  • Adds Docker images for ARMv7 architecture, enabling deployment on Raspberry Pi and similar devices. v4.0.3 · Jun 2018 · source · release history
  • Supports configuring console keybindings through a new keys.yaml file. v4.0.0 · May 2018 · source · release history
  • Core moves to asyncio for significant performance improvements across all operations. v4.0.0 · May 2018 · source · release history
  • Implements multi-pane layouts and integrated key bindings in the rewritten mitmproxy console v3.0.0 · Feb 2018 · source · release history
  • Enables http2 by default for all proxies. v2.0.0 · Feb 2017 · source · release history

docs

  • SSL/TLS-capable intercepting proxy with console, web, and CLI interfaces for HTTP/1, HTTP/2, and WebSockets traffic.

command line

  • --team-id 10.1.3 · Nov 2023 · command-line history
  • filter_args — Filter expression, equivalent to setting both the view_filter and save_stream_filter options. 10.1.3 · Nov 2023 · command-line history
  • --version — show version number and exit 10.1.3 · Nov 2023 · command-line history
  • --quiet — Quiet. 10.1.3 · Nov 2023 · command-line history
  • --set — Set an option. When the value is omitted, booleans are set to true, strings and integers are set to None (if permitted), and sequences are emptied. Boolean values can be true, false or toggle. Sequences are set using multiple invocations to set for the same option. 10.1.3 · Nov 2023 · command-line history
  • --verbose — Increase log verbosity. 10.1.3 · Nov 2023 · command-line history
Content inspection views shipped Provides structured content views for inspecting flow details, including query parameters and other HTTP message attributes. 5 releases · 1 other source · first seen Apr 2016

release

  • Display HTTP trailers in the mitmweb UI v5.3.0 · Nov 2020 · source · release history
  • Add MsgPack content viewer for inspecting binary payloads v5.3.0 · Nov 2020 · source · release history
  • Adds automatic CA certificate expiration checking with user warning on startup. v2.0.0 · Feb 2017 · source · release history
  • Switches Image Content Views to use Kaitai Struct (kaitai_struct) backend instead of Pillow, enabling pure Python installation. v2.0.0 · Feb 2017 · source · release history
  • Add content view for query parameters in the flow detail pane. v0.17 · Apr 2016 · source · release history

example

  • In the mitmproxy TUI, press Enter on a flow and select the Query Parameters content view to inspect request query strings. Press 'Enter' -> Select 'Content View' -> Choose 'Query Parameters' v0.17 · Apr 2016 · source
Filter and view control shipped Allows users to filter flows by protocol type, mark status, or custom criteria within the command-line interface. 4 releases · 1 other source · first seen Oct 2016

Also counts toward: Command-line interface

release

  • Adds IPv6 transparent mode support on Windows for network capture scenarios requiring direct routing. v4.0.3 · Jun 2018 · source · release history
  • Adds OpenBSD as a supported platform for transparent proxying mode (--mode). v2.0.0 · Feb 2017 · source · release history
  • Introduces New filters for TCP, HTTP and marked flows in the CLI console v0.18.1 · Oct 2016 · source · release history
  • Enables viewing only marked flows via Add ability to view only marked flows in mitmproxy v0.18.1 · Oct 2016 · source · release history

example

  • Enable the new transparent proxy mode specifically on OpenBSD systems. mitmproxy --mode tproxy:openbsd v2.0.0 · Feb 2017 · source
Command catalogue verified Exposes a structured set of built-in commands across namespaces such as browser, console, flow, cut, export, and inject, each with argument signatures and inline documentation. 3 releases · 1 other source · first seen Feb 2016

release

  • Adds Initial Support for TLS 1.3 enabling inspection of connections using the latest transport layer standard v5.1.0 · Apr 2020 · source · release history
  • Adds the commands subsystem allowing addons to expose user-facing actions via a consistent API v3.0.0 · Feb 2018 · source · release history
  • Add export command (or --export flag) to save flows as cURL commands, Python code, or raw HTTP. v0.16 · Feb 2016 · source · release history

we ran it

  • The output (truncated) lists mitmproxy's full command catalogue, covering namespaces such as browser, commands.history, console, cut, export, flow, and inject. Aug 2026 · the full run
WebSocket support shipped Enables interception and inspection of WebSocket traffic alongside standard HTTP flows. 3 releases · first seen Oct 2016

release

  • Update raw exports to preserve headers instead of removing them v5.3.0 · Nov 2020 · source · release history
  • Adds the ability to Export request as httpie command via the console or addon API. v4.0.0 · May 2018 · source · release history
  • Adds Initial Support for WebSockets to the proxy engine v0.18.1 · Oct 2016 · source · release history
YAML configuration management shipped Manages tool settings using a unified YAML file structure, replacing previous configuration formats. 3 releases · first seen Dec 2016

release

  • Replaces previous config format with a single YAML file for configuration v1.0 · Dec 2016 · source · release history
  • Drops Python 2 support; requires Python 3.5 or higher to run v1.0 · Dec 2016 · source · release history
  • Configuration must now use the single YAML file format instead of the previous structure v1.0 · Dec 2016 · source · release history
TLS interception shipped Intercepts TLS-encrypted traffic, including scenarios involving specific intermediate CA trust stores such as the compromised eMudhra CA. 1 release · 1 other source · first seen Oct 2026

Also counts toward: Command-line interface

release

  • Blocks OCSP and CRL revocation lookups to ocsp-a.emsign.com, ocsp-b.emsign.com, ocsp-c.emsign.com, crl.emsign.com, ocsp.comodoca.com, and crl.comodoca.com when --emudhra or --emudhra-old is enabled, preventing clients from phoning home to validate mitmproxy-issued certificates.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v12.3.1 · Oct 2026 · source · release history

example

  • Intercept TLS traffic from a client that still trusts the compromised eMudhra intermediate CA — useful for testing or research against legacy trust stores. mitmproxy --emudhra v12.3.0 · Oct 2026 · source
Web UI flow table shipped Displays intercepted flows in a visual table in mitmweb, with status and method badges and SVG icons indicating resource types for at-a-glance triage. 2 releases · first seen Oct 2026

release

  • Adds status and method badges to the mitmweb flow table for faster at-a-glance triage.⁠︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄⁠ v12.3.0 · Oct 2026 · source · release history
  • Adds SVG icons for flow table resource types in mitmweb. v12.3.0 · Oct 2026 · source · release history
Export capabilities shipped Supports exporting intercepted flows to various formats including cURL, Python code, raw HTTP, and load testing frameworks like locust.io. 2 releases · first seen Feb 2016

Also counts toward: Command-line interface, Python scripting support, Scripting language support

release

  • Export traffic data to locust.io load testing format. v0.17 · Apr 2016 · source · release history
  • Add export command (or --export flag) to save flows as cURL commands, Python code, or raw HTTP. v0.16 · Feb 2016 · source · release history
Python version compatibility shipped Ships binary releases with a bundled Python runtime and maintains compatibility with current Python versions. 1 release · first seen Oct 2026

release

  • Adds Python 3.15 support; binary releases now ship with Python 3.15 by default. v12.3.1 · Oct 2026 · source · release history
HTTP stream modification shipped Enables on-the-fly modification of HTTP request and response streams during interception, including support for returning multiple chunks for streaming edits. 1 release · first seen Aug 2021

release

  • Make it possible to return multiple chunks for HTTP stream modification v7.0.1 · Aug 2021 · source · release history
ASGI application embedding shipped Allows embedding the proxy as an ASGI application within asyncio-based projects. 1 release · first seen Nov 2020

release

  • Add ASGI support for embedding mitmproxy in asyncio applications v5.3.0 · Nov 2020 · source · release history
HTTP/1.1 trailer support shipped Enables sending and displaying HTTP trailers in the protocol stream. 1 release · first seen Nov 2020

release

  • Add support for sending HTTP trailers to the HTTP/1.1 protocol v5.3.0 · Nov 2020 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for mitmproxy, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail mitmproxy puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

17 entries

  1. October 20261
  2. April 20261
  3. August 20251
  4. February 20251
  5. March 20221
  6. August 20211
  7. November 20201
  8. April 20201
  9. December 20191
  10. June 20181
  11. May 20181
  12. February 20181
  13. February 20171
  14. December 20161
  15. October 20161
  16. April 20161
  17. February 20161
    Show

    17 entries

    Project health

    Issue, contributor and maintainer activity in mitmproxy/mitmproxy, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 52 +12 vs prior 12 months
    2. Maintainers 6 +3 joined · −0 left, last 12 months
    3. Bus factor 2 committers behind half the commits
    4. Community-filed 97% of issues opened, last 12 months
    5. Median time to close 6.8 days first maintainer reply 10 hours
    6. Open backlog 372 of 3,697 issues ever filed
    1. Issues opened / month 4 · 0 communitymaintainers
    2. Open backlog 372
    3. Contributors / month 1
    4. Commits / month 1
    5. Stars 45,090
    Issue themes, last 12 months
    • bugs 5%
    • features 23%
    • docs 1%
    • other 71%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →