diff --git a/docs/features/filters.rst b/docs/features/filters.rst index 5b22376c1..2adcfb706 100644 --- a/docs/features/filters.rst +++ b/docs/features/filters.rst @@ -7,6 +7,7 @@ Many commands in :program:`mitmproxy` and :program:`mitmdump` take a filter expr Filter expressions consist of the following operators: .. documentedlist:: + :header: "Expression" "Description" :listobject: libmproxy.filt.help - Regexes are Python-style diff --git a/docs/howmitmproxy.rst b/docs/howmitmproxy.rst index 4bdaeae57..7dcb4c30f 100644 --- a/docs/howmitmproxy.rst +++ b/docs/howmitmproxy.rst @@ -210,20 +210,20 @@ explicit HTTPS connections to establish the CN and SANs, and cope with SNI. .. image:: schematics/how-mitmproxy-works-transparent-https.png :align: center - 1. The client makes a connection to the server. - 2. The router redirects the connection to mitmproxy, which is typically listening on a local port - of the same host. Mitmproxy then consults the routing mechanism to establish what the original - destination was. - 3. The client believes it's talking to the remote server, and initiates the SSL connection. - It uses SNI to indicate the hostname it is connecting to. - 4. Mitmproxy connects to the server, and establishes an SSL connection using the SNI hostname - indicated by the client. - 5. The server responds with the matching SSL certificate, which contains the CN and SAN values - needed to generate the interception certificate. - 6. Mitmproxy generates the interception cert, and continues the client SSL handshake paused in - step 3. - 7. The client sends the request over the established SSL connection. - 8. Mitmproxy passes the request on to the server over the SSL connection initiated in step 4. +1. The client makes a connection to the server. +2. The router redirects the connection to mitmproxy, which is typically listening on a local port + of the same host. Mitmproxy then consults the routing mechanism to establish what the original + destination was. +3. The client believes it's talking to the remote server, and initiates the SSL connection. + It uses SNI to indicate the hostname it is connecting to. +4. Mitmproxy connects to the server, and establishes an SSL connection using the SNI hostname + indicated by the client. +5. The server responds with the matching SSL certificate, which contains the CN and SAN values + needed to generate the interception certificate. +6. Mitmproxy generates the interception cert, and continues the client SSL handshake paused in + step 3. +7. The client sends the request over the established SSL connection. +8. Mitmproxy passes the request on to the server over the SSL connection initiated in step 4. .. rubric:: Footnotes diff --git a/setup.py b/setup.py index 6b2246a79..136ae1909 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ dev_deps = { "pathod>=%s, <%s" % (version.MINORVERSION, version.NEXT_MINORVERSION), "sphinx>=1.3.1", "sphinx-autobuild>=0.5.2", - "sphinxcontrib-documentedlist>=0.1", + "sphinxcontrib-documentedlist>=0.2", } # Add *all* script dependencies to developer dependencies. for script_deps in scripts.values():