# Nodriver + Google OAuth Grok Registration Конкретный пайплайн регистрации Grok (x.ai) через Google OAuth, когда прямой email signup блокируется Cloudflare. ## Проблема `accounts.x.ai` блокирует ВСЕ bpproxy residential прокси (403). Даже DrissionPage с Turnstile patch получает `PageDisconnectedError` — Cloudflare рвёт CDP-соединение. ## Решение Google OAuth flow через nodriver. Google (`accounts.google.com`) принимает bpproxy (302), а OAuth-редирект имеет больше шансов пройти. ## Файлы - `grok_nodriver.py` — nodriver + email signup (DrissionPage-совместимый API) - `grok_google_oauth.py` — nodriver + Google OAuth с Gmail аккаунтами - `proxy_forwarder_9129.py` — локальный HTTP forward proxy на порту 9129 ## Требования - `nodriver` (pip install nodriver) - `pyotp` для TOTP 2FA - Gmail аккаунты в формате `tusk_gmail_accounts.json`: ```json [{"email": "...@gmail.com", "password": "...", "2fa_secret": "..."}] ``` - Локальный proxy forwarder с bpproxy residential (Google принимает bpproxy) ## Flow 1. Запустить proxy forwarder: `python proxy_forwarder_9129.py` 2. `python grok_google_oauth.py N` (N = количество аккаунтов) 3. Nodriver открывает Chrome → `accounts.x.ai/sign-up` → ждёт Turnstile (~30 сек) 4. Ищет кнопку «Continue with Google» → кликает 5. Google OAuth: email → пароль → TOTP (если 2FA) → consent 6. Редирект на Grok → аккаунт создан 7. Сохраняет SSO в `sso/` ## Pitfalls - **Proxy forwarder port conflicts**: не запускать несколько экземпляров на одном порту - **bpproxy hardsession expiry**: прокси могут умереть через несколько часов - **Google может запросить дополнительную верификацию**: phone, recovery email - **TOTP timing**: код валиден 30 секунд, точное время на хосте критично