diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d990669..bf5d5a9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,6 +26,10 @@ jobs: - name: Install dependencies run: uv sync + + - name: Set up environment variables + run: | + echo "GOOGLE_ID=bot.imnya.ng@gmail.com" > .env - name: Start application and run proxy test run: | diff --git a/addon/init.py b/addon/init.py index afb3db8..b022811 100644 --- a/addon/init.py +++ b/addon/init.py @@ -1,3 +1,4 @@ +from json import load from mitmproxy import http import asyncio from pkce_check import PKCEDowngradeChecker @@ -7,6 +8,10 @@ from nonce_check import NonceChecker from redirect_uri_check import RedirectBypassChecker from access_token import AccessTokenScanner from GoogleLoginHint import GoogleLoginHint +import os +from dotenv import load_dotenv + +load_dotenv(override=True) class PKCEAddon: def __init__(self): @@ -90,8 +95,14 @@ class RedirectBypassAddon: class GoogleLoginHintAddon(): def __init__(self) -> None: - self.checker = GoogleLoginHint() + if os.getenv('GOOGLE_ID'): + self.checker = GoogleLoginHint() + else: + self.checker = None + def request(self, flow: http.HTTPFlow): + if self.checker is None: + return try: asyncio.run(self.checker.request(flow)) except Exception as e: