Files
autoreg-skills-max/skills/ai-provider-autoreg/references/proxyscrape-premium-trial-autoreg.md

56 lines
5.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ProxyScrape Premium Free Trial — $0 авторег + рабочие прокси
Live-пруф 2026-10-07: акк зареган, триал активен (100 datacenter-прокси, 10 GB, 7 дней, status `valid`), 8/8 прокси отдают трафик через user:pass auth. Весь флоу $0 (фри-капча sidecar :8877), скрипт E2E: `scratch/ps_e2e.py`.
## Ключевой вывод: НЕ воевать с формой — API напрямую
Sign-up на `dashboard.proxyscrape.com/v2/sign-up` — Next.js SPA (MUI). Все браузерные пути инжекта out-of-band Turnstile-токена провалились:
- set value на hidden input + dispatch input/change → кнопка не разблокировалась/сабмит не отправлял fetch
- React fiber `onSuccessCallback(token)` → найден (depth ~4-6), вызван, но network-запроса тоже не появилось
Рабочий путь: **извлечь API-эндпоинты из Next.js chunk'ов и POST'ить напрямую** с токеном как form-поле.
### Как найти эндпоинты
1. В page source — список `/_next/static/chunks/pages/*.js`
2. Скачать `_app-*.js` и sign-up chunk, grep'ать на `v4/account`, `auth/register`, `turnstile`
3. Найденные роуты (база `https://dashboard.proxyscrape.com`):
- `POST /v2/v4/account/auth/register` — поля `email`, `password`, `confirm_password`, `terms_agreement=true`, `cf_turnstile_token`
- `POST /v2/v4/account/auth/login` — тоже требует Turnstile-токен
- `POST /v2/v4/account/auth/me` — Bearer access_token
- `POST /v2/v4/account/premium/claim-trial` — активирует триал БЕЗ верификации почты
- `POST /v2/v4/account/reset-verification-code` — шлёт hex-код на email
- `POST /v2/v4/account/verify-email` — поле `verificationCode` (HEX, напр. `a0ae05f6dd` — НЕ `\d{6}`!)
- `GET /v2/v4/account/{accountId}/datacenter_shared/proxy-list?format=json&type=displayproxies&protocol=http&start=0&length=100&draw=1`
- `POST /v2/v4/account/{accountId}/datacenter_shared/credentials` — username/password для proxy-auth
- `GET /v2/v4/account/{accountId}/datacenter_shared/whitelist?ip[]=label:IP&type=add` — добавить свой IP
**Content-Type: `application/x-www-form-urlencoded`** — JSON-тело → 400 на register.
### Флоу
1. Email: Gmail +alias (`user+XXXX@gmail.com`), пароль random. Сохранить в state-JSON.
2. Turnstile sitekey sign-up страницы: `0x4AAAAAAAFWUVCKyusT9T8r` (снимается из JS-бандла). Решить фри-сайдкаром: `POST http://127.0.0.1:8877/solve {type:"turnstile", sitekey, url, real_page:false, timeout_s:120}` → ~11-36с, токен ~752 chars. Здесь real_page НЕ обязателен (обычная проверка токена сервером, без WorkOS-аттестации).
3. `POST register` (form-encoded) → 200 + `access_token` (Bearer для всего остального).
4. `POST premium/claim-trial` → триал активен сразу, верификация почты НЕ блокирует триал.
5. `POST reset-verification-code` → письмо; забрать код из IMAP. **Код HEX** (10 символов [0-9a-f]) — regex `\b[0-9a-f]{8,12}\b` в теле после «code», не `\d{6}`.
6. `POST verify-email {verificationCode}` → `{"success":true}`.
7. `POST datacenter_shared/credentials` → proxy username/password.
8. `GET whitelist?ip[]=unset:<МОЙ_IP>&type=add` — без whitelist auth-прокси отдают 407. **Sync ~7-10 минут** — тест проксей сразу после add даст 407/timeout, это НЕ фейл.
9. `GET proxy-list` → 100 строк. Формат для использования: `http://USER:***@IP:3129` (единые credentials на все прокси, не per-proxy).
10. Проверка: `urllib ProxyHandler({'http':p,'https':p})` → `api.ipify.org` → exit IP = IP прокси.
Гео пула (пример): US 52, DE 12, FR 9, BR 8, GB 7, CA 5, IT 3, ES 2, TH 2.
## Free API без регистрации (для постов/быстрых задач)
`https://api.proxyscrape.com/v4/free-proxy-list/get?request=display_proxies&country=all&protocol=all&timeout=10000` → HTTP 200, ~2000 строк `ip:port`, без auth. Качество низкое, но $0 и мгновенно.
## Pitfalls
- `curl https://proxyscrape.com/...` → пустой ответ/exit 23 (SPA + geo/CDN): контент страницы читать через browser-рендер, а API — через chunks.
- Login-эндпоинт тоже требует свежий Turnstile-токен — для повторного входа решать капчу зановая, или хранить access_token из регистрации (он долгоживущий; localStorage-ключ панели — `accessToken`).
- При смене домашнего IP — re-add whitelist (единственный ручной шаг при массовке).
- Скрипт-шаблон: `C:/Users/User/AppData/Local/hermes/cache/scratch/ps_reg2.py` (solve+register), `ps_e2e.py` (полный цикл), `ps_verify.py` (IMAP-код + verify), `ps_farm.py N` (батч N акков → `ps_accounts.jsonl`: solve+register+claim+verify+whitelist+creds+proxy-list на акк).
- Перед батчем — `curl http://127.0.0.1:8877/health`: сайдкар после рестарта биндится на дефолтный порт 3000 без `PORT=8877`, и весь батч фейлится пачкой `ConnectionRefusedError 10061`. Лечится `PORT=8877 python server.py` + health-check до запуска фарма.