__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. Complete documentation and a set of practical tutorials is included in the distribution package, and is also available at [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. Download -------- Releases and documentation can be found on the mitmproxy website: [mitmproxy.org](http://mitmproxy.org) Source is hosted on github: [github.com/cortesi/mitmproxy](http://github.com/cortesi/mitmproxy) Community --------- Come join us in the #mitmproxy channel on the OFTC IRC network (irc://irc.oftc.net:6667). We also have a mailing list, hosted here: [groups.google.com/group/mitmproxy](http://groups.google.com/group/mitmproxy) Requirements ------------ * [Python](http://www.python.org) 2.7.x. * [netlib](http://pypi.python.org/pypi/netlib) 0.2.2 or newer. * [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. __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 [human_curl](https://github.com/Lispython/human_curl), [pathod](http://pathod.org) and [flask](http://flask.pocoo.org/). * Rendering the documentation requires [countershape](http://github.com/cortesi/countershape).