Add Gmail+Email Worker hybrid mail path and private runtime config

Prefer Cloudflare Worker KV for verification codes with optional short IMAP
fallback disabled for private deploy; track config.json/.env for private repo.
Also add worker project, protocol mint backoff, and fail-fast Turnstile/mail
timeouts from batch runs.
This commit is contained in:
chaos committed 2026-07-11 23:21:23 +08:00
1 parent 187792d6be
commit 55f56d27c9
19 files changed
+1225 -85

No files matched your search

+29 -1
View File
@@ -182,13 +182,41 @@ def save_account(email: str, password: str, sso: str = ""):
f.write(f"{email}----{password}----{sso}\n")
print(f"[+] Saved: {email}")
def resolve_browser_path() -> str | None:
# Prefer Chromium: Google Chrome blocks --load-extension (turnstilePatch).
for cand in (
"/snap/bin/chromium",
"/usr/bin/chromium",
"/usr/bin/chromium-browser",
"/usr/bin/google-chrome",
"/usr/bin/google-chrome-stable",
):
if os.path.isfile(cand) or os.path.islink(cand):
return cand
return None
def create_browser_options(headless: bool = False, proxy: str = "") -> ChromiumOptions:
opts = ChromiumOptions()
opts.auto_port()
for flag in CHROMIUM_SLIM_FLAGS:
opts.set_argument(flag)
browser_path = resolve_browser_path()
if browser_path:
try:
opts.set_browser_path(browser_path)
except Exception:
pass
if os.path.exists(EXTENSION_PATH):
opts.add_extension(EXTENSION_PATH)
is_chrome = bool(
browser_path
and "chrome" in os.path.basename(browser_path)
and "chromium" not in browser_path
)
if is_chrome:
print("[!] skip turnstilePatch: Google Chrome disallows --load-extension; use Chromium")
else:
opts.add_extension(EXTENSION_PATH)
if headless:
opts.headless()
if proxy: