16 KiB
name, description, version, author, license, metadata
| name | description | version | author | license | metadata | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| newapi-gh-oauth-farm | Use when mass-registering New-API panels via GitHub OAuth. | 2 | ENI | private |
|
New-API GitHub-OAuth Farm
When to Use
Массовая регистрация аккаунтов на New-API relay/router панелях (дающих бонусную квоту) через GitHub OAuth из пула аккаунтов с TOTP; поиск новых панелей через GitHub-навигатор-репо; прокси-ротация волн; агрегация/экспорт банка ключей.
Рабочий стек (проверено 2026-10-08)
- Раннеры:
C:/Users/User/tmp/regfarm/github_oauth/reg_free_newapi.py— панели factory/vsllm/chengmo/agentrouter/chuan/flushapi (обёртка надreg_http.py)reg_welfare.py— vip7891/careke/budsin/nikoapi (repo posstos/ai-relay-welfare)gh_master.py+_gh_master_run.py— последовательная волна по 24+ панелям, PER=50, cooldown 90s, pre-checkalive()(мёртвые панели сжигали по 50 GH-акков)reg_proxy100.py— прокси-раннер (importproxy_patch; панели + aount0172-collab: bluesminds/futureppo/xinjianya/wyy22/orcarouter)proxy_patch.py— monkeypatch:L.Panel= БЕЗ прокси (напрямую),gh_http.GHSession= прокси + авто-ротация при сетевой ошибке
- Аргументы:
python reg_free_newapi.py <panel> <start_idx> <count> [idx_list_csv]; envOUTNAME=<имя>задаёт отдельный OUT-файл.
Прокси-режим (проверено 2026-10-09)
Полный рецепт (код, диагностика, kill зомби, per-panel индексы): references/proxy-rotation-recipe.md.
- Источник:
C:/Users/User/Desktop/proxy_bot/proxies.db(таблицаpool,alive=1) → ПЕРЕД каждой волной re-verify на САМОМ github.com (GET https://github.com→ 200) →_gh_proxies.json. Из 152 alive в БД живыми для GitHub оказались 11. - Схема: панель напрямую, только GitHub через прокси. GitHub 429/таймауты — IP-based; панели банят датацентровые прокси-IP (403) и домашний IP при флуде (429) — поэтому панельный HTTP без прокси, GH-логин через ротацию.
- Авто-ротация: обёртка
GHSession._req— приst == -1(таймаут/conn error) до 3 ретраев, каждый сnext(cycle)прокси и ПЕРЕСБОРКОЙ opener (ProxyHandler+NoRedirect+CookieJar той же сессии). Без пересборки opener держит мёртвый прокси и волна валится 0/150. - Результаты:
C:/Users/User/tmp/regfarm/out/*.json, экспортC:/Users/User/tmp/free_newapi_reg/USABLE_KEYS.csv(panel,base,uid,quota,models,gh_login,api_key). - Пул GH:
C:/Users/User/tmp/gh_accounts.json(672, влит hoplite-pool 172; бэкап .bak-20261008). Свежие = логины безapi_key/user_idни в одном out/*.json →_fresh_idx100.txt.
Питфолы (все пережиты)
- GitHub 429 (E45002 global) при 2+ параллельных волнах → ~40-80% фейлов. ТОЛЬКО сериализация + пауза 120-180с между волнами.
- OUT race: два процесса в один JSON = PermissionError/потеря записей. Всегда
OUTNAMEper-run. taskkill /F /IM python.exeубивает все волны — никогда не использовать, пока крутятся.- bind=False обязателен (локальный bind/модем недоступен): monkeypatch
L.Panelиgh_http.GHSession. - Chengmo-паттерн: токен создаётся без группы → models_count=0. Фикс в
reg_http.py: перебор групп (free,gpt,claud,grok,auto,default,国产模型) PUT /api/token/ + re-smoke. - Часть GH-акков упирается в
/settings/two_factor_checkupна authorize — нерешаемо, просто следующий акк. - vsllm/agentrouter требуют СТАРЫЕ GH-акки («too new to register») — пул 2026-05..08 не проходит.
- Stale proxy-лист убивает волну целиком (0/150 с
state fail: POST 429/ URLError 10060):alive=1в proxy_bot БД протухает за дни. Всегда re-verify пула на github.com непосредственно перед запуском и писать свежий_gh_proxies.json. - Витрина панели врёт — прожаривать live smoke-тестом ПЕРЕД масштабированием:
/v1/models+ реальный/v1/chat/completions(max_tokens=10, ждатьpong). flushapi: 7.5M квоты и opus/sonnet в витрине, но каждый чат = 403 «insufficient Super balance» — панель мусор, акки сжигать не надо. Пустойcontentпри 200 (deepseek-v4-flash, gpt-oss) и апстрим-ошибки в тексте (glm «Z.ai returned 403») = модель фактически не отвечает, несмотря на PASS-статус. - Зомби-волны после gateway interruption: процессы накапливаются и дают ложные 429. Не
taskkill /F /IM python.exe(убьёт всё) — точечный kill черезsubprocess.run(['powershell','-NoProfile','-Command', script])со скрипт-блоком:Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'reg_proxy100' } | Stop-Process -Force. Питфолы: wmic отсутствует в hermes-python;$_/$varвнутри двойных кавычек git-bash съедает — только отдельный python-heredoc с powershell-скриптом в одинарных кавычках; CIM-фильтр по CommandLine матчит сам проб-процесс (его аргументы содержат искомую строку) — проверять что найденный pid не текущий. - Индексы GH-акков считать per-panel, не глобально: OAuth-приложения панелей независимы, один акк регабельен на каждой панели по разу.
_idx2_<panel>.txt= индексы пула минус логины сapi_keyв out/*.json ИМЕННО этой панели. - write_file может соврать про таймаут: при нестабильном гейтвее write_file возвращает
bytes_written: 0 / Failed to write file: [Command timed out], но файл ФАКТИЧЕСКИ落地 на диск. ПЕРЕД повторной записью проверитьwc -c <file>+python -m py_compile— повторный write_file упадёт вstale_write_blocked(файл существует, но «не прочитан в этой задаче»). Если файл на месте и компилируется — он готов, не перезаписывать. - py_compile/нативный python НЕ понимает MSYS-путь
/c/Users/...(No such file), хотяwc/lsего видят. Нативным инструментам (python, git, node) передаватьC:/Users/...forward-slash путь.
Панели: живые vs мёртвые
- ТОП (реальная квота, smoke-проверено): chengmo (5M/акк, 25 free-моделей, DeepSeek-R1 PASS), careke (5M, grok-4.5/4.6/composer-2.5 ВСЕ PASS), budsin (2.5M, 660 моделей: claude-opus-5/sonnet-5/fable-5.1/gpt-6-luna PASS; glm-5.3-flash апстрим-403, deepseek-v4-flash пустой), factory (125K/акк, все 9 PASS: grok-4.7/4.6, gpt-6-luna, gpt-5.6-terra, gpt-image-2 — генерит PNG), chuan БЫЛ 500M но регистрация закрыта админом (2026-10-08).
- Новые из aount0172-collab (2026-10-09), прожарены live-smoke: api.bluesminds.com = ЛУЧШАЯ по квоте — 100M/акк (= $200, New-API: 500K quota = $1; soft_limit=hard_limit=100M в /v1/dashboard/billing/subscription), model_ratio 0.5 (модели вдвое дешевле → фактически $400 экв.), 13 моделей: nemotron-3-ultra-550b ✅, llama-3.2-11b-vision ✅, kimi-k3 ⚠️(504 — медленный, timeout≥120), gpt-oss-20b ⚠️(пустой content). futureppo = 0 ключей (мёртв), xinjianya = CF 1010 + quota=1 (мусор), wyy22 = quota=0, live 403 «额度不足 $0» (витрина gpt-6-sol/astra), orcarouter = quota=0, live 402 «out of credits» (витрина 206 моделей opus/fable).
- xkiro.com НЕ New-API (свой flow, xkiro_reg.py в github_oauth/): OAuth стартует с
GET api.xkiro.com/api/v1/auth/github→ 302, но Location в ТЕЛЕ (Redirecting to https://github.com/..., express-стиль) — парсить state из body. CF 1010 лечится полным набором браузерных заголовков (Chrome/131 UA + Sec-Fetch-* + Sec-Ch-Ua + Upgrade-Insecure-Requests). Callback с code возвращает 403/токены в JS-рендеринге → нужен браузерный путь (camoufox), HTTP-only не завершается. client_id Ov23li0EyjNfkXUSKZel. - GitHub 429 — лимит OAuth-приложения, НЕ панели:
state fail: POST 429режет волну до 1-5% выхода (bluesminds 7/550), при этом панель жива даже direct. Прокси-ротация НЕ снимает 429 (лимит на app+аккаунты, не IP). Увеличение sleep тоже не помогает (50с/акк дало тот же 7/550) — лимит суточный/часовой на приложение, лечение только пауза несколько часов и повторный заход. Акки при 429 НЕ сгорают (фейл на state-шаге, до authorize) — индексы переиспользуемы. Выход 10-25% — норма при активной кампании; chengmo (329 индексов) дал 50 ключей — лучшие результаты у панелей, которые меньше пользуют. - Мусор (не тратить акки): flushapi (7.5M квота, но ВСЕ модели 403 «insufficient Super balance»), kiosapi, augmentproxy, vveai, gptge, makerend, gogotoken, nikoapi, 9527code, aaawinn, sheapi, tokeness («Unknown OAuth provider»), motomoto (dead), cnapi.onemini.top (токены протухают → 401).
- Nav2-скан (2026-10-09, batch 2): 8 свежих nav-репо → 191 новый хост → 58 New-API панелей, 6 новых GH-OAuth: api.justwoker.icu, downstream.jbbtoken.cn, jianzhile.vip, moyuu.cc, nova.vcrauo.com, aaawinn.xyz (CIDs в reg_proxy100.py, probe — nav2_probe.json). otterl.com и api.ikuncode.cc — pwd-рег БЕЗ email-верификации, но под Cloudflare Turnstile («Turnstile token 为空» на /api/user/register) — годны только через локальный cs_sidecar-солвер.
- Email-путь МЁРТВ без qq.com/163.com: gmail+/dot режутся почти везде; исключения wisech/anticode/wxctf принимают base gmail, но wisech SMTP мёртв (verif 200, письмо не приходит). Remote captcha балансы отрицательные; локальный cs_sidecar :8877 только для Turnstile.
Custom-OAuth панели (github_oauth=false, но custom-провайдер жив)
Полный рецепт (flow_token, meta-refresh code, dashboard token API, CF-1010 UA, -free модели на нуль-квоте, лимитер-волны): references/custom-oauth-panels.md. Кейс: beatapi.io — E2E авторег через GH OAuth c verified gmail, банк C:/Users/User/tmp/beat_autoreg/accounts.jsonl, скрипт beat_gh_reg.py N + beat_repair.py (дозабор ключей/re-OAuth).
Поиск новых панелей
- Навигатор-репо на GitHub: kirito8/free-newapi, posstos/ai-relay-welfare, panxunying/ai-coding-welfare, justjavac/free-models, aount0172-collab/Free-api-keys-for-* и т.п. → качать README (main, fallback master), regex URL, фильтр хостов (github/badge/telegram/...), probe
/api/statusThreadPool → флаги github_oauth/github_client_id/register_enabled/email_verification. Скрипт-паттерн вC:/Users/User/tmp/free_newapi_reg/(nav_bases.json, nav_probe.json, aount_probe.json). - Полный CID берется из probe-файла, НЕ из обрезанного вывода терминала — truncated client_id даёт молчаливый OAuth-фейл.
- Дамп станций (крупнейший источник, 2026-10-12):
C:/Users/User/tmp/relay-pool/howtok_stations_full.json= 603 станции с доменами. Дедуп доменов → probeGET https://<dom>/api/statusThreadPool(40) →data.github_client_idнепустой = GH-OAuth панель. Из 588 доменов → 133 GH-OAuth панели за 32с, результатtmp/stations_gh_oauth.json(dict dom→{base,cid,github_oauth,register_enabled,version,name}). Скриптtmp/stations_probe.py. Это на порядок больше, чем nav-репо.
Универсальный драйвер по многим панелям (in-process, 2026-10-12)
Вместо subprocess-вызова reg_proxy100.py <panel> на каждую панель (медленно, плодит зомби, OUT-race), гонять цикл ВНУТРИ одного процесса поверх reg_http:
sys.path.insert(0,'.../regfarm'); sys.path.insert(0,'.../regfarm/github_oauth')
import proxy_patch; proxy_patch.apply() # ОДИН раз, до reg_http
import reg_http as R
R.OUT = 'stations_wave' # один общий OUT-файл (merge_into дедупит по (panel,gh_login))
for dom, info in stations.items():
name = dom.replace('.','_').replace(':','_')
R.PANELS[name]=info['base'].rstrip('/'); R.CID_CACHE[name]=info['cid']
R.PNAME=name; R.START=1; R.COUNT=3; R.IDXLIST=None
try: R.main()
except Exception: pass # мёртвая панель → следующая
time.sleep(15) # пэйсинг от GH 429
R.main() читает PNAME/START/COUNT/PANELS/CID_CACHE/OUT как модульные глобалы В МОМЕНТ ВЫЗОВА — reload НЕ нужен, просто переприсвоить перед каждой итерацией. proxy_patch.apply() патчит opener один раз; не делать reload(R) — он сотрёт monkeypatch. Скрипт tmp/regfarm/github_oauth/stations_wave.py <per_panel> <sleep>.
Итог кампании
- 2026-10-08: 720+ ключей, ~316 годных (quota>1000), 1.385B квоты.
- 2026-10-09: банк 1076 ключей (после мега-волн), экспорт
tmp/free_newapi_reg/POOL_FINAL2.csv. Топ по квоте: chengmo 335×5M, bluesminds 17×100M (= $200/акк), flushapi 577M (мусор), chuan 500M (рег закрыта), careke 39×5M, budsin 35×2.5M, factory 100×125K. Мега-волны по ВСЕМ свободным индексам (idx3.txt): bluesminds 550 (выход 7 из-за GH 429), chengmo 329→50, factory 400→3, careke 272→10, budsin 175→6. - Реально живые прокси для GitHub: 44 из 152 alive в proxy_bot БД (re-verify обязателен перед каждой волной).
- Агрегация банка: glob
out/*.json→ дедуп(panel, api_key)→ CSV + per-panel сводка (keys, quota/acc, quota_sum); zero-quota панели выводить отдельно как мусор.