272 lines
8.7 KiB
Python
272 lines
8.7 KiB
Python
from mitmproxy.tools.console.keymap import Keymap
|
|
|
|
|
|
def map(km: Keymap) -> None:
|
|
km.add(":", "console.command ", ["commonkey", "global"], "Command prompt")
|
|
km.add(
|
|
";",
|
|
"console.command flow.comment @focus ''",
|
|
["flowlist", "flowview"],
|
|
"Add comment to flow",
|
|
)
|
|
km.add("?", "console.view.help", ["global"], "View help")
|
|
km.add("B", "browser.start", ["global"], "Start an attached browser")
|
|
km.add("C", "console.view.commands", ["global"], "View commands")
|
|
km.add("K", "console.view.keybindings", ["global"], "View key bindings")
|
|
km.add("O", "console.view.options", ["commonkey", "global"], "View options")
|
|
km.add("E", "console.view.eventlog", ["commonkey", "global"], "View event log")
|
|
km.add("Q", "console.exit", ["global"], "Exit immediately")
|
|
km.add("q", "console.view.pop", ["commonkey", "global"], "Exit the current view")
|
|
km.add("esc", "console.view.pop", ["commonkey", "global"], "Exit the current view")
|
|
km.add("-", "console.layout.cycle", ["global"], "Cycle to next layout")
|
|
km.add("ctrl right", "console.panes.next", ["global"], "Focus next layout pane")
|
|
km.add("ctrl left", "console.panes.prev", ["global"], "Focus previous layout pane")
|
|
km.add("shift tab", "console.panes.next", ["global"], "Focus next layout pane")
|
|
km.add("P", "console.view.flow @focus", ["global"], "View flow details")
|
|
|
|
km.add("?", "console.view.pop", ["help"], "Exit help")
|
|
|
|
km.add("g", "console.nav.start", ["global"], "Go to start")
|
|
km.add("G", "console.nav.end", ["global"], "Go to end")
|
|
km.add("k", "console.nav.up", ["global"], "Up")
|
|
km.add("j", "console.nav.down", ["global"], "Down")
|
|
km.add("l", "console.nav.right", ["global"], "Right")
|
|
km.add("h", "console.nav.left", ["global"], "Left")
|
|
km.add("tab", "console.nav.next", ["commonkey", "global"], "Next")
|
|
km.add("enter", "console.nav.select", ["commonkey", "global"], "Select")
|
|
km.add("space", "console.nav.pagedown", ["global"], "Page down")
|
|
km.add("ctrl f", "console.nav.pagedown", ["global"], "Page down")
|
|
km.add("ctrl b", "console.nav.pageup", ["global"], "Page up")
|
|
|
|
km.add(
|
|
"I",
|
|
"set intercept_active toggle",
|
|
["global"],
|
|
"Toggle whether the filtering via the intercept option is enabled",
|
|
)
|
|
km.add("i", "console.command.set intercept", ["global"], "Set intercept")
|
|
km.add("W", "console.command.set save_stream_file", ["global"], "Stream to file")
|
|
km.add(
|
|
"A",
|
|
"flow.resume @all",
|
|
["flowlist", "flowview"],
|
|
"Resume all intercepted flows",
|
|
)
|
|
km.add(
|
|
"a",
|
|
"flow.resume @focus",
|
|
["flowlist", "flowview"],
|
|
"Resume this intercepted flow",
|
|
)
|
|
km.add(
|
|
"b",
|
|
"console.command cut.save @focus response.content ",
|
|
["flowlist", "flowview"],
|
|
"Save response body to file",
|
|
)
|
|
km.add(
|
|
"d",
|
|
"view.flows.remove @focus",
|
|
["flowlist", "flowview"],
|
|
"Delete flow from view",
|
|
)
|
|
km.add(
|
|
"D", "view.flows.duplicate @focus", ["flowlist", "flowview"], "Duplicate flow"
|
|
)
|
|
km.add(
|
|
"x",
|
|
"""
|
|
console.choose.cmd "Export as..." export.formats
|
|
console.command export.file {choice} @focus
|
|
""",
|
|
["flowlist", "flowview"],
|
|
"Export this flow to file",
|
|
)
|
|
km.add("f", "console.command.set view_filter", ["flowlist"], "Set view filter")
|
|
km.add(
|
|
"F",
|
|
"set console_focus_follow toggle",
|
|
["flowlist", "flowview"],
|
|
"Set focus follow",
|
|
)
|
|
km.add(
|
|
"ctrl l",
|
|
"console.command cut.clip ",
|
|
["flowlist", "flowview"],
|
|
"Send cuts to clipboard",
|
|
)
|
|
km.add(
|
|
"L", "console.command view.flows.load ", ["flowlist"], "Load flows from file"
|
|
)
|
|
km.add("m", "flow.mark.toggle @focus", ["flowlist"], "Toggle mark on this flow")
|
|
km.add(
|
|
"M",
|
|
"view.properties.marked.toggle",
|
|
["flowlist"],
|
|
"Toggle viewing marked flows",
|
|
)
|
|
km.add(
|
|
"n",
|
|
"console.command view.flows.create get https://example.com/",
|
|
["flowlist"],
|
|
"Create a new flow",
|
|
)
|
|
km.add(
|
|
"o",
|
|
"""
|
|
console.choose.cmd "Order flows by..." view.order.options
|
|
set view_order {choice}
|
|
""",
|
|
["flowlist"],
|
|
"Set flow list order",
|
|
)
|
|
km.add("r", "replay.client @focus", ["flowlist", "flowview"], "Replay this flow")
|
|
km.add("S", "console.command replay.server ", ["flowlist"], "Start server replay")
|
|
km.add(
|
|
"v", "set view_order_reversed toggle", ["flowlist"], "Reverse flow list order"
|
|
)
|
|
km.add("U", "flow.mark @all false", ["flowlist"], "Un-set all marks")
|
|
km.add(
|
|
"w",
|
|
"console.command save.file @shown ",
|
|
["flowlist"],
|
|
"Save listed flows to file",
|
|
)
|
|
km.add(
|
|
"V",
|
|
"flow.revert @focus",
|
|
["flowlist", "flowview"],
|
|
"Revert changes to this flow",
|
|
)
|
|
km.add("X", "flow.kill @focus", ["flowlist"], "Kill this flow")
|
|
km.add(
|
|
"z",
|
|
'console.command.confirm "Delete all flows" view.flows.remove @all',
|
|
["flowlist"],
|
|
"Clear flow list",
|
|
)
|
|
km.add(
|
|
"Z",
|
|
'console.command.confirm "Purge all hidden flows" view.flows.remove @hidden',
|
|
["flowlist"],
|
|
"Purge all flows not showing",
|
|
)
|
|
km.add(
|
|
"|",
|
|
"console.command script.run @focus ",
|
|
["flowlist", "flowview"],
|
|
"Run a script on this flow",
|
|
)
|
|
|
|
km.add(
|
|
"e",
|
|
"""
|
|
console.choose.cmd "Edit..." console.edit.focus.options
|
|
console.edit.focus {choice}
|
|
""",
|
|
["flowlist", "flowview"],
|
|
"Edit a flow component",
|
|
)
|
|
km.add(
|
|
"f",
|
|
"view.settings.setval.toggle @focus fullcontents",
|
|
["flowview"],
|
|
"Toggle viewing full contents on this flow",
|
|
)
|
|
km.add("w", "console.command save.file @focus ", ["flowview"], "Save flow to file")
|
|
km.add("space", "view.focus.next", ["flowview"], "Go to next flow")
|
|
|
|
km.add(
|
|
"v",
|
|
"""
|
|
console.choose "View..." request,response
|
|
console.bodyview @focus {choice}
|
|
""",
|
|
["flowview"],
|
|
"View flow body in an external viewer",
|
|
)
|
|
km.add("p", "view.focus.prev", ["flowview"], "Go to previous flow")
|
|
km.add(
|
|
"m",
|
|
"""
|
|
console.choose.cmd "Set contentview..." console.flowview.mode.options
|
|
console.flowview.mode.set {choice}
|
|
""",
|
|
["flowview"],
|
|
"Set flow view mode",
|
|
)
|
|
km.add(
|
|
"z",
|
|
"""
|
|
console.choose "Encode/decode..." request,response
|
|
flow.encode.toggle @focus {choice}
|
|
""",
|
|
["flowview"],
|
|
"Encode/decode flow body",
|
|
)
|
|
|
|
km.add("L", "console.command options.load ", ["options"], "Load from file")
|
|
km.add("S", "console.command options.save ", ["options"], "Save to file")
|
|
km.add("D", "options.reset", ["options"], "Reset all options")
|
|
km.add("d", "console.options.reset.focus", ["options"], "Reset this option")
|
|
|
|
km.add("a", "console.grideditor.add", ["grideditor"], "Add a row after cursor")
|
|
km.add(
|
|
"A", "console.grideditor.insert", ["grideditor"], "Insert a row before cursor"
|
|
)
|
|
km.add("d", "console.grideditor.delete", ["grideditor"], "Delete this row")
|
|
km.add(
|
|
"r",
|
|
"console.command console.grideditor.load",
|
|
["grideditor"],
|
|
"Read unescaped data into the current cell from file",
|
|
)
|
|
km.add(
|
|
"R",
|
|
"console.command console.grideditor.load_escaped",
|
|
["grideditor"],
|
|
"Load a Python-style escaped string into the current cell from file",
|
|
)
|
|
km.add("e", "console.grideditor.editor", ["grideditor"], "Edit in external editor")
|
|
km.add(
|
|
"w",
|
|
"console.command console.grideditor.save ",
|
|
["grideditor"],
|
|
"Save data to file as CSV",
|
|
)
|
|
|
|
km.add(
|
|
"z",
|
|
'console.command.confirm "Clear event log" eventstore.clear',
|
|
["eventlog"],
|
|
"Clear",
|
|
)
|
|
|
|
km.add(
|
|
"a",
|
|
"""
|
|
console.choose.cmd "Context" console.key.contexts
|
|
console.command console.key.bind {choice}
|
|
""",
|
|
["keybindings"],
|
|
"Add a key binding",
|
|
)
|
|
km.add(
|
|
"d",
|
|
"console.key.unbind.focus",
|
|
["keybindings"],
|
|
"Unbind the currently focused key binding",
|
|
)
|
|
km.add(
|
|
"x",
|
|
"console.key.execute.focus",
|
|
["keybindings"],
|
|
"Execute the currently focused key binding",
|
|
)
|
|
km.add(
|
|
"enter",
|
|
"console.key.edit.focus",
|
|
["keybindings"],
|
|
"Edit the currently focused key binding",
|
|
)
|