22 lines
2.8 KiB
Markdown
22 lines
2.8 KiB
Markdown
# RainProxy dashboard — CDP + самопроходящий Turnstile (2026-09-10)
|
||
|
||
Подтверждённый рабочий паттерн для Vite-SPA с Cloudflare Turnstile, когда headless-инструменты висят.
|
||
|
||
## Симптом
|
||
- dashboard.rainproxy.io — пустая белая страница в Playwright MCP, chrome-devtools MCP и browser-use: бандл `/assets/index.*.js` (~900KB) остаётся `pending` / `ERR_CONNECTION_RESET`, хотя `curl` качает тот же файл (200). Причина сетевая/браузерная, не сайтовая.
|
||
- Firecrawl stealth рендерит страницу, но интеракт-сессии сгорают между вызовами ("Job not found"), лимит 2 concurrent jobs, MCP-таймаут 60s — многошаговые формы с ожиданием капчи через firecrawl_interact ненадёжны.
|
||
|
||
## Рабочее решение: реальный Chrome + CDP
|
||
1. `chrome.exe --remote-debugging-port=9333 --user-data-dir=<fresh_dir> --no-first-run <url>` через terminal(background=true). Fresh profile обязателен.
|
||
2. Playwright `connect_over_cdp("http://127.0.0.1:9333")` → `b.contexts[0]` → найти страницу по подстроке URL.
|
||
3. Заполнить поля по id (`#first_name`, `#email`, `#password`, `pg.check('#agree')`).
|
||
4. **Turnstile проходит САМ** в реальном Chrome — не кликать, просто поллить:
|
||
`document.querySelector('[name=cf-turnstile-response]').value.length > 10` (каждые 2 сек, до 30 итераций; типично 10-20 сек).
|
||
5. Клик Register → редирект на /verify-email?vfemail=<base64(email)>.
|
||
|
||
## Pitfalls
|
||
- Селектор `button:has-text("Login")` может попасть на соседнюю "Login with Google" (содержит подстроку) → неожиданный редирект на accounts.google.com. Google OAuth требует РЕАЛЬНЫЙ пароль аккаунта; IMAP app-пароль не подходит.
|
||
- Валидатор email отклоняет плюс-алиасы (`user+tag@gmail.com` → "Please enter a valid email").
|
||
- Gmail UTF-7 имена папок при русской локали: Spam = `"[Gmail]/&BCEEPwQwBDw-"`, All Mail = `"[Gmail]/&BBIEQQRP- &BD8EPgRHBEIEMA-"`. IMAP SEARCH с OR-критериями → BAD 'Could not parse command'; использовать SEARCH ALL / SINCE + фильтр в Python.
|
||
- Verify-письмо RainProxy на Gmail dot-алиас не пришло за ~3 мин (2 отправки). Для массовых регов использовать отдельный почтовый пул (t-online.de), не Gmail-алиасы.
|