from mitmproxy import http import asyncio from pkce_check import PKCEDowngradeChecker from csrf_check import CsrfChecker class PKCEAddon: def __init__(self): self.checker = PKCEDowngradeChecker() async def request(self, flow: http.HTTPFlow): # print(f"[DEBUG] Processing request: {flow.request.method} {flow.request.pretty_url}") try: await self.checker.test(flow) except Exception as e: print(f"[ERROR] Addon failed: {e}") pass class CsrfAddon: def __init__(self): self.checker = CsrfChecker() async def response(self, flow: http.HTTPFlow): # print(f"[DEBUG] Processing request for CSRF check: {flow.request.method} {flow.request.pretty_url}") try: await self.checker.response(flow) except Exception as e: print(f"[ERROR] CSRF Addon failed: {e}") pass addons = [PKCEAddon(), CsrfAddon()]