mitmproxy/examples
Aldo Cortesi e6eeab6094 Revamp how addons work
- Addons now nest, which means that addons can manage addons. This has a number
of salutary effects - the scripts addon no longer has to poke into the global
addons list, we no longer have to replace/remove/boot-outof parent addons when
we load scripts, and this paves the way for making our top-level tools into
addons themselves.
- All addon calls are now wrapped in a safe execution environment where
exceptions are caught, and output to stdout/stderr are intercepted and turned
into logs.
- We no longer support script arguments in sys.argv - creating an option
properly is the only way to pass arguments. This means that all scripts are
always directly controllable from interctive tooling, and that arguments are
type-checked.

For now, I've disabled testing of the har dump example - it needs to be moved
to the new argument handling, and become a class addon. I'll address that in a
separate patch.
2017-04-25 22:13:44 +12:00
..
complex Revamp how addons work 2017-04-25 22:13:44 +12:00
pathod format examples 2016-05-29 01:23:39 -07:00
simple Revamp how addons work 2017-04-25 22:13:44 +12:00
README.md organize examples 2016-11-21 02:28:10 +01:00

Mitmproxy Scripting API

Mitmproxy has a powerful scripting API that allows you to control almost any aspect of traffic being proxied. In fact, much of mitmproxys own core functionality is implemented using the exact same API exposed to scripters (see mitmproxy/addons).

This directory contains some examples of the scripting API. We recommend to start with the ones in simple/.

⚠️ If you are browsing this on GitHub, make sure to select the git tag matching your mitmproxy version.

Some inline scripts may require additional dependencies, which can be installed using pip install mitmproxy[examples].