← All open source projects

mitmproxy

mitmproxy/mitmproxy

mitmproxy is an interactive TLS-capable proxy for inspecting, intercepting, and modifying HTTP traffic.

Forks 4,607
Author mitmproxy
Language Python
License MIT
Synced 2026-06-27

What it is

mitmproxy is an interactive proxy for HTTP and HTTPS traffic. It sits between client and server, shows requests and responses, and can decrypt TLS traffic when certificates are configured.

The project is useful when browser tools are not enough: mobile apps, API clients, system processes, test environments, and security work.

What is inside

The repository contains the proxy core, console UI, web UI, traffic recording and replay tools, a Python addon API, tests, and documentation.

Its strength is not only viewing traffic but changing the flow: headers, delays, recorded scenarios, and automated checks.

How it is used

Developers use mitmproxy to debug APIs, inspect mobile clients, find unnecessary requests, and analyze authentication failures.

Security specialists use it to understand application behavior and test protections. TLS interception requires careful certificate setup and permission.

Strengths and limits

The strength is interactivity and programmability. mitmproxy works as both a manual tool and an automation component.

The limitation is network complexity: proxies, certificates, pinning, and system settings can get in the way.

When configured correctly, it provides rare transparency: the concrete request, response, and timing are visible.

The practical value of mitmproxy is easiest to see through a small verifiable scenario: take the task the project was made for and follow it to a result. mitmproxy helps developers and security specialists inspect HTTP/HTTPS traffic, analyze requests, modify responses, and automate checks. That separates real usefulness from a nice description.

If mitmproxy stays in use beyond the first experiment, maintenance starts to matter as much as features: updates, clear responsibility boundaries, testable examples, and the project’s place in the existing system. That is where real strengths and limits usually appear.

Example

Запуск локального прокси

Пример показывает базовый старт mitmproxy на локальном порту для последующей настройки клиента.

Language: Bash
mitmproxy --listen-host 127.0.0.1 --listen-port 8080