autoreg-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 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/<wave>.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.
|
||||
Reference in New Issue
Block a user