diff --git a/README.mkd b/README.mkd index b15b57a97..99a567d85 100644 --- a/README.mkd +++ b/README.mkd @@ -32,17 +32,13 @@ 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. +* Third-party packages listed in [setup.py](https://github.com/mitmproxy/mitmproxy/blob/master/setup.py) -Optional, for extended content decoding: +Optional packages 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. +* [cssutils](http://cthedot.de/cssutils/) version 1.0 or newer. __mitmproxy__ is tested and developed on OSX, Linux and OpenBSD. Windows is not officially supported at the moment. @@ -57,7 +53,8 @@ The following components are needed if you plan to hack on mitmproxy: 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'. +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. diff --git a/doc-src/_nav.html b/doc-src/_nav.html index 3b7c9e80c..b256f47f5 100644 --- a/doc-src/_nav.html +++ b/doc-src/_nav.html @@ -11,6 +11,7 @@ $!nav("anticache.html", this, state)!$ $!nav("clientreplay.html", this, state)!$ $!nav("filters.html", this, state)!$ + $!nav("forwardproxy.html", this, state)!$ $!nav("proxyauth.html", this, state)!$ $!nav("replacements.html", this, state)!$ $!nav("serverreplay.html", this, state)!$ @@ -21,27 +22,27 @@ $!nav("ssl.html", this, state)!$ + $!nav("certinstall/android.html", this, state)!$ $!nav("certinstall/firefox.html", this, state)!$ - $!nav("certinstall/osx.html", this, state)!$ - $!nav("certinstall/windows7.html", this, state)!$ $!nav("certinstall/ios.html", this, state)!$ $!nav("certinstall/ios-simulator.html", this, state)!$ - $!nav("certinstall/android.html", this, state)!$ + $!nav("certinstall/osx.html", this, state)!$ + $!nav("certinstall/windows7.html", this, state)!$ $!nav("transparent.html", this, state)!$ $!nav("transparent/linux.html", this, state)!$ $!nav("transparent/osx.html", this, state)!$ + + $!nav("scripting/inlinescripts.html", this, state)!$ + $!nav("scripting/libmproxy.html", this, state)!$ + $!nav("tutorials/30second.html", this, state)!$ $!nav("tutorials/gamecenter.html", this, state)!$ $!nav("tutorials/transparent-dhcp.html", this, state)!$ - - $!nav("scripting/inlinescripts.html", this, state)!$ - $!nav("scripting/libmproxy.html", this, state)!$ - $!nav("dev/testing.html", this, state)!$ diff --git a/doc-src/features/forwardproxy.html b/doc-src/features/forwardproxy.html new file mode 100644 index 000000000..203520d51 --- /dev/null +++ b/doc-src/features/forwardproxy.html @@ -0,0 +1,16 @@ + +In this mode, mitmproxy accepts proxy requests and unconditionally forwards all +requests to a specified upstream server. This is in contrast to reverse proxy mode, in which +mitmproxy forwards ordinary HTTP requests to an upstream server. + + + + + + + + + + +
command-line -F http[s]://hostname[:port]
mitmproxy shortcut F
diff --git a/doc-src/features/index.py b/doc-src/features/index.py index f7efc23ae..e15f3311c 100644 --- a/doc-src/features/index.py +++ b/doc-src/features/index.py @@ -4,6 +4,7 @@ pages = [ Page("anticache.html", "Anticache"), Page("clientreplay.html", "Client-side replay"), Page("filters.html", "Filter expressions"), + Page("forwardproxy.html", "Forward proxy mode"), Page("setheaders.html", "Set Headers"), Page("serverreplay.html", "Server-side replay"), Page("sticky.html", "Sticky cookies and auth"), diff --git a/doc-src/features/reverseproxy.html b/doc-src/features/reverseproxy.html index 524df0838..d399cdc0c 100644 --- a/doc-src/features/reverseproxy.html +++ b/doc-src/features/reverseproxy.html @@ -1,9 +1,11 @@ -In reverse proxy mode, mitmproxy acts as a standard HTTP server and forwards -all requests to the specified upstream server. Note that the displayed URL for -flows in this mode will use the value of the __Host__ header field from the -request, not the reverse proxy server. +In reverse proxy mode, mitmproxy accepts standard HTTP requests and forwards +them to the specified upstream server. This is in contrast to forward proxy mode, in which +mitmproxy forwards HTTP proxy requests to an upstream server. +Note that the displayed URL for flows in this mode will use the value of the +__Host__ header field from the request, not the reverse proxy server. diff --git a/requirements.txt b/requirements.txt index cb27fd04c..e036fd1f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ MarkupSafe>=0.18 Pillow>=2.3.0,<2.4 Werkzeug>=0.8.3 lxml>=3.2.1 -netlib>=0.9.2 +netlib>=0.10 nose>=1.3.0 mock>=1.0.1 pathod>=0.9.2