mitmproxy/examples/simple/io_write_dumpfile.py
2017-04-29 03:26:14 +05:30

27 lines
697 B
Python

"""
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, http
class Writer:
def __init__(self, path: str) -> None:
if path == "-":
f = sys.stdout # type: io.TextIO
else:
f = open(path, "wb")
self.w = io.FlowWriter(f)
def response(self, flow: http.HTTPFlow) -> None:
if random.choice([True, False]):
self.w.add(flow)
addons = [Writer(sys.argv[1])]