Merge pull request #3125 from cortesi/ndocs

docs: tweaks and document keys.yaml
This commit is contained in:
Aldo Cortesi 2018-05-15 12:01:10 +12:00 committed by GitHub
commit b87a1a650c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 90 additions and 50 deletions

View File

@ -8,6 +8,9 @@ menu:
# Introduction
The mitmproxy project's tools are a set of front-ends that expose common
underlying functionality.
**mitmproxy** is an interactive man-in-the-middle proxy for HTTP and HTTPS
with a console interface.

View File

@ -51,19 +51,18 @@ command line. The console interface is not supported on native Windows.
## Self-contained Pre-built Binary Packages
For some platforms we provide pre-built binary packages containing
ready-to-run executables. This includes a self-contained Python 3
environment, a recent OpenSSL that support ALPN and HTTP/2, and other
dependencies that would otherwise we cumbersome to compile and install.
For some platforms we provide pre-built binary packages containing ready-to-run
executables. This includes a self-contained Python 3 environment, a recent
OpenSSL that support ALPN and HTTP/2, and other dependencies that would
otherwise we cumbersome to compile and install.
Please be advised that we do not update these binaries after the initial
release. This means we do not include security-related updates of our
dependencies in already released mitmproxy versions. If there is a
severe issue, we might consider releasing a bugfix release of mitmproxy
and corresponding binary packages.
Dependencies in the binary packages are frozen on release, and can't be updated
in situ. This means that we necessarily capture any bugs or security issues that
may be present. We don't generally release new binary packages simply to update
dependencies (though we may do so if we become aware of a really serious issue).
If you use our binary packages, please make sure you update regularly to ensure
that everything remains current.
We only support the latest version of mitmproxy with bugfix and security
updates through regular minor releases.
## Docker Images

View File

@ -1,46 +1,11 @@
---
title: "Tools"
menu: "overview"
title: "mitmdump"
menu: "tools"
menu:
overview:
weight: 3
tools:
weight: 2
---
# Overview
You should think of the mitmproxy project's tools as a set of front-ends that
expose the same underlying functionality. We aim to have feature parity across
all of our tooling, and all tools share a common configuration mechanism and
most command-line options.
## mitmproxy
{{< figure src="/screenshots/mitmproxy.png" >}}
**mitmproxy** is a console tool that allows interactive examination and
modification of HTTP traffic. It differs from mitmdump in that all flows are
kept in memory, which means that it's intended for taking and manipulating
small-ish samples. Use the `?` shortcut key to view, context-sensitive
documentation from any **mitmproxy** screen.
## mitmweb
{{< figure src="/screenshots/mitmweb.png" >}}
**mitmweb** is mitmproxy's web-based user interface that allows
interactive examination and modification of HTTP traffic. Like
mitmproxy, it differs from mitmdump in that all flows are kept in
memory, which means that it's intended for taking and manipulating
small-ish samples.
{{% note %}}
Mitmweb is currently in beta. We consider it stable for all features
currently exposed in the UI, but it still misses a lot of mitmproxy's
features.
{{% /note %}}
## mitmdump
**mitmdump** is the command-line companion to mitmproxy. It provides

View File

@ -0,0 +1,36 @@
---
title: "mitmproxy"
menu: "tools"
menu:
tools:
weight: 1
---
## mitmproxy
{{< figure src="/screenshots/mitmproxy.png" >}}
**mitmproxy** is a console tool that allows interactive examination and
modification of HTTP traffic. It differs from mitmdump in that all flows are
kept in memory, which means that it's intended for taking and manipulating
small-ish samples. Use the `?` shortcut key to view, context-sensitive
documentation from any **mitmproxy** screen.
### Key binding configuration
Mitmproxy's key bindings can be customized through in the
`~/.mitmproxy/keys.yaml` file. This file consists of a sequence of maps, with
the following keys:
* `key` (**mandatory**): The key to bind.
* `cmd` (**mandatory**): The command to execute when the key is pressed.
* `context`: A list of contexts in which the key should be bound. By default this is **global** (i.e. the key is bound everywhere). Valid contexts are `chooser`, `commands`, `dataviewer`, `eventlog`, `flowlist`, `flowview`, `global`, `grideditor`, `help`, `keybindings`, `options`.
* `help`: A help string for the binding which will be shown in the key binding browser.
#### Example
{{< example src="examples/keys.yaml" lang="yaml" >}}

View File

@ -0,0 +1,23 @@
---
title: "mitmweb"
menu: "tools"
menu:
tools:
weight: 3
---
## mitmweb
{{< figure src="/screenshots/mitmweb.png" >}}
**mitmweb** is mitmproxy's web-based user interface that allows
interactive examination and modification of HTTP traffic. Like
mitmproxy, it differs from mitmdump in that all flows are kept in
memory, which means that it's intended for taking and manipulating
small-ish samples.
{{% note %}}
Mitmweb is currently in beta. We consider it stable for all features
currently exposed in the UI, but it still misses a lot of mitmproxy's
features.
{{% /note %}}

View File

@ -8,6 +8,9 @@
<p class="menu-label"> Overview </p>
{{ partial "sidemenu" (dict "ctx" . "menuname" "overview") }}
<p class="menu-label">Tools</p>
{{ partial "sidemenu" (dict "ctx" . "menuname" "tools") }}
<p class="menu-label">Core concepts</p>
{{ partial "sidemenu" (dict "ctx" . "menuname" "concepts") }}

11
examples/keys.yaml Normal file
View File

@ -0,0 +1,11 @@
-
# Simple global binding
key: ctrl a
cmd: replay.client @marked
-
# Bind key only in the lfowlist
# Note that 1 is quoted, or YAML interprets it as a digit
key: "1"
ctx: ["flowlist"]
cmd: console.nav.down
help: Go to next flow