Files
autoreg-skills-max/skills/ai-provider-autoreg/references/uniapi-stack-autoreg-and-plus-alias.md

8.9 KiB
Raw Permalink Blame History

uni-api/Vue стек авторег + алиасы + orcarouter GH-волна

Алиасы: правило по стеку (проверено на живых волнах)

  • uni-api/Vue панели: dot-алиасы gmail молча режутся (send-code возвращает 200 success, но письмо не приходит НИКОГДА — панель нормализует dot и дропает доставку). Плюс-алиасы user+tag@gmail.com доходят в INBOX за 1-3 мин. Для uni-api — ВСЕГДА плюс-алиасы.
  • NewAPI панели: серверный валидатор email-политики режет И plus-алиасы (EMAIL_ADDRESS_REJECTED / «administrator's email whitelist») — формат алиаса не помогает, только whitelisted домен целиком. Перед волной обязательна матрица доменов (combo_matrix.py) с РЕАЛЬНЫМИ адресами пула, иначе сжигаешь turnstile-токены и почту впустую.
  • IMAP-фильтр кода: искать по tag'у в заголовке To (плюс-алиас сохраняется в To дословно), отбрасывать From github.com/billing.

uni-api/Vue стек (НЕ NewAPI!)

Признаки: title на китайском, /assets/index-*.js Vite-бандл, /v1/models = 401 {"code":"API_KEY_REQUIRED"}, /api/status = 404.

  • Конфиг: GET /api/v1/settings/public -> registration_email_suffix_whitelist, turnstile_enabled/site_key, email_verify_enabled, invitation_code_enabled
  • Код: POST /api/v1/auth/send-verify-code {email, type:"register"} -> код 6 цифр в письме
  • Рег: POST /api/v1/auth/register {email, password, verify_code, turnstile_token?} — поле verify_code, НЕ code! Возвращает access_token
  • Юзер: GET /api/v1/auth/me (Bearer), ключи: POST /api/v1/keys {name} + GET /api/v1/keys
  • Реверс API: скачать JS-бандл из /register, grep post("/auth/ — все эндпоинты там
  • Если HTML /register без статических бандлов (Next.js/SPA с динамической загрузкой) — sitekey/эндпоинты из HTML не выковырять; ищи обходной auth-путь (GH-OAuth) вместо скрапинга.

Проверенные панели:

  • codex-everywhere.com: whitelist ПУСТОЙ (любой email), БЕЗ turnstile, gmail+alias OK, ключ sk- создан. НО quota=0, chat = 403 INSUFFICIENT_BALANCE — витрина без халявы. Юзерских checkin/promo эндпоинтов в бандле нет (только админские /admin/accounts/*/reset-quota) — не тратить время на поиск халявного баланса.
  • ojbkapi.com: whitelist qq/gmail/163/sina/foxmail/linux.do, turnstile sitekey в settings/public, но sidecar real_page не кликает checkbox (60s timeout) — усиленный CF.
  • new.cherrychat.org (ChatNio-стек): /api/config {registerEnabled, registerRewardMicro:500000, tencentCaptchaAppId}. Рег через /api/auth/send-code {account,purpose:"register",captcha:{ticket,randstr,appid}} + /api/auth/register. Tencent Captcha: 2captcha = ERROR_TASK_NOT_SUPPORTED, YesCaptcha требует положительный баланс (при balance<0 задачи не создаются). Без платной капчи не взять. Награда 500K micro-кредитов если решить.

orcarouter.ai — рабочая GH-OAuth волна (единственная панель с quota_per_user=500000)

Скан всех панелей на quota_per_user>0 в /api/status: из 133 только orcarouter. GH-OAuth путь обходит email-whitelist и turnstile полностью:

cd C:/Users/User/tmp/regfarm/github_oauth
OUTNAME=<wave_name> PYTHONPATH="" python reg_proxy100.py orcarouter <START_IDX> <COUNT>
  • Результат: C:/Users/User/tmp/regfarm/out/<wave_name>.json (поля: gh_login, gh_mail, api_key/key, quota, status_http). НЕ путать с github_oauth/out/ — агрегатор пишет в regfarm/out/.
  • Выход ~50-60%; фейлы = прокси-рывки Remote end closed connection — просто повторять со следующим индексом, GH-аккаунт не сгорает.
  • Параллельность: 3 среза × 8-12 акков с НЕПЕРЕСЕКАЮЩИМИСЯ диапазонами индексов (START/COUNT), каждый со своим OUTNAME. Больше 3 параллельных GH-волн с одного exit-IP повышает риск 429 на OAuth authorize.
  • Resume после сбоя/прерывания: фон-процессы умирают БЕЗ строки EXIT= в логе. Проверяй mtime лога против date +%s (протух на минуты = мёртв), затем парсь последний ===== [N] индекс из лога и перезапускай с START=N. Агрегированные JSON в regfarm/out/ могут отставать от логов — считай ключи из логов (grep -c key=YES) И из JSON, банк пополняй из JSON (там полные записи).
  • Цикл harvest→verify→bank: после каждой волны читай regfarm/out/.json, для каждого ключа живой chat-запрос (orcarouter/free, max_tokens=5), только 200-ответы пиши в combo_bank.csv с маскированным ключом (первые 8 симв + ...REDACTED). Без live-chat проверки в банк не считать.
  • Новые акки: quota=0, платные модели 402 out of credits, НО orcarouter/free отвечает 200 на всех ключах — это и есть халява (бесплатные модели без лимита баланса). Каталог 206 моделей через GET /v1/models с Bearer sk-ключом.
  • Баланс-эндпоинт /api/user/self с sk-ключом = «Unauthorized, invalid access token» (нужен session-cookie, не API-ключ) — квоту проверять живым chat-запросом, не self.

Инструменты

  • combo_reg2.py (tmp/freebie_combo) — универсальный uni-api регистратор: settings/public -> send-verify-code -> IMAP (плюс-алиас фильтр по To) -> register verify_code -> keys
  • combo_reg3.py — ChatNio/Tencent через YesCaptcha (мёртв при balance<0)
  • combo_reg.py — NewAPI-регистратор; provider gmail генерит ПЛЮС-алиасы (подходит только для панелей без whitelist-валидатора), provider tonline для whitelisted t-online
  • Discovery v2ex/nodeloc: combo_discover3.py — v2ex API nodes (share/create/qna/dev/programmer/cloud/ai) напрямую работают; nodeloc latest/top/tag JSON напрямую; linux.do только через Firecrawl.

Питфолы процессов

  • Убивая волну через psutil по cmdline-паттерну, исключай из матчинга свой PID и PID родителя (p.info['pid'] != os.getpid() + проверка что паттерн не в собственном cmdline) — инлайн-скрипт с паттерном в тексте команды матчит сам себя и suicide-ится (exit 15 без убийства целей).
  • sleep N в foreground terminal жёстко ограничен ~420с — для ожидания волн ставь sleep ≤ 380 или проверяй логи отдельными короткими вызовами.
  • После сбоя Hermes-гейтвея фон-процессы терминала НЕ восстанавливаются; «свежие» python-процессы в tasklist после сбоя — это собственные проверки, а не возрождённые волны. Ориентир: mtime логов волн.

Экономика

Китайские витрины с открытой регой = почти всегда quota 0 (халява кончилась или никогда не было). Ценность: settings/public показывает whitelist/turnstile ДО траты почты. Матрица доменов (combo_matrix.py) обязательна перед волной. Реальная халява ищется сканом quota_per_user>0 по /api/status всех кандидатов + проверкой ЖИВЫМ chat-запросом (models 200 ≠ chat работает; quota из self ≠ фактический баланс). GH-OAuth приоритетнее email-волн: не жжёт почту, не зависит от turnstile, обходит whitelist.