Commit Graph

6734 Commits

Author SHA1 Message Date
Aldo Cortesi
1ea4a5a48e keymap: keys can now bind to multiple contexts
Use this to map the majority of the keys in flowview.
2017-05-01 16:52:58 +12:00
Aldo Cortesi
670d1e408b command: flow.set
Use this to replace the flow edit components of flowview entirely.
2017-05-01 14:56:57 +12:00
Aldo Cortesi
46373977e2 Refactor console
- All top-level window objects are now persistent. It turns out that urwid
keeps a reference to these even after they're no longer used, so they were
leaking before.
- Revamp editors to work with console commands, and start reworking bindings
for flowview.
2017-05-01 14:12:22 +12:00
Maximilian Hils
288448c575 Merge pull request #2285 from MatthewShao/jest-dev
[web] Add coverage for js/urlState.js
2017-04-30 18:26:41 +02:00
Matthew Shao
365677006c [web] Export updateUrlFromStore and updateStoreFromUrl 2017-04-30 22:40:58 +08:00
Maximilian Hils
fccc9bc45e Merge pull request #2271 from mhils/mitmweb-connection-indicator
[web] add connection indicator [WIP]
2017-04-30 15:23:20 +02:00
Aldo Cortesi
29ce5a83d2 Merge pull request #2297 from cortesi/flowcmd
commands: view.order.options, view.marked.toggle, view.create
2017-05-01 00:02:15 +12:00
Matthew Shao
a7feced5de [web] Introduce redux-mock-store and minor fix. 2017-04-30 20:00:36 +08:00
Aldo Cortesi
685487d33c commands: view.order.options, view.marked.toggle, view.create
And use these commands to remove the last hard-coded keybindings from flow
list. This means the flow list is now 100% command-driven, which is very
exciting.
2017-04-30 22:45:31 +12:00
Aldo Cortesi
b10a3992d8 Merge pull request #2296 from cortesi/viewload
commands: view.load
2017-04-30 22:30:29 +12:00
Aldo Cortesi
a570caccbd commands: view.load
Plus replace the flow list keybinding.
2017-04-30 22:02:29 +12:00
Aldo Cortesi
3cd93567f5 commands: support *args for commands
Use this to simplify meta-commands in console, and to create a console_choose
command that prompts the user for a choice, and then executes a command with
variable substitution.
2017-04-30 21:24:00 +12:00
Thomas Kriechbaumer
82f87919e2 fix markdown 2017-04-30 11:21:28 +02:00
Thomas Kriechbaumer
8a4a46e7d3 update docker-release tags during release 2017-04-30 11:19:55 +02:00
Aldo Cortesi
bcbe87bb09 Move export to addon, kill Python and Locust export
Also add a "raw" export format.

The Python and Locust exports are hard to maintain, their tests are extremely
brittle, they didn't have full test coverage, and are by my guess very rarely
used. I feel the Locust export should certainly be an externally maintained
addon. The Python/requests export can come back if someone cares enough, and it
can be structured in a way we can maintain.
2017-04-30 17:53:30 +12:00
Aldo Cortesi
50cfededce Merge pull request #2293 from cortesi/clip
commands: cut.clip copies cuts to system clipboard
2017-04-30 17:37:45 +12:00
Aldo Cortesi
befbe88d96 commands: cut.clip copies cuts to system clipboard 2017-04-30 14:42:37 +12:00
Aldo Cortesi
51b50737e7 Merge pull request #2291 from cortesi/cuts
Introduce cuts: a flow dissector
2017-04-30 14:35:06 +12:00
Aldo Cortesi
ed62bbad1d Add help text to --commands output 2017-04-30 14:20:21 +12:00
Aldo Cortesi
075d452a6d cut: more flexible cut specification based on attribute paths
Also support certificate types, which are converted to ASCII-encoded PEM format.
2017-04-30 14:05:45 +12:00
Aldo Cortesi
7ffb2c7981 cut: use csv module to encode multi-values for saving
Also add q.text, q.raw_content, s.text, s.raw_content selectors
2017-04-30 11:48:32 +12:00
Maximilian Hils
97a00728a8 [web] add connection tests 2017-04-29 19:43:59 +02:00
Maximilian Hils
8f1b763082 [web] add connection indicator 2017-04-29 19:34:51 +02:00
Maximilian Hils
aa0e134041 Merge pull request #2276 from mitmproxy/add-examples-to-script-docs
Prominently link to examples in script docs
2017-04-29 19:23:21 +02:00
Aldo Cortesi
4b568f99d6 Introduce cuts: a flow dissector
This PR introduces the cuts addon, a flow dissector that  allows you to select
and operate on specific components of flows. It also adds the first consumer
for cuts - the cuts.save command.

Save the content of the focus to /tmp/foo:

    cuts.save s.content|@focus /tmp/foo

Save the URL and response content-type headers for all flows currently shown to
file, comma-separated, one flow per line:

    cuts.save s.url,q.header[content-type]|@focus /tmp/foo

We also use this to replace the body save shortcut in the console flowlist.
2017-04-29 23:32:31 +12:00
Aldo Cortesi
83f8760703 Merge pull request #2221 from iharsh234/mypy-master-example/simple
Extend mypy example/simple (#2194)
2017-04-29 23:19:11 +12:00
Aldo Cortesi
25fb0cc019 Merge pull request #2290 from cortesi/scriptrun
command: script.run
2017-04-29 13:48:17 +12:00
Aldo Cortesi
d439b34511 command: script.run
Plus the flowlist binding adjustments.
2017-04-29 13:24:19 +12:00
Aldo Cortesi
915bc7647d Merge pull request #2289 from cortesi/flowrevert
command: flow.revert
2017-04-29 12:30:23 +12:00
Aldo Cortesi
a32f87fef9 Merge pull request #2288 from cortesi/replayfiles
commands: "replay.client.file" and "replay.server.file"
2017-04-29 11:52:38 +12:00
Aldo Cortesi
1d5eedcc9c command: flow.revert
Plus matching binding in flowlist.
2017-04-29 11:48:25 +12:00
Aldo Cortesi
f908ea220f commands: "replay.client.file" and "replay.server.file" 2017-04-29 11:34:50 +12:00
Aldo Cortesi
c7247e026d Merge pull request #2287 from cortesi/cmdmark
commands: marking
2017-04-29 11:23:19 +12:00
Aldo Cortesi
a92017a6c1 Rework client and server replay
- Add client.replay [flows], client.replay.stop
- Add server.replay [flows], server.replay.stop
- The corresponding options for file loading are only read on startup, further
changes are ignored. In interactive contexts, replay is started with the
commands, not through option changes.
- Deprecate flow.replay, use replay.client instead
2017-04-29 11:02:36 +12:00
harsh vijay
789fbd00d2 Fixed lint error 2017-04-29 03:54:00 +05:30
harsh vijay
6e03231d25 lint error fixed 2017-04-29 03:49:08 +05:30
Aldo Cortesi
7317ea134e command: flow.kill, flow.replay
Plus the matching bindings in the flow list.
2017-04-29 09:58:32 +12:00
harsh vijay
36118973d9 extend mypy example/simple 2017-04-29 03:26:14 +05:30
Aldo Cortesi
f21a970f29 commands: marking
Add "view.mark [flows] bool" and "view.mark.toggle [flows]". Use this to rebind
marking keys in flowlist.
2017-04-29 09:14:44 +12:00
Aldo Cortesi
139c4e6db3 Merge pull request #2283 from cortesi/cmdall
Commands, core update event
2017-04-29 09:14:22 +12:00
Aldo Cortesi
217addbf31 commands: view.go
bind G to "view.go -1"
bind g to "view.go 0"
2017-04-29 08:40:38 +12:00
Aldo Cortesi
0b090f7ae1 Commands, core update event
This patch:

- Introduces a core update() event that should be invoked whenever flows are
changed outside of the normal lifecycle.
- Extend view.resolve to know about @all, which matches all flows in the view.
- Add a core flow.resume comand, which resumes flows and broadcasts an update event.
- Define flow list bindings for:

A -> flow.resume @all
a -> flow.resume @focus
d -> view.remove @focus
z -> view.remove @all
2017-04-29 08:01:00 +12:00
Charles d'Hondt
65202f5f1c Added ldapsss vef 2017-04-28 17:00:21 +02:00
Charles d'Hondt
6d3837fd54 fix 2017-04-28 16:44:50 +02:00
Charles d'Hondt
f91ed91bf1 fix 2017-04-28 16:40:34 +02:00
Charles d'Hondt
29c1f303d6 Fixed typo 2017-04-28 16:23:32 +02:00
Charles d'Hondt
5fb18ad275 Added LDAP Auth 2017-04-28 16:19:27 +02:00
Matthew Shao
f8b76a62ff [web] Add coverage for js/urlState.js 2017-04-28 22:06:17 +08:00
Maximilian Hils
b537997f4f Update README.md 2017-04-28 14:43:49 +02:00
Maximilian Hils
05e1f22143 Update README.md 2017-04-28 14:24:57 +02:00