diff options
Diffstat (limited to 'examples/simple/io_write_dumpfile.py')
-rw-r--r-- | examples/simple/io_write_dumpfile.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/simple/io_write_dumpfile.py b/examples/simple/io_write_dumpfile.py new file mode 100644 index 00000000..ff1fd0f4 --- /dev/null +++ b/examples/simple/io_write_dumpfile.py @@ -0,0 +1,29 @@ +""" +This script how to generate a mitmproxy dump file, +as it would also be generated by passing `-w` to mitmproxy. +In contrast to `-w`, this gives you full control over which +flows should be saved and also allows you to rotate files or log +to multiple files in parallel. +""" +import random +import sys +from mitmproxy import io + + +class Writer: + def __init__(self, path): + if path == "-": + f = sys.stdout + else: + f = open(path, "wb") + self.w = io.FlowWriter(f) + + def response(self, flow): + if random.choice([True, False]): + self.w.add(flow) + + +def start(): + if len(sys.argv) != 2: + raise ValueError('Usage: -s "flowriter.py filename"') + return Writer(sys.argv[1]) |