2013-08-25 02:31:35 +00:00
|
|
|
[![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)
|
|
|
|
|
2013-01-01 03:35:52 +00:00
|
|
|
__mitmproxy__ is an interactive, SSL-capable man-in-the-middle proxy for HTTP
|
|
|
|
with a console interface.
|
2011-02-20 23:11:41 +00:00
|
|
|
|
2013-01-01 03:35:52 +00:00
|
|
|
__mitmdump__ is the command-line version of mitmproxy. Think tcpdump for HTTP.
|
|
|
|
|
|
|
|
__libmproxy__ is the library that mitmproxy and mitmdump are built on.
|
2011-03-17 20:04:49 +00:00
|
|
|
|
2013-03-23 02:42:25 +00:00
|
|
|
Documentation, tutorials and distribution packages can be found on the
|
|
|
|
mitmproxy.org website:
|
|
|
|
|
2012-02-25 00:16:30 +00:00
|
|
|
[mitmproxy.org](http://mitmproxy.org).
|
2010-02-16 05:25:03 +00:00
|
|
|
|
|
|
|
|
2012-02-19 09:43:05 +00:00
|
|
|
Features
|
|
|
|
--------
|
2010-02-16 05:25:03 +00:00
|
|
|
|
2011-03-15 22:09:10 +00:00
|
|
|
- Intercept HTTP requests and responses and modify them on the fly.
|
|
|
|
- Save complete HTTP conversations for later replay and analysis.
|
2011-03-17 20:04:49 +00:00
|
|
|
- Replay the client-side of an HTTP conversations.
|
2011-03-18 22:26:51 +00:00
|
|
|
- Replay HTTP responses of a previously recorded server.
|
2012-02-20 23:32:56 +00:00
|
|
|
- Reverse proxy mode to forward traffic to a specified server.
|
2013-01-01 03:35:52 +00:00
|
|
|
- Transparent proxy mode on OSX and Linux.
|
2012-12-09 21:57:11 +00:00
|
|
|
- Make scripted changes to HTTP traffic using Python.
|
2011-03-18 22:26:51 +00:00
|
|
|
- SSL certificates for interception are generated on the fly.
|
2013-01-01 03:35:52 +00:00
|
|
|
- And much, much more.
|
2011-01-24 21:59:50 +00:00
|
|
|
|
2011-08-06 21:52:13 +00:00
|
|
|
|
2010-02-16 04:09:07 +00:00
|
|
|
Requirements
|
2011-03-19 06:47:19 +00:00
|
|
|
------------
|
2010-02-16 04:09:07 +00:00
|
|
|
|
2012-11-29 19:17:50 +00:00
|
|
|
* [Python](http://www.python.org) 2.7.x.
|
2013-03-10 04:09:40 +00:00
|
|
|
* [netlib](http://pypi.python.org/pypi/netlib), version matching mitmproxy.
|
2012-08-08 19:38:02 +00:00
|
|
|
* [PyOpenSSL](http://pypi.python.org/pypi/pyOpenSSL) 0.13 or newer.
|
2012-03-11 01:41:03 +00:00
|
|
|
* [pyasn1](http://pypi.python.org/pypi/pyasn1) 0.1.2 or newer.
|
2013-01-01 03:35:52 +00:00
|
|
|
* [urwid](http://excess.org/urwid/) version 1.1 or newer.
|
2012-04-03 21:55:14 +00:00
|
|
|
* [PIL](http://www.pythonware.com/products/pil/) version 1.1 or newer.
|
2012-04-09 03:15:41 +00:00
|
|
|
* [lxml](http://lxml.de/) version 2.3 or newer.
|
2013-05-13 21:12:26 +00:00
|
|
|
* [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.
|
2012-04-09 03:15:41 +00:00
|
|
|
|
2013-02-16 03:46:16 +00:00
|
|
|
__mitmproxy__ is tested and developed on OSX, Linux and OpenBSD. Windows is not
|
|
|
|
officially supported at the moment.
|
2012-04-09 03:15:41 +00:00
|
|
|
|
2011-03-28 22:53:13 +00:00
|
|
|
|
2013-02-16 03:46:16 +00:00
|
|
|
Hacking
|
|
|
|
-------
|
|
|
|
|
|
|
|
The following components are needed if you plan to hack on mitmproxy:
|
2010-02-16 04:09:07 +00:00
|
|
|
|
2013-02-16 03:46:16 +00:00
|
|
|
* The test suite uses the [nose](http://readthedocs.org/docs/nose/en/latest/) unit testing
|
2013-03-02 02:09:22 +00:00
|
|
|
framework and requires [pathod](http://pathod.org) and [flask](http://flask.pocoo.org/).
|
2013-02-16 03:46:16 +00:00
|
|
|
* Rendering the documentation requires [countershape](http://github.com/cortesi/countershape).
|
2013-03-23 02:42:25 +00:00
|
|
|
|
2013-05-24 03:23:47 +00:00
|
|
|
For convenience, all dependencies save countershape, can be installed from pypi to a virtualenv with 'pip install -r requirements.txt'.
|
|
|
|
|
2013-05-13 21:12:26 +00:00
|
|
|
Please ensure that all patches are accompanied by matching changes in the test
|
|
|
|
suite. The project maintains 100% test coverage.
|
|
|
|
|