Commit Graph

6590 Commits

Author SHA1 Message Date
Aldo Cortesi
9d2350b670 Merge pull request #2305 from cortesi/consolebugs
console: various bugfixes
2017-05-02 13:09:27 +12:00
Aldo Cortesi
dcae79e017 console: various bugs
- Action bar now correctly gets the palette background
- Viewing connection details for a killed flow no longer crashes
- Editing options with selections no longer crashes
2017-05-02 12:56:27 +12:00
Aldo Cortesi
4e39d387d3 commands: options control
Use the new commands to bind the Options view in console.
2017-05-02 12:18:24 +12:00
Aldo Cortesi
9e58c36639 console: globally respected nav commands
Use this to bind nav keys with commands throughout.
2017-05-02 12:18:24 +12:00
Aldo Cortesi
8d29492960 Merge pull request #2299 from iharsh234/mypy-pathod
Mypy Checking to pathod
2017-05-02 12:17:57 +12:00
harsh vijay
e24b4cc1b6 Extend Mypy checking to pathod
* mypy checking pathod

* initial commit , fixed errors

* tox: mypy checking to pathod

* Fixed mypy test failed

* issue was with args in custom_contentview.py

* tox: mypy checking to #2221

* follow-import=skip since we cant provide args to custom_contentview.py during mypy testing

* Lint , Typo Fixed

* code style: module import
2017-05-02 05:19:25 +05:30
Aldo Cortesi
53ad658e9f Merge pull request #2302 from cortesi/flowview
commands: view.setval, view.getval, view.setval.toggle
2017-05-01 20:17:24 +12:00
Aldo Cortesi
2f52d8b9ad commands: view.setval, view.getval, view.setval.toggle
Use these to bind the last of the key for flowview. Flow views are now 100%
keybound.
2017-05-01 19:52:24 +12:00
Aldo Cortesi
143872b574 Merge pull request #2301 from cortesi/encoding
commands: flow.encode, flow.decode, flow.encode.toggle
2017-05-01 19:52:00 +12:00
Aldo Cortesi
7d56ec9d49 commands: flow.encode, flow.decode, flow.encode.toggle
Use this to bind "z" in flowview.
2017-05-01 18:31:22 +12:00
Aldo Cortesi
06c99bffc3 Merge pull request #2300 from cortesi/consolerevamp
Console revamp
2017-05-01 18:29:44 +12:00
Aldo Cortesi
542a998174 commands: console.bodyview, console.choose
Use this to replace the "v" for view shortcut key in flowview.
2017-05-01 17:56:21 +12:00
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