mitmproxy/README.mkd
2011-02-21 12:11:41 +13:00

58 lines
1.9 KiB
Markdown

__mitmproxy__ is an interactive SSL-capable intercepting HTTP proxy. It lets
you to observe, modify and replay requests and responses on the fly. The
underlying library that mitmproxy is built on can also be used to do these
things programmatically.
By default, mitmproxy starts up with a mutt-like interactive curses interface -
the built-in help page (which you can view by pressing "?") will tell you
everything you need to know. Note that requests and responses are stored
in-memory until you delete them, so leaving mitmproxy running indefinitely or
requesting very large amounts of data through it is a bad idea.
SSL
---
The first time mitmproxy is started, it will generate a bogus SSL certificate
authority (the default location is ~/.mitmproxy/ca.pem). This CA is used to
generate certificates for SSL requests on-the-fly. To avoid the hassle of
having to accept these certificates individually, you can add the certificate
authority to your browser or globally to your system.
Documentation
-------------
A rendered version of the docs for the latest release can be found here:
http://corte.si/projects.html
Download
--------
Releases can be found here: http://corte.si/projects.html
Source is hosted here: http://github.com/cortesi/mitmproxy
Requirements
------------
* A recent [Python](http://www.python.org) interpreter.
* SSL certificates are generated using [openssl](http://www.openssl.org/)
* The curses interface relies on version 0.9.8 or newer of the
[urwid](http://excess.org/urwid/) library.
* The test suite uses the [pry](http://github.com/cortesi/pry) unit testing
library.
You should also make sure that your console environment is set up with the
following:
* EDITOR environment variable to determine the external editor.
* PAGER environment variable to determine the external pager.
* Appropriate entries in your mailcap files to determine external
viewers for request and response contents.