# mitmproxy/mitmproxy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mitmproxy-mitmproxy).**

42,335 stars · 4,455 forks · Python · mit

## Links

- GitHub: https://github.com/mitmproxy/mitmproxy
- Homepage: https://mitmproxy.org
- awesome-repositories: https://awesome-repositories.com/repository/mitmproxy-mitmproxy.md

## Topics

`debugging` `http` `http2` `man-in-the-middle` `mitmproxy` `proxy` `python` `security` `ssl` `tls` `websocket`

## Description

Mitmproxy is an interactive, programmable network proxy engine designed for traffic analysis and protocol manipulation. It functions as a gateway that intercepts, inspects, and modifies network traffic in real-time, supporting HTTP, HTTPS, WebSocket, DNS, and generic TCP or UDP streams. By acting as a trusted certificate authority, the proxy can dynamically generate and sign certificates to decrypt and analyze secure TLS-encrypted connections.

The project distinguishes itself through a highly extensible, event-driven architecture that allows users to automate traffic transformation using custom scripts. It provides a unified command-based interface for manual interaction, enabling users to define custom key bindings, content views, and command-line tools. The engine supports multiple operational modes, including explicit, transparent, reverse, and SOCKS proxying, as well as a userspace WireGuard VPN mode for capturing traffic without requiring client-side configuration changes.

Beyond basic interception, the platform includes comprehensive tools for recording and replaying network conversations to simulate complex interactions or automate repetitive tasks. It offers advanced capabilities such as request blocking, header and body modification, and local resource mapping. The system also provides robust support for debugging and performance analysis, including integration with external tools through secret logging and structured data representation.

The software is designed for rapid iteration, featuring live script reloading that updates custom logic without restarting the proxy process. It includes extensive documentation for managing certificates, configuring proxy modes, and implementing custom addons through a well-defined programmatic interface.

## Tags

### Networking & Communication

- [HTTP Proxies](https://awesome-repositories.com/f/networking-communication/http-proxies.md) — Mitmproxy configures clients to explicitly use an HTTP proxy to route traffic through the proxy server, which is the most robust setup for supported applications. ([source](https://docs.mitmproxy.org/stable/concepts/modes/))
- [HTTP Traffic Manipulation Tools](https://awesome-repositories.com/f/networking-communication/http-traffic-manipulation-tools.md) — Adds, overwrites, or removes HTTP headers on requests and responses using filter expressions to target specific traffic flows. ([source](https://docs.mitmproxy.org/stable/overview/features/))
- [Network Proxies](https://awesome-repositories.com/f/networking-communication/network-proxies.md) — A programmable proxy server that intercepts, inspects, and modifies HTTP, HTTPS, and WebSocket traffic in real-time.
- [Proxy Engines](https://awesome-repositories.com/f/networking-communication/proxy-engines.md) — Executes custom logic against live network streams to automate traffic transformation and protocol manipulation.
- [Proxy Servers](https://awesome-repositories.com/f/networking-communication/proxy-servers.md) — Redirects network traffic at the layer level to intercept and inspect HTTP requests without requiring client-side configuration. ([source](https://docs.mitmproxy.org/stable/concepts/how-mitmproxy-works/))
- [Traffic Analysis Tools](https://awesome-repositories.com/f/networking-communication/traffic-analysis-tools.md) — Records HTTP conversations to files for later analysis, filtering, and replay of client requests or server responses to simulate network conditions. ([source](https://docs.mitmproxy.org/stable/))
- [Traffic Interception Tools](https://awesome-repositories.com/f/networking-communication/traffic-interception-tools.md) — Intercepts and modifies HTTP, HTTPS, and WebSocket traffic in real-time via interactive console, web, or command-line interfaces. ([source](https://docs.mitmproxy.org/stable/))
- [Traffic Interceptors](https://awesome-repositories.com/f/networking-communication/traffic-interceptors.md) — Redirects and decrypts encrypted network connections to provide visibility into secure traffic without requiring client-side configuration.
- [Traffic Manipulation Scripts](https://awesome-repositories.com/f/networking-communication/traffic-manipulation-scripts.md) — Enables programmatic modification and automated handling of HTTP traffic flows during proxy operations using custom scripts. ([source](https://docs.mitmproxy.org/stable/))
- [WebSocket Interception Tools](https://awesome-repositories.com/f/networking-communication/websocket-interception-tools.md) — Intercepts and inspects WebSocket connections including message compression and frame forwarding. ([source](https://docs.mitmproxy.org/stable/concepts/protocols/))
- [Transparent Proxies](https://awesome-repositories.com/f/networking-communication/transparent-proxies.md) — Mitmproxy redirects network traffic into the proxy at the network layer without modifying client settings, typically by configuring the proxy machine as the client's default gateway. ([source](https://docs.mitmproxy.org/stable/concepts/modes/))
- [Connection Management Tools](https://awesome-repositories.com/f/networking-communication/connection-management-tools.md) — Provides hooks to monitor upstream traffic and programmatically terminate server connections during the request lifecycle. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/proxy/server_hooks.html))
- [Connection Management Utilities](https://awesome-repositories.com/f/networking-communication/connection-management-utilities.md) — Intercepts and manages client connection events to monitor traffic or terminate connections programmatically. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/proxy/server_hooks.html))
- [DNS Tools](https://awesome-repositories.com/f/networking-communication/dns-tools.md) — Intercepts and inspects domain name resolution requests and responses to monitor or modify network traffic. ([source](https://docs.mitmproxy.org/stable/concepts/protocols/))
- [Network Flow Analyzers](https://awesome-repositories.com/f/networking-communication/network-flow-analyzers.md) — Abstracts network traffic into structured flow objects that maintain state and metadata across diverse protocols.
- [Network Request Interceptors](https://awesome-repositories.com/f/networking-communication/network-request-interceptors.md) — Blocks specific network requests by matching filter expressions and returning custom responses or terminating connections. ([source](https://docs.mitmproxy.org/stable/overview/features/))
- [Network Traffic Analyzers](https://awesome-repositories.com/f/networking-communication/network-traffic-analyzers.md) — Captures and inspects HTTP, HTTPS, and WebSocket traffic to facilitate debugging of client-server communication.
- [Network Traffic Processors](https://awesome-repositories.com/f/networking-communication/network-traffic-processors.md) — Enables the processing and manipulation of network traffic flows through typed sequences and command-line selectors. ([source](https://docs.mitmproxy.org/stable/addons/commands/))
- [Network Traffic Replay Tools](https://awesome-repositories.com/f/networking-communication/network-traffic-replay-tools.md) — Automates repetitive network interactions by replaying recorded sequences of requests and responses. ([source](https://docs.mitmproxy.org/stable/tutorials/client-replay/))
- [Proxy Configuration Utilities](https://awesome-repositories.com/f/networking-communication/proxy-configuration-utilities.md) — Parses proxy mode specification strings to configure proxy behavior, including mode types and listening addresses. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/proxy/mode_specs.html))
- [Proxy Configurations](https://awesome-repositories.com/f/networking-communication/proxy-configurations.md) — Provides granular control over traffic interception, request filtering, and security settings for proxy operations. ([source](https://docs.mitmproxy.org/stable/concepts/options/))
- [Proxy Management Systems](https://awesome-repositories.com/f/networking-communication/proxy-management-systems.md) — Manages proxy connection state and protocol layer stacks through a shared context object for traffic interception. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/proxy/context.html))
- [Proxy Scripting Extensions](https://awesome-repositories.com/f/networking-communication/proxy-scripting-extensions.md) — Implements custom event handlers to intercept and manipulate network traffic flows within the proxy environment. ([source](https://docs.mitmproxy.org/stable/addons/overview/))
- [Proxy Stacks](https://awesome-repositories.com/f/networking-communication/proxy-stacks.md) — Organizes connection handling into a stack of protocol layers to manage transitions between raw sockets and application data.
- [Reverse Proxies](https://awesome-repositories.com/f/networking-communication/reverse-proxies.md) — Mitmproxy acts as a server that forwards client requests to a preconfigured target server, supporting various protocols like HTTP, DNS, TCP, and QUIC for debugging or redirection. ([source](https://docs.mitmproxy.org/stable/concepts/modes/))
- [TCP Proxies](https://awesome-repositories.com/f/networking-communication/tcp-proxies.md) — Intercepts and inspects generic TCP traffic streams while performing man-in-the-middle TLS decryption. ([source](https://docs.mitmproxy.org/stable/concepts/protocols/))
- [TCP Session Management](https://awesome-repositories.com/f/networking-communication/tcp-session-management.md) — Provides a structured representation of TCP sessions as flow objects for analysis and modification of transmitted messages. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/tcp.html))
- [Traffic Filtering Rules](https://awesome-repositories.com/f/networking-communication/traffic-filtering-rules.md) — Enables precise control over network traffic interception by defining hostname or IP address patterns to bypass proxy processing. ([source](https://docs.mitmproxy.org/stable/howto/ignore-domains/))
- [Traffic Filters](https://awesome-repositories.com/f/networking-communication/traffic-filters.md) — Provides complex expression-based filtering to isolate specific HTTP transactions for detailed network traffic analysis. ([source](https://docs.mitmproxy.org/stable/concepts/filters/))
- [Traffic Manipulation Tools](https://awesome-repositories.com/f/networking-communication/traffic-manipulation-tools.md) — Removes caching headers from HTTP requests to ensure servers return full responses during traffic interception and analysis. ([source](https://docs.mitmproxy.org/stable/overview/features/))
- [Traffic Proxying](https://awesome-repositories.com/f/networking-communication/traffic-proxying.md) — Routes network traffic through a dedicated gateway to intercept and inspect connections for security analysis and debugging. ([source](https://docs.mitmproxy.org/stable/howto/transparent-vms/))
- [Traffic Redirection Tools](https://awesome-repositories.com/f/networking-communication/traffic-redirection-tools.md) — Intercepts and routes network traffic transparently at the packet level without requiring explicit client-side proxy configuration.
- [Traffic Streaming Utilities](https://awesome-repositories.com/f/networking-communication/traffic-streaming-utilities.md) — Streams large request and response bodies directly between client and server to prevent memory overflow during high-volume traffic processing. ([source](https://docs.mitmproxy.org/stable/overview/features/))
- [Transparent Network Proxies](https://awesome-repositories.com/f/networking-communication/transparent-network-proxies.md) — Intercepts and routes network traffic transparently to monitor or modify connections without requiring client-side configuration changes.
- [Transparent Proxying](https://awesome-repositories.com/f/networking-communication/transparent-proxying.md) — Enables network traffic interception by configuring IP forwarding and firewall rules to route packets through the proxy instance. ([source](https://docs.mitmproxy.org/stable/howto/transparent/))
- [UDP Proxies](https://awesome-repositories.com/f/networking-communication/udp-proxies.md) — Performs man-in-the-middle inspection of DTLS-encrypted traffic while transparently forwarding generic UDP packets. ([source](https://docs.mitmproxy.org/stable/concepts/protocols/))
- [WebSocket Utilities](https://awesome-repositories.com/f/networking-communication/websocket-utilities.md) — Provides automated reassembly of fragmented WebSocket frames and structured access to message content for inspection and analysis. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/websocket.html))
- [DNS Utilities](https://awesome-repositories.com/f/networking-communication/dns-utilities.md) — Provides structured data objects for DNS query questions with support for JSON serialization and external integration. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/dns.html))
- [SOCKS Proxies](https://awesome-repositories.com/f/networking-communication/socks-proxies.md) — Mitmproxy acts as a SOCKS5 proxy to establish connections with clients, providing an alternative to the standard HTTP proxy mode for connection establishment. ([source](https://docs.mitmproxy.org/stable/concepts/modes/))
- [TCP Stream Interception](https://awesome-repositories.com/f/networking-communication/tcp-stream-interception.md) — Mitmproxy supports processing raw TCP stream messages by inspecting content and performing data replacements as traffic passes through the proxy. ([source](https://docs.mitmproxy.org/stable/addons/examples/))
- [UDP Session Management](https://awesome-repositories.com/f/networking-communication/udp-session-management.md) — Tracks and represents UDP sessions by correlating client-server connections with individual datagram message sequences. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/udp.html))
- [WebSocket Message Interception](https://awesome-repositories.com/f/networking-communication/websocket-message-interception.md) — Mitmproxy enables processing individual WebSocket messages by inspecting content, modifying payloads, or dropping messages before they reach the destination endpoint. ([source](https://docs.mitmproxy.org/stable/addons/examples/))

### Security & Cryptography

- [Certificate Authorities](https://awesome-repositories.com/f/security-cryptography/certificate-authorities.md) — Acts as a trusted certificate authority to dynamically generate and sign leaf certificates for intercepted encrypted traffic.
- [Certificate Authority Management](https://awesome-repositories.com/f/security-cryptography/certificate-authority-management.md) — Generates and manages a local certificate authority to enable transparent interception and decryption of HTTPS traffic. ([source](https://docs.mitmproxy.org/stable/concepts/certificates/))
- [Traffic Interception Tools](https://awesome-repositories.com/f/security-cryptography/traffic-interception-tools.md) — Intercepts and decrypts encrypted HTTPS traffic by acting as a trusted certificate authority for inspection and modification. ([source](https://docs.mitmproxy.org/stable/concepts/how-mitmproxy-works/))
- [Certificate Management](https://awesome-repositories.com/f/security-cryptography/certificate-management.md) — Provides utilities to configure and manage SSL and TLS certificates, including expiry durations and validity parameters for traffic inspection. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/certs.html))
- [Certificate Pinning Bypasses](https://awesome-repositories.com/f/security-cryptography/certificate-pinning-bypasses.md) — Provides mechanisms to disable application-level certificate pinning for security research and traffic analysis. ([source](https://docs.mitmproxy.org/stable/concepts/certificates/))
- [Mutual TLS Configurations](https://awesome-repositories.com/f/security-cryptography/mutual-tls-configurations.md) — Enables secure authentication by managing client-side certificates and PEM-formatted keys for encrypted connection handshakes. ([source](https://docs.mitmproxy.org/stable/concepts/certificates/))
- [Proxy Authentication](https://awesome-repositories.com/f/security-cryptography/proxy-authentication.md) — Enforces HTTP Basic Authentication for proxy access and automatically strips credentials before forwarding requests to upstream servers. ([source](https://docs.mitmproxy.org/stable/overview/features/))
- [TLS Inspection Tools](https://awesome-repositories.com/f/security-cryptography/tls-inspection-tools.md) — Parses raw TLS ClientHello messages into structured objects to enable handshake inspection and connection fingerprinting. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/tls.html))
- [Traffic Inspection Tools](https://awesome-repositories.com/f/security-cryptography/traffic-inspection-tools.md) — Intercepts and decrypts TLS-encrypted traffic by acting as a trusted certificate authority to facilitate deep packet inspection.
- [Certificate Management Utilities](https://awesome-repositories.com/f/security-cryptography/certificate-management-utilities.md) — Provides automated guides and utilities for installing custom security certificates into system trust stores to enable encrypted traffic inspection. ([source](https://docs.mitmproxy.org/stable/howto/install-system-trusted-ca-android/))
- [DNS Spoofing Tools](https://awesome-repositories.com/f/security-cryptography/dns-spoofing-tools.md) — Intercepts and modifies DNS responses to return custom resource records or error codes for specific domains. ([source](https://docs.mitmproxy.org/stable/addons/examples/))

### System Administration & Monitoring

- [Traffic Interception Tools](https://awesome-repositories.com/f/system-administration-monitoring/traffic-interception-tools.md) — Captures network traffic transparently from local processes using low-level operating system APIs for inspection and analysis. ([source](https://docs.mitmproxy.org/stable/concepts/modes/))
- [Interactive Data Editors](https://awesome-repositories.com/f/system-administration-monitoring/interactive-data-editors.md) — Provides interactive views for editing and re-encoding prettified data streams during network traffic inspection. ([source](https://docs.mitmproxy.org/stable/addons/contentviews/))
- [Proxy Extensions](https://awesome-repositories.com/f/system-administration-monitoring/proxy-extensions.md) — Enables the creation of custom data views to transform and display raw network traffic in a readable format. ([source](https://docs.mitmproxy.org/stable/addons/contentviews/))
- [Traffic Automation Scripts](https://awesome-repositories.com/f/system-administration-monitoring/traffic-automation-scripts.md) — Provides a domain-specific language to execute commands and scripts on filtered network traffic flows. ([source](https://docs.mitmproxy.org/stable/concepts/commands/))
- [Traffic Filtering Utilities](https://awesome-repositories.com/f/system-administration-monitoring/traffic-filtering-utilities.md) — Enables precise selection and management of network traffic flows for interactive analysis and bulk processing. ([source](https://docs.mitmproxy.org/stable/concepts/filters/))

### Data & Databases

- [Data Processing Utilities](https://awesome-repositories.com/f/data-databases/data-processing-utilities.md) — Provides specialized utilities to decode, format, and re-encode data streams like HTTP bodies and WebSocket messages. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/contentviews.html))
- [Multi-Value Dictionaries](https://awesome-repositories.com/f/data-databases/multi-value-dictionaries.md) — Provides specialized dictionary structures that support multiple values per key with built-in canonicalization and reduction logic. ([source](https://docs.mitmproxy.org/stable/api/mitmproxy/coretypes/multidict.html))

### Development Tools & Productivity

- [Command Line Extensions](https://awesome-repositories.com/f/development-tools-productivity/command-line-extensions.md) — Enables the definition of custom interactive commands with runtime type checking and tab completion support. ([source](https://docs.mitmproxy.org/stable/addons/commands/))
- [Command Registries](https://awesome-repositories.com/f/development-tools-productivity/command-registries.md) — Provides a centralized registry for runtime execution of user-defined functions to facilitate automation and traffic manipulation.
- [Hot Reloading Utilities](https://awesome-repositories.com/f/development-tools-productivity/hot-reloading-utilities.md) — Monitors source files for changes and automatically reloads them into the active process to enable rapid iterative development. ([source](https://docs.mitmproxy.org/stable/addons/overview/))
- [Keyboard Shortcut Managers](https://awesome-repositories.com/f/development-tools-productivity/keyboard-shortcut-managers.md) — Enables the definition of custom keyboard shortcuts to trigger commands and automate navigation workflows. ([source](https://docs.mitmproxy.org/stable/concepts/commands/))

### DevOps & Infrastructure

- [Service Proxies](https://awesome-repositories.com/f/devops-infrastructure/service-proxies.md) — Intercepts and inspects network traffic between internal cluster components to facilitate debugging and performance analysis. ([source](https://docs.mitmproxy.org/stable/howto/kubernetes/))

### Software Engineering & Architecture

- [Event-Driven Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures.md) — Implements a lifecycle hook system that allows custom logic to execute in response to traffic processing and connection state changes.

### Testing & Quality Assurance

- [Network Protocol Simulators](https://awesome-repositories.com/f/testing-quality-assurance/network-protocol-simulators.md) — Records and replays network conversations to simulate server responses and client requests for integration testing.
- [Addon Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/addon-testing-frameworks.md) — Enables verification of addon functionality by importing script modules into test suites and invoking event handlers to assert behavior on traffic flows. ([source](https://docs.mitmproxy.org/stable/addons/overview/))
