Commit Graph

7830 Commits

Author SHA1 Message Date
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
Aldo Cortesi
236a2fb6fd client replay: re-design
Re-design the way client replay works. Before, we would fire up a thread,
replay, wait for the thread to complete, get the next flow, and repeat the
procedure. Now, we have one replay thread that starts when the addon starts,
which pops flows off a thread-safe queue. This is much cleaner, removes the
need for busy tick, and sets the scene for optimisations like server connection
reuse down the track.
2018-04-30 17:17:03 +12:00
Aldo Cortesi
28d53d5a24 client replay: move all client replay-related code into addon 2018-04-27 16:34:56 +12:00
Aldo Cortesi
bc3ace6082
Merge pull request #3082 from p1uymi/patch-2
Changed syntax of two options (from v2 to v3)
2018-04-27 11:20:20 +12:00
Aldo Cortesi
abc36a5f6b
Merge pull request #3083 from mitmproxy/requires-io-master
[requires.io] dependency update on master branch
2018-04-27 11:19:34 +12:00
requires.io
b3f3e97377 [requires.io] dependency update 2018-04-27 00:11:43 +02:00
requires.io
710880a652 [requires.io] dependency update 2018-04-26 22:41:36 +02:00
p1uymi
93a59acaeb
Changed syntax from v2 to v3
--client-certs = v2 syntax --> --set client_certs=value = v3 syntax
--cadir = v2 syntax --> --set cadir=value = v3 syntax
2018-04-26 16:14:27 +02:00
Aldo Cortesi
a4a48a96d6
Merge pull request #3078 from kajojify/expanduser
Fix #3002. Auto-expanding for tilda.
2018-04-26 21:02:10 +12:00
Miroslav
a42443b029 Incompatible types 2018-04-26 08:41:48 +03:00
Miroslav
d7abdd86e8 Lint 2018-04-26 08:21:46 +03:00
Aldo Cortesi
13f3cbed4f
Merge pull request #3076 from clyfish/keepalive
add SO_KEEPALIVE
2018-04-26 11:49:34 +12:00