Commit Graph

8141 Commits

Author SHA1 Message Date
Aldo Cortesi
6dff8c58ad commands: if no explicit return type is specified, assume None
This is going to be a super common error for addon authors, so we might as well
handle it.
2018-05-12 10:15:08 +12:00
Thomas Kriechbaumer
e305a320a2 fix tcp example 2018-05-11 11:58:01 +02:00
Aldo Cortesi
75d30212c2 console: fix bug that caused addon commands not to appear in command list 2018-05-11 15:00:32 +12:00
Aldo Cortesi
9a53525b83 Remove MANIFEST.in
We don't use sdist.
2018-05-10 17:47:30 +12:00
Aldo Cortesi
be27bde4d4 cmdline: --conf -> --confdir, which specifies the config directory, not the yaml options file
This is a much more sensible behaviour for the flag.
2018-05-10 17:35:37 +12:00
Aldo Cortesi
ab89079c65
Merge pull request #3109 from cortesi/kmap
console keybindings: define a yaml format, load CONFDIR/keys.yaml on startup
2018-05-10 17:30:49 +12:00
Aldo Cortesi
1f02354196 Initial changelog for 4.0 2018-05-10 17:23:29 +12:00
Aldo Cortesi
8c63a8818d keymap: read keys from CONFDIR/keys.yaml by default 2018-05-10 16:06:52 +12:00
Aldo Cortesi
9830e5b597 cadir -> confdir
We store a lot more than just the CAs in our configuration directory. Clarify
the option name.
2018-05-10 11:40:33 +12:00
Aldo Cortesi
3438912236 console keybindings: define YAML-based format for console key binding persistence 2018-05-10 11:30:51 +12:00
Maximilian Hils
0c101a4bcc
Merge pull request #3106 from cortesi/noprint
Ditch the addon stdout wrapper
2018-05-08 15:24:02 +02:00
Thomas Kriechbaumer
ad74c18f74
Merge pull request #3107 from 0xHJK/master
add har_dump example cmdline invocation
2018-05-08 11:07:05 +02:00
0xHJK
a46a317dca har_dump example cmdline invocation 2018-05-08 16:27:56 +08:00
Aldo Cortesi
7d9b626d2e clientplayback: try to fix flaky replay test 2018-05-08 16:33:41 +12:00
Aldo Cortesi
8a682d3532
Merge pull request #3105 from cortesi/opts
Add deferred options, tweak benchmarks, document done event
2018-05-08 14:53:56 +12:00
Aldo Cortesi
af1a4ffdcd Ditch the addon stdout wrapper
This results in a 30% improvement in our core request throughput.

Fixes #3102
2018-05-08 14:26:41 +12:00
Aldo Cortesi
717fbaa990 optmanager: refactor for coverage and clarity 2018-05-08 14:24:41 +12:00
Aldo Cortesi
76a7883c8b events: document behaviour of done() more fully 2018-05-08 11:09:10 +12:00
Aldo Cortesi
1b0eed19d1 benchmarks: quick-run scripts for mitmproxy and mitmdump 2018-05-08 11:08:37 +12:00
Aldo Cortesi
9b51393b6d benchmark: keep track of requests/responses seen by proxy 2018-05-08 11:00:20 +12:00
Aldo Cortesi
f7d7e31f06 options: add the concept of deferred settings
We've had a perpetual sequencing problem with addon startup. Users need to be
able to specify options to addons on the command-line, before addons are
actually loaded. This is only exacerbated with the new async core, where load
order can't be relied on.

This patch introduces deferred options. Options passed with "--set" on the
command line are deferred if they are unknown, and are automatically applied by
the addon manager once matching addons are registered and their options are defined.
2018-05-08 10:56:00 +12:00
Aldo Cortesi
7ec9c5524f
Merge pull request #3104 from cortesi/cmdcall
Zap some commands.call invocations that were missed in the rename
2018-05-07 19:19:51 +12:00
Aldo Cortesi
39e5f94cf1 Zap some commands.call invocations that were missed in the rename 2018-05-07 18:46:17 +12:00
Thomas Kriechbaumer
2a0da34a0c
Merge pull request #3103 from mhils/fix-processing
Remove leftover processing_complete
2018-05-06 18:37:24 +02:00
Maximilian Hils
752a367436 remove leftover processing_complete 2018-05-06 15:47:12 +02:00
Thomas Kriechbaumer
44d788ff96
Merge pull request #2986 from miheerdew/patch-1
Workaround for MacOS transparent proxy
2018-05-06 12:24:24 +02:00
Thomas Kriechbaumer
eecb576aff
Merge pull request #3100 from cortesi/block
Remove allowremote addon, add an improved take called block
2018-05-06 11:40:46 +02:00
Aldo Cortesi
60acbd79b9 Remove allowremote addon, add an improved take called block
We now have two options: block_global blocks global networks, block_private
blocks private networks. The block_global option is true by default, and
block_private is false by default. The addon name is "block" so the options are
correctly prefixed.

Also make option documentation precise, reduce verbosity of logs.
2018-05-06 12:43:25 +12:00
Aldo Cortesi
c53bc39c95
Merge pull request #3099 from Kriechi/fix-3024
fix #3024
2018-05-06 11:27:14 +12:00
Thomas Kriechbaumer
54e2daa21e fix #3024 2018-05-05 14:38:02 +02:00
Thomas Kriechbaumer
b4f618e801
Merge pull request #3098 from drzax/patch-1
Fix typo in addons-overview.md
2018-05-05 12:34:22 +02:00
Simon Elvery
48ba4eb737
Fix typo in addons-overview.md 2018-05-05 20:24:49 +10:00
Aldo Cortesi
a3007aa223
Merge pull request #3093 from cortesi/diecustom
Remove custom events
2018-05-05 10:05:57 +12:00
Aldo Cortesi
9e283b2779
Merge pull request #3097 from cortesi/examp
Revamp dup_and_replay example
2018-05-05 10:05:43 +12:00
Aldo Cortesi
f5dc0aace1 Revamp dup_and_replay example
- Exposes view.add as a command
- Copes with cases where a view addon isn't present
- Avoids infinite loop caused by replaying replays

Fixes #3096
2018-05-05 09:34:22 +12:00
Aldo Cortesi
6bd2d5059b Remove custom events
These were always weird, and were added to support exit when processing
completed to mitmdump. We now have better ways to do this.
2018-05-03 09:42:51 +12:00
Aldo Cortesi
165a4be7a9
Merge pull request #3091 from cortesi/dietick
Remove the tick event
2018-05-03 08:54:58 +12:00
Aldo Cortesi
f380a77dee Remove the tick event
Mitmproxy: the tickless wonder.
2018-05-02 14:29:15 +12:00
Aldo Cortesi
d12186a935
Merge pull request #3090 from cortesi/iflight
Redesign keepserving
2018-05-02 13:45:06 +12:00
Aldo Cortesi
2f3ba1f66d Catch some stray command.call invocations 2018-05-02 12:08:15 +12:00
Aldo Cortesi
0f6072050a
Merge pull request #3089 from cortesi/creplay
Revamp client replay
2018-05-02 11:33:45 +12:00
Aldo Cortesi
38ff8109fb taddons: remove has_event
We no longer use this anywhere, so ditch it.
2018-05-02 11:31:28 +12:00
Aldo Cortesi
22a4b1d5d4 Redesign keepserving
- Instead of listening for a pseudo-event, we periodically check whether client
replay, server replay or file reading is active.
- Adjust server replay not to
use tick.
- Adjust readfile to expose a command to check whether reading is in progress.
2018-05-02 11:26:40 +12:00
Aldo Cortesi
e963408434 console: use replay count commands in statusbar
Also add a periodic refresh every 0.5 seconds for the statusbar. This is in
addition to refreshes upon event update notifications, and picks up replay
status changes not linked to flow events.
2018-05-02 09:43:42 +12:00
Aldo Cortesi
42b04a5413 server replay: expose the replay.server.count command 2018-05-02 09:02:27 +12:00
Aldo Cortesi
204726349d client replay: replaying flows in-flight should be added to count() 2018-05-02 08:50:17 +12:00
Aldo Cortesi
00d790fe84 commands: clarify command call interface, fix web app replay 2018-05-02 08:36:15 +12:00
Aldo Cortesi
09c36a8c7c client replay: use count command for console statusbar 2018-05-01 09:04:59 +12:00
Aldo Cortesi
6d27b28b85 client replay: expad and consolidate tests 2018-05-01 08:47:26 +12:00
Aldo Cortesi
e8dac2d290 client replay: revert our changes if replay is aborted 2018-04-30 17:19:39 +12:00