[![Build Status](https://travis-ci.org/mitmproxy/mitmproxy.png)](https://travis-ci.org/mitmproxy/mitmproxy) [![Coverage Status](https://coveralls.io/repos/mitmproxy/mitmproxy/badge.png)](https://coveralls.io/r/mitmproxy/mitmproxy) __mitmproxy__ is an interactive, SSL-capable man-in-the-middle proxy for HTTP with a console interface. __mitmdump__ is the command-line version of mitmproxy. Think tcpdump for HTTP. __libmproxy__ is the library that mitmproxy and mitmdump are built on. Documentation, tutorials and distribution packages can be found on the mitmproxy.org website: [mitmproxy.org](http://mitmproxy.org). Features -------- - Intercept HTTP requests and responses and modify them on the fly. - Save complete HTTP conversations for later replay and analysis. - Replay the client-side of an HTTP conversations. - Replay HTTP responses of a previously recorded server. - Reverse proxy mode to forward traffic to a specified server. - Transparent proxy mode on OSX and Linux. - Make scripted changes to HTTP traffic using Python. - SSL certificates for interception are generated on the fly. - And much, much more. Requirements ------------ * [Python](http://www.python.org) 2.7.x. * [netlib](http://pypi.python.org/pypi/netlib), version matching mitmproxy. * [PyOpenSSL](http://pypi.python.org/pypi/pyOpenSSL) 0.13 or newer. * [pyasn1](http://pypi.python.org/pypi/pyasn1) 0.1.2 or newer. * [urwid](http://excess.org/urwid/) version 1.1 or newer. * [PIL](http://www.pythonware.com/products/pil/) version 1.1 or newer. * [lxml](http://lxml.de/) version 2.3 or newer. * [flask](http://flask.pocoo.org/) version 0.9 or newer. Optional, for extended content decoding: * [PyAMF](http://www.pyamf.org/) version 0.6.1 or newer. * [protobuf](https://code.google.com/p/protobuf/) version 2.5.0 or newer. __mitmproxy__ is tested and developed on OSX, Linux and OpenBSD. Windows is not officially supported at the moment. Hacking ------- The following components are needed if you plan to hack on mitmproxy: * The test suite uses the [nose](http://readthedocs.org/docs/nose/en/latest/) unit testing framework and requires [pathod](http://pathod.org) and [flask](http://flask.pocoo.org/). * Rendering the documentation requires [countershape](http://github.com/cortesi/countershape). For convenience, all dependencies save countershape, can be installed from pypi to a virtualenv with 'pip install -r requirements.txt'. Please ensure that all patches are accompanied by matching changes in the test suite. The project maintains 100% test coverage.