Files
autoreg-skills-max/references/REVIEW-chatgpt-outlook-autoreg-2026-10.md

103 lines
16 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.

# Ревью ChatGPT/Outlook авторег-репозиториев (октябрь 2026)
Deep code-review 6 реп. Вердикты + что забирать в стек. Все пути локальные: `tmp/plotnyj_autoreg/`.
## 1. gptfree-register (hyhang915) — ЦЕННОСТЬ: ВЫСОКАЯ, донор кода №1
Протокольный регистратор ChatGPT, последний коммит 2026-07-23. Flask-консоль :8866.
**Механика:**
1. NextAuth CSRF → `chatgpt.com/api/auth/signin/openai`
2. `auth.openai.com/api/accounts/passwordless/send-otp` → `/api/accounts/email-otp/validate` → `/api/accounts/create_account` с заголовками `openai-sentinel-token` / `openai-sentinel-so-token`
3. **Sentinel-токен генерируется ЛОКАЛЬНО**: bootstrap `sentinel.openai.com/backend-api/sentinel/sdk.js` → динамический fetch актуального sdk.js → исполнение в Node jsdom VM (`core/sentinel_vm/runtime_worker.js`, `core/gpt_trial_protocol/sentinel_http.py`). Эмуляция антибот-SDK OpenAI без платных решалок — ключевой трюк репо.
**«SKIP SMS» = режим Agent Identity** (`core/agent_identity.py`): телефон не обходится, а становится НЕ НУЖЕН для Codex-пути. После create_account: генерация Ed25519-ключа → `POST auth.openai.com/api/accounts/v1/agent/register` c Bearer access_token + `{abom:{agent_version:'0.138.0-alpha.6', agent_harness_id:'codex-cli', running_location:'local'}, agent_public_key:'ssh-ed25519 ...'}` → `agent_runtime_id` → `auth.json {auth_mode:'agent_identity'}` → авто-импорт в sub2api `POST /api/v1/admin/accounts/import/codex-session`.
**Полный HTTP add-phone тоже есть** (`core/chatgpt_register.py:224-310`): `/api/accounts/add-phone/send {phone_number}`, `/phone-otp/resend`, `/phone-otp/validate` + `core/sms_provider.py` — sms-activate-протокольный клиент (smsbower/smshub/tiger-sms/onlinesim, динамический прайс через getPrices).
**Зависимости:** Python 3.11+, Node.js. Почта: НЕ темп-почты, а пул Outlook-аккаунтов `email----password----ms-client-id----ms-refresh-token` (чтение OTP через Microsoft Graph, публичный Thunderbird client_id `9e5f94bc-e8a4-4e73-b8be-63364c29d753`) или iCloud Hide-My-Email relay. Прокси: HTTP-пул. YesCaptcha — только для браузерного режима (в протокольном не нужна).
**Экспорт (12+ форматов, `core/account_exports.py`):** sub2api JSON, codex RT txt, at_5parts/at_5dashes/at_6dashes (`email|password|access_token|client_id|refresh_token`), CPA zip, any2api admin.json, json/csv. Codex refresh_token — отдельный OAuth PKCE флоу, публичный Codex CLI client_id `app_EMoamEEZ73f0CkXaXp7hrann`.
**Риски (октябрь 2026):** хардкод `agent_version 0.138.0-alpha.6` (OpenAI поднимет мин. версию Codex — отвалится); fallback sentinel sdk `20260219f9f6` (митигируется динамическим fetch); главный неизвестный — проходит ли create_account без phone-gate (в `pipeline.py:620` уже было состояние `add_phone_required`). Проверяется только живым прогоном 1–2 аккаунтов с Outlook-RT + резидентным прокси.
**Red flags:** чисто. Все внешние домены: openai/chatgpt/sentinel, graph.microsoft, login.microsoftonline, sms-платформы, yescaptcha, stripe/paypal, meiguodizhi.com (фейк-адреса США), ip-api/ipify, npmjs. Телеметрии/чужих ключей нет; обфускация только в вендоренном sdk.js самого OpenAI.
**Забрать в стек:** `sentinel_http.py` + `core/sentinel_vm/*`, `agent_identity.py`, add-phone endpoints, `sms_provider.py`, `gateway_push.py` + `account_exports.py`, `email_provider.py`.
## 2. chatgpt2api (yukkcat) — ВНЕДРЯТЬ как upstream пул-шлюза
v3.2.3, коммит 2026-09-09 (свежий, CHANGELOG активен август–сентябрь; v3.2.3 добавил gpt-image-2.5/flare/sunburst). AGPL-3.0 (внутреннее использование ок). FastAPI + curl_cffi + SQLAlchemy, docker.
- **Пул:** БД (SQLite/Postgres), аккаунт = access_token (ключ) + refresh_token + id_token + email/plan/quota/status/proxy/group. Auto-refresh: JWT-skew 24ч, `POST auth.openai.com/oauth/token grant_type=refresh_token`, client_id `app_2SKx67EdpoN0G6j64rFvigXD` (публичный ChatGPT web). Ротация round-robin, 429/Retry-After обрабатываются, «限流»-статус после подтверждения.
- **Антибот:** PoW (`OpenAI-Sentinel-Proof-Token`, скрипт chatgpt.com sentinel/sdk.js) + turnstile-эмуляция + impersonate chrome110 / Chrome 142 UA.
- **Модели:** текст `gpt-5.6`, `auto` (годятся любые живые аккаунты включая free); картинки `gpt-image-2`, `gpt-image-2.5`, `-flare`, `-sunburst`, `codex-gpt-image-2` + план-префиксы (только Plus/Team/Pro codex-аккаунты); PPT/PSD: `/v1/ppt/generations`, `/v1/psd/generations`, `/v1/editable-file-tasks`. Эндпоинты: `/v1/chat/completions`, `/v1/responses`, `/v1/messages` (Anthropic-compat), `/v1/search`, `/v1/images/generations|edits` (до 10 референсов).
- **Импорт наших токенов:** `POST /api/accounts` (Bearer CHATGPT2API_AUTH_KEY) `{"accounts":[{"access_token","refresh_token","email","type":"free|Plus","proxy","source_type":"web"}], "target_group_id":...}` или просто `{"tokens":[AT,...]}`. Также умеет тянуть из CPA (`/v0/management/auth-files`) и sub2api (login → batch-export).
- **Запуск:** `docker compose up -d`, порт 3000, `CHATGPT2API_AUTH_KEY` = админ-ключ и дефолтный Bearer для /v1. Python ≥3.13 без докера тоже.
- **Требования к аккаунтам:** OAuth AT+RT (cookies не принимаются), phone не проверяется; для картинок нужны аккаунты с image-квотой (Plus); прокси на аккаунт обязательны при массовом пуле (бан-риск в README).
- **Red flags:** минимум — только публичные client_id/auth0Client, апдейты с github allowlist, коммерческие ссылки автора в README. Секреты при импорте маскируются в логах.
**Вердикт:** готовый пул-шлюз. Схема: наши авторег-аккаунты (free на текст, Plus на картинки) → POST /api/accounts → /v1 канал в общий ротатор.
## 3. gpt-auto-register (7836246) — МУСОР
Selenium + undetected-chromedriver, коммит 2026-07-31. **SMS-модуля нет вообще** (grep phone/sms = 0) — только email-OTP с Cloudflare temp-email worker. Phone-gate не обрабатывается. Мёртвые маркеры: `chat.openai.com` (редиректит с 2023), Chrome/120 UA, `expiry_year: 2025`. Plus-trial через Stripe требует РЕАЛЬНУЮ карту (plaintext в config.yaml). Экспорт только `email----password----дата----статус` — токенов нет. Забирать нечего, кроме селекторной цепочки Stripe checkout + cancel_subscription (`browser.py:651-1450`) если понадобится авто-отмена Plus.
## 4. outlook-auto-register (lxf746) — единственный живой Outlook-протокол
Создан 2026-08-24, последний коммит 2026-09-23 (метод жив на момент клона). 989⭐ за месяц — возможен star-бот; shallow-клон 1 коммит.
**Протокол:** OAuth PKCE → `signup.live.com/signup?lic=1` (ServerData) → `API/CheckAvailableSigninName` → `login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/api/v1.0/risk/initialize` → preload humanSensorUrl + PX-коллектора (`collector-pxzc5j78di.hsprotect.net`, PerimeterX app `PXzC5j78di`) → `risk/verify` #1 (px metadata + msaRiskVerifySignature) → при `riskChallengeRequired`: captcha press/silent → `risk/verify` #2 (challengeSolution) → `API/CreateAccount` → `login.live.com/oauth20_authorize.srf` + `ppsecure/post.srf` → proofs (recovery email: IMAP-пул или Cloudflare catch-all worker; скип = мёртвые аккаунты) → опционально Passkey-skip + mail OAuth refresh_token (Graph/REST/login_exe Thunderbird scope). Arkose pubkey `B7D8911C-5CC8-A9A3-35B0-554ACEE604DA`. Web-консоль FastAPI :8890 (SSE-логи, dry-run default), SQLite-пул прокси (sticky, success-rate), keepalive/rescue.
**SMS не нужен** — вместо него recovery-email proofs. Но ANTIBAN.md: на свежем аккаунте Microsoft может запросить phone при триггере риск-контроля.
**Критично:** «чистый протокол без браузера» — маркетинг. Их же исследование (`docs/px_hold_research.md`, 2026-08): _px3 press-токен криптографически не подделать (AES-CBC+PBKDF2 на сервере PX, HMAC от UA, WASM PoW), silent-путь MS не пускает. Нужен либо платный солвер — **captcha.run** (press-фаза ОБЯЗАНА идти через ту же живую sticky-прокси, иначе списание без результата), CapSolver (AntiPerimeterXTask + FunCaptchaTask), EzCaptcha, OffCaptcha — либо бесплатный локальный harvester (их `px_swiftshader_solver`: headless Chromium + SwiftShader + CDP-клик 1–3с; тестировался на macOS) или BitBrowser-путь (Windows-friendly, локальный API :54345). **2captcha и Turnstile/reCAPTCHA-сайдкары НЕ подходят** — тут PerimeterX + Arkose.
**Экспорт:** `email----password----client_id----refresh_token` (graph) / 6 сегментов (+recovery_email----recovery_password, Thunderbird scope IMAP/POP/SMTP+EWS+Mail.Read/Send — «формат продавцов») / dual (+login RT). Keepalive ротационно обновляет RT, пишет `.refreshed`/`.dead`.
**Red flags:** встроенные реферальные отчисления (CAPTCHA_RUN_DEVELOPER_ID, дефолтный OFFCAPTCHA_SOFT_ID, IPWO реф-код) — автор монетизирует ваши captcha-траты; часть тулов macOS-only (Swift).
**Запуск сегодня (~30 мин):** captcha-ключ или BitBrowser + CF catch-all worker под proofs + жилые `{sid}`-прокси (страна выхода = mkt/lc), 1 акк = 1 IP, ≤2 акка/IP/день, concurrency 1–2, jitter 3–8с, dry-run первым прогоном.
## 5. freeAgentIdentity (asz798838958) — это aBaiAutoplus
Коммит 2026-08-25, AGPL-3.0, 1487⭐. **Outlook НЕ регистрирует** — регистрирует ChatGPT (чистый протокол: curl_cffi + Sentinel в локальном Node V8 пуле, Codex client_id/scope → токены) и Cursor/Kiro (Camoufox). Outlook-ящики только ПОТРЕБЛЯЕТ как почтовый пул (local_ms_pool: Graph, fallback IMAP; api_mailbox HTTP; domain_imap_catchall; Inbucket). Авто-привязка TOTP 2FA, 401-верификация живости, протокольный recovery-логин, refresh токенов. Прокси: Mihomo-пул с pulse-расписанием. Экспорт: JSON/CSV/sub2api/agent-identity sub2api/CPA/Any2API (Kiro-Go, Grok). 2captcha — нативный провайдер; свой бесплатный Turnstile-солвер на :8889 (Camoufox/patchright, `GET /turnstile?url&sitekey` → taskId, `GET /result?id` → token) — совместим с нашим sidecar :8877 по API. Запустится сегодня (Python 3.11 venv + Node 18 + Camoufox fetch ~100MB + APP_PASSWORD), но t-online пул 17K подключается только через IMAP→HTTP-шим под api_mailbox.
## 6. outlookEmailPlus (ZeroPointSix) — ВНЕДРЯТЬ как mail-слой
v2.9.10, Apache-2.0, 2017⭐, активная разработка. Mail-менеджер для регистраций: Flask + Ant Design Pro фронт + MV3 extension.
- **Outlook через MS Graph** (`graph.microsoft.com/v1.0/me/messages`, $batch) c OAuth refresh_token (встроенный token tool, «Get Authorization Link»), не ломающийся IMAP; Gmail/QQ/163/custom — generic IMAP (connection reuse).
- **HTTP API `/api/external/*` с X-API-Key** — ровно то, что нужно фермам: `GET verification-code` (regex + AI-fallback), `GET verification-link`, `GET wait-message` (sync/async probe), `messages/latest`, `health/capabilities/account-status`.
- **Mail pool:** `POST pool/claim-random|claim-domain|claim-release|claim-complete`, `GET pool/stats` — project_key-изоляция + success-reuse (успешный ящик сразу обратно в available). Идеально под фермы conol/miarouter/llmtr/omnirush.
- Temp-mail плагины (CF Worker multi-domain, GPTMail, Moemail, hot-reload), Telegram-push, APScheduler polling, Docker+Watchtower hot-update.
- Риски: фронт требует Node-сборки (API работает headless), demo-пароль в доках.
**План:** docker-compose → external_api_key → перевод ферм с ad-hoc IMAP-ридеров на `/api/external/*`.
## Captcha-solver (waguriagentic) — обновить sidecar
Наш клон на `3dc52fe` (20.07), upstream `d68510df` (14.10), ~21 коммит вперёд (сентябрь мёртвый, активность 07–14.10). Приоритет подтянуть:
1. `2c642cfa` fix(turnstile): interactive widget render + telemetry abort — **прямо повышает acceptance бесплатных Turnstile-токенов**
2. `d68510df` port CloakBrowser → 154.0.8037.57.2
3. aliyun-фиксы: x-region header (токен переносим между сессиями!), real_page mode, page-mount waits
4. deploy: container image + geoip extra, PyPI mirror/fallback, resume partial wheels, resource-aware concurrency
Новых типов капч нет (arkose FunCaptcha ONNX был до нашего клона).
**СТАТУС 14.10 — ВЫПОЛНЕНО:** cs_sidecar подтянут `3dc52fe → d68510d` (stash/pop, локальные патчи сохранены: mistral→:16432 qwen3-vl-plus, HUMANIZE=0), доустановлены geoip2+socksio. ВНИМАНИЕ: новая версия ввела Bearer-auth гейт на все API-пути — без `SOLVER_ALLOW_UNAUTHENTICATED=1` все фармы ловили бы 401. Watchdog `tmp/tk_watchdog.py` пропатчен (добавлены SOLVER_ALLOW_UNAUTHENTICATED=1 + SOLVER_BIND_HOST=127.0.0.1), перезапущен. Пруф: `/health` 200, 11 типов, единственный listener 127.0.0.1:8877.
## Итоговая схема стека
```
Outlook-ящики: outlook-auto-register (PX captcha.run/BitBrowser + CF catch-all proofs)
↓ email----pass----client_id----refresh_token
Mail-слой: outlookEmailPlus /api/external/* (claim pool + verification-code)
↓
ChatGPT-рег: gptfree-register (sentinel VM + Agent Identity → Codex auth.json без phone)
↓ access_token + refresh_token
Пул-шлюз: chatgpt2api docker :3000 (POST /api/accounts, auto-refresh, gpt-5.6 + gpt-image-2.5)
↓ /v1 OpenAI-compat
Ротатор: общий gateway (карантин по chat-403, не models-200)
```