diff --git a/docs/src/content/tools-mitmproxy.md b/docs/src/content/tools-mitmproxy.md index 6505fac48..d3f05aef4 100644 --- a/docs/src/content/tools-mitmproxy.md +++ b/docs/src/content/tools-mitmproxy.md @@ -16,3 +16,21 @@ 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" >}} + + + + diff --git a/examples/keys.yaml b/examples/keys.yaml new file mode 100644 index 000000000..a2b3d66ae --- /dev/null +++ b/examples/keys.yaml @@ -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 \ No newline at end of file