__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.

