aboutsummaryrefslogtreecommitdiffstats
path: root/doc-src
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-04-04 11:24:58 +1200
committerAldo Cortesi <aldo@nullcube.com>2012-04-04 11:24:58 +1200
commit8110a9a3eb3280092a69d916cd135aedcdfe4120 (patch)
tree131062fe698fbea41118d3399bd2f3544aa4fd4d /doc-src
parentd8cadd2ff35ea654ffdd9f646005fbb84755c812 (diff)
downloadmitmproxy-8110a9a3eb3280092a69d916cd135aedcdfe4120.tar.gz
mitmproxy-8110a9a3eb3280092a69d916cd135aedcdfe4120.tar.bz2
mitmproxy-8110a9a3eb3280092a69d916cd135aedcdfe4120.zip
Start prepping docs for 0.8
Also add an interactive upstream-cert option to mitmproxy, and repair help for R shortcut.
Diffstat (limited to 'doc-src')
-rw-r--r--doc-src/_layout.html2
-rw-r--r--doc-src/_websitelayout.html2
-rw-r--r--doc-src/index.html2
-rw-r--r--doc-src/index.py2
-rw-r--r--doc-src/mitmproxy.html31
-rw-r--r--doc-src/replacements.html0
-rw-r--r--doc-src/upstreamcerts.html15
7 files changed, 38 insertions, 16 deletions
diff --git a/doc-src/_layout.html b/doc-src/_layout.html
index f48f1e58..89b14f59 100644
--- a/doc-src/_layout.html
+++ b/doc-src/_layout.html
@@ -14,7 +14,7 @@
</div>
<!--(end)-->
$!nav if this.title!="docs" else ""!$
- <h1><a href="@!urlTo("/index.html")!@">mitmproxy 0.7 docs</a></h1>
+ <h1><a href="@!urlTo("/index.html")!@">mitmproxy 0.8 docs</a></h1>
</div>
<div id="bd">
<div id="yui-main">
diff --git a/doc-src/_websitelayout.html b/doc-src/_websitelayout.html
index 061e8504..ab079c0a 100644
--- a/doc-src/_websitelayout.html
+++ b/doc-src/_websitelayout.html
@@ -29,7 +29,7 @@
</div>
<!--(end)-->
$!nav if this.title!="docs" else ""!$
- $!title if this.title!="docs" else "<h1>mitmproxy 0.7 docs</h1>"!$
+ $!title if this.title!="docs" else "<h1>mitmproxy 0.8 docs</h1>"!$
$!body!$
</div>
</div>
diff --git a/doc-src/index.html b/doc-src/index.html
index 557deafd..3caf41eb 100644
--- a/doc-src/index.html
+++ b/doc-src/index.html
@@ -9,6 +9,8 @@
<li><a href="@!urlTo("serverreplay.html")!@">Server-side replay</a></li>
<li><a href="@!urlTo("sticky.html")!@">Sticky cookies and auth</a></li>
<li><a href="@!urlTo("reverseproxy.html")!@">Reverse proxy mode</a></li>
+ <li><a href="@!urlTo("upstreamcerts.html")!@">Upstream Certs</a></li>
+ <li><a href="@!urlTo("replacements.html")!@">Replacements</a></li>
<li><a href="@!urlTo("anticache.html")!@">Anticache</a></li>
<li><a href="@!urlTo("filters.html")!@">Filter expressions</a></li>
</ul>
diff --git a/doc-src/index.py b/doc-src/index.py
index a2296e70..17fa8b19 100644
--- a/doc-src/index.py
+++ b/doc-src/index.py
@@ -73,6 +73,8 @@ pages = [
Page("clientreplay.html", "Client-side replay"),
Page("serverreplay.html", "Server-side replay"),
Page("sticky.html", "Sticky cookies and auth"),
+ Page("upstreamcerts.html", "Upstream Certs"),
+ Page("replacements.html", "Replacements"),
Page("reverseproxy.html", "Reverse proxy mode"),
Page("anticache.html", "Anticache"),
Page("filters.html", "Filter expressions"),
diff --git a/doc-src/mitmproxy.html b/doc-src/mitmproxy.html
index 3910aa2d..5d7d15d9 100644
--- a/doc-src/mitmproxy.html
+++ b/doc-src/mitmproxy.html
@@ -45,19 +45,22 @@ which shows you exactly what's there without any changes. You can change modes
using the _m_ key.
-## Key/Value Editor
+## Grid Editor
-It turns out that ordered key/value data is pervasive in HTTP communications,
-so mitmproxy has a built-in editor to help edit and create this kind of data.
-There are three ways to reach the __K/V Editor__ from the __Flow View__ screen:
+Much of the data that we'd like to interact with in mitmproxy is structured.
+For instance, headers, queries and form data can all be thought of as a list of
+key/value pairs. Mitmproxy has a built-in editor that lays this type of data
+out in a grid for easy manipulation.
-- Editing request or response headers (_e_ for edit, then _h_ for headers)
-- Editing a query string (_e_ for edit, then _q_ for query)
-- Editing a URL-encoded form (_e_ for edit, then _f_ for form)
+At the moment, the Grid Editor is used in four parts of mitmproxy:
-If there is is no form or query string, an empty __K/V Editor__ will be started
-to let you add one. Here is the __K/V Editor__ showing the headers from a
-request:
+- Editing request or response headers (_e_ for edit, then _h_ for headers in flow view)
+- Editing a query string (_e_ for edit, then _q_ for query in flow view)
+- Editing a URL-encoded form (_e_ for edit, then _f_ for form in flow view)
+- Editing replacement patterns (_R_ globally)
+
+If there is is no data, an empty editor will be started to let you add some.
+Here is the editor showing the headers from a request:
<img src="@!urlTo("screenshots/mitmproxy-kveditor.png")!@"/>
@@ -67,10 +70,10 @@ you are in edit mode for the specified field:
<img src="@!urlTo("screenshots/mitmproxy-kveditor-editmode.png")!@"/>
-Modify the field as desired, and press escape or enter to exit edit mode when
-you're done. You can also add a key/value pair (_a_ key), delete a pair (_d_
-key), spawn an external editor on a field (_e_ key). Be sure to consult the
-context-sensitive help (_?_ key) for more.
+Modify the field as desired, then press escape to exit edit mode when you're
+done. You can also add a row (_a_ key), delete a row (_d_ key), spawn an
+external editor on a field (_e_ key). Be sure to consult the context-sensitive
+help (_?_ key) for more.
# Example: Interception
diff --git a/doc-src/replacements.html b/doc-src/replacements.html
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/doc-src/replacements.html
diff --git a/doc-src/upstreamcerts.html b/doc-src/upstreamcerts.html
new file mode 100644
index 00000000..804286d9
--- /dev/null
+++ b/doc-src/upstreamcerts.html
@@ -0,0 +1,15 @@
+- command-line: _--upstream-cert_
+- mitmproxy shortcut: _o_, then _u_
+
+In its normal mode of operation, mitmproxy will use the target domain specified
+in a client's proxy request to generate an interception certificate. When
+__upstream-cert__ mode is activated a different procedure is followed: we first
+connect to the specified remote server to retrieve the server's __Common Name__
+and __Subject Alternative Names__. This feature is especially useful when the
+client specifies an IP address rather than a host name in the proxy request. If
+this is the case, we can only generate a certificate if we can establish the
+__CN__ and __SANs__ from the upstream server.
+
+Note that __upstream-cert__ mode does not work when the remote server relies on
+[Server Name Indication](http://en.wikipedia.org/wiki/Server_Name_Indication).
+Luckily, SNI is still not very widely used.