mitmproxy

A man-in-the-middle proxy you run on purpose, mitmproxy lets developers and testers inspect, edit, and replay HTTP and HTTPS traffic from any client. Point a browser, phone, or script at it and every HTTP/1, HTTP/2, HTTP/3, WebSocket, and TLS-protected connection appears as a flow you can open, search, and filter. Content views turn payloads from HTML to Protobuf into readable text. Intercept a request or response before it moves on, change its headers, body, or status by hand, then release it, or save the flow and replay it to the client or the server later. Map local and map remote rules answer requests with files or other URLs, while blocklists, anticache, sticky cookies, and proxy authentication cover routine test chores. Choose the interface that fits the job: a keyboard-driven terminal console, mitmweb in the browser with a Capture tab that sets up WireGuard devices with a QR code, or mitmdump for unattended logging in scripts. Proxy modes include regular, local capture, WireGuard, transparent, reverse, upstream, SOCKS5, and DNS. Addons written in Python add custom rewriting, recording, and automation. Teams use it for debugging, testing, privacy measurements, and penetration testing. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

mitmproxy
mitmproxy
mitmproxy

Benefits

  • See Encrypted Traffic In Plain Text
  • Install the generated certificate authority on a device and HTTPS conversations decrypt on the fly, so headers, bodies, and WebSocket messages can be read instead of guessed at.
  • Edit And Replay Any Request
  • Pause a flow with an intercept filter, modify the request or response, then release it. Saved flows can be replayed to the server or the client to reproduce bugs.
  • Capture Traffic From Almost Any Device
  • WireGuard, transparent, SOCKS5, and regular proxy modes let phones, apps, and command-line tools send traffic through one instance, with local capture for individual desktop processes.
  • Automate Rewrites With Python Addons
  • Addons hook into every stage of a connection, so a short script can rewrite responses, block hosts, log flows, or feed results into other tools. mitmdump runs them unattended.

Features

  • Three Interfaces, One Core
  • mitmproxy is the keyboard-driven console, mitmweb serves a browser interface on port 8081, and mitmdump prints flows without any interface for scripts and automation.
  • Modern Protocol Support
  • Handles HTTP/1, HTTP/2, HTTP/3, WebSockets, and other TLS-protected protocols, with content views that decode formats from HTML and JSON to Protobuf.
  • Intercept, Modify, Replay
  • Break on matching flows, edit headers or bodies, then release them. Replay client requests to a server, or stored server responses to a client.
  • Map Local And Remote
  • Map local answers matching requests from a file on disk, and map remote sends them to a different URL, so front ends can be tested against changed data.
  • Flexible Proxy Modes
  • Run as a regular, local capture, WireGuard, transparent, reverse, upstream, SOCKS5, or DNS proxy, depending on how clients can be connected or redirected.
  • Addon Scripting API
  • Python addons receive events for requests, responses, and WebSocket messages, and can modify flows, declare typed options, or register new commands.

Apps Similar to mitmproxy