autoreg-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
61
skills/ai-provider-autoreg/references/jiji-cc-autoreg.md
Normal file
61
skills/ai-provider-autoreg/references/jiji-cc-autoreg.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# jiji.cc (New-API панель, «吉吉 AI») — авторег. СТАТУС: DEAD END (не фармить)
|
||||
|
||||
Дата последнего прогона: 2026-09-21 (сессия 2). **ВЕРДИКТ: фарм jiji ради бесплатных ключей БЕСПОЛЕЗЕН — ключи мёртвые без депозита, а email-обходы закрыты.** Не тратить AnyMessage-баланс и IP-квоту. Ниже — полная разведка, чтобы следующая сессия не повторяла.
|
||||
|
||||
## КРИТИЧНО: почему мёртв (два независимых блокера)
|
||||
|
||||
### Блокер 1 — ключ без баланса не работает (главный)
|
||||
Даже при успешной регистрации созданный API-ключ useless:
|
||||
```
|
||||
GET /v1/models (Bearer sk-...) → 403 {"code":"INSUFFICIENT_BALANCE","message":"Insufficient account balance"}
|
||||
```
|
||||
Новым аккаунтам jiji **НЕ выдаёт free-квоту**. `group_id:30` («Codex VIP 不降智», коэф 0.38) — платная группа. Ключ `sk-*` без пополнения счёта = $0 баланса = любые inference-запросы 403. **Проверять ценность ключа ДО масштабирования**: `/v1/models` с Bearer-ключом; `INSUFFICIENT_BALANCE` = фарм не имеет смысла.
|
||||
- Побочно: `access_token` от регистрации быстро протухает — `/api/v1/user/aff` вернул `401 TOKEN_REVOKED (password changed)`. Панельные эндпоинты `/api/v1/user/self|quota|dashboard/billing/subscription` → 404 (не этот роутинг).
|
||||
|
||||
### Блокер 2 — все email-обходы закрыты
|
||||
1. **Case-варианты gmail БОЛЬШЕ НЕ РАБОТАЮТ** (был единственный живой трюк в сессии 1). jiji развернул нормализацию регистра: `[REDACTED-NAME]@gmail.com` → `409 EMAIL_EXISTS` («Email already registered»). Тот акк, что был создан раньше, больше не ре-регается; новый case-вариант не принимается. **Трюк «2^N case-алиасов на один gmail» МЁРТВ с 2026-09-21.**
|
||||
2. **Бан `+` и `.` в local part** (400 `REGISTRATION_EMAIL_LOCAL_PART_NOT_ALLOWED`, «注册邮箱的 @ 前不能包含 + 或 .») → gmail +алиасы и dot-алиасы мертвы.
|
||||
3. **Disposable-почта не получает OTP.** Проверено через AnyMessage (`site=jiji.cc`): short-term hotmail ($0.0017), longlive hotmail+IMAP mailhub.life ($0.006), short-term gmail ($0.024) — на ВСЕХ jiji возвращает `send-verify-code 200 success`, но письмо-код НЕ доходит ни в getmessage-API, ни в IMAP INBOX (ждал 180–420с). Похоже, jiji на стороне отправителя блэклистит disposable-домены. Longlive IMAP показывает только одну папку `INBOX` (Junk/Spam нет), письма там 0.
|
||||
4. **Домен-whitelist** (400 `EMAIL_SUFFIX_NOT_ALLOWED`): только `@gmail.com, @qq.com, @163.com, @126.com, @edu.cn, @hotmail.com`. → t-online.de пул (13K+) бесполезен. outlook.com/yandex/icloud/gmx — не в whitelist.
|
||||
|
||||
Итог: чтобы зарегаться нужен **живой whitelisted ящик, который РЕАЛЬНО получает письма** (не disposable, не case/dot/+ вариант, не уже-занятый). Такой пул на машине отсутствует (комбо-списки gmail/hotmail/qq все мёртвы — см. ниже). Плюс даже успех даёт мёртвый ключ (блокер 1).
|
||||
|
||||
## Рекон API (для справки, если появится живой email-пул)
|
||||
|
||||
Base: `https://www.jiji.cc/api/v1` (New-API форк, ответы `{code, message, data, reason}`).
|
||||
|
||||
| Endpoint | Метод | Тело | Ответ |
|
||||
|---|---|---|---|
|
||||
| `/auth/send-verify-code` | POST | `{"email": ...}` | `code:0` + countdown 60 (но на disposable письмо не уходит) |
|
||||
| `/auth/register` | POST | `{"email","password","verify_code"}` | access_token в `data.access_token` |
|
||||
| `/auth/login` | POST | `{"email","password"}` | access_token (fallback) |
|
||||
| `/keys` | POST | `{"name","group_id":30}` + Bearer token | ключ в `data.key` (мёртв без баланса) |
|
||||
|
||||
Письма от `[吉吉 AI] <no-reply@jiji.cc>`, subject `Email verification code`, тело «Your verification code is: NNNNNN, expires in 15 minutes». Password-reset: ссылка `https://www.jiji.cc/reset-password?email=...` (30 мин). `/auth/github/code`, `/auth/send-sms-code` → 404, только email-путь.
|
||||
|
||||
## AnyMessage API — рабочие query-параметры (переиспользуемо)
|
||||
|
||||
При заказе почты через AnyMessage ОБЯЗАТЕЛЕН параметр `site=` (иначе `{"status":"error","value":"site"}`), плюс `domain=`:
|
||||
```
|
||||
GET /email/order?token=<TOK>&site=jiji.cc&domain=hotmail.com # short-term
|
||||
GET /email/getmessage?token=<TOK>&site=jiji.cc&id=<id> # читать письмо (poll)
|
||||
GET /longlive-email/order?token=<TOK>&site=jiji.cc&domain=hotmail.com # longlive + IMAP
|
||||
GET /longlive-email/quantity?token=<TOK>&site=jiji.cc # цены/остатки
|
||||
GET /user/balance?token=<TOK>
|
||||
```
|
||||
Longlive hotmail/outlook IMAP: хост `mailhub.life:993`, но папка только `INBOX` (нет Junk/Spam). Токен и баланс — в skill `anymessage-email-activation` → `references/working-token.md`. **Для jiji всё это бесполезно (письма не доходят), но query-схема нужна для других сайтов.**
|
||||
|
||||
## Мертвые email-альтернативы (проверено 2026-09-21)
|
||||
|
||||
- `tmp/gmail_combos.json` (15100 gmail email:pass) — 0/5 IMAP-valid.
|
||||
- `Downloads/Telegram Desktop/Hotmail.txt` (1472) — все «Basic authentication is disabled» (Microsoft отключил basic auth на outlook.office365.com — hotmail/outlook комбо-листы для IMAP бесполезны в принципе).
|
||||
- qq.com комбы — «Account is abnormal, service is not open».
|
||||
- AnyMessage short-term И longlive (hotmail/gmail) — OTP не доходит (см. блокер 2.3).
|
||||
|
||||
## Единственный живой артефакт (не масштабируется)
|
||||
|
||||
Акк `[REDACTED-NAME]@gmail.com` (ключ `sk-361...`, `tmp/jiji_farm/jiji_keys.txt`) — создан в сессию 1, когда case-трюк ещё работал. Ключ мёртв (INSUFFICIENT_BALANCE). Скрипты: `farm_jiji_gmail.py` (case-варианты, теперь все 409), `farm_jiji_am.py` / `farm_jiji_ll.py` (AnyMessage, OTP не доходит). Оставить как есть, не запускать.
|
||||
|
||||
## Pitfall: свежесть OTP (актуален для ЛЮБОГО gmail-авторега)
|
||||
|
||||
Если письмо всё же доходит: НЕ брать первый 6-значный код из UNSEEN — можно схватить СТАРЫЙ код (предыдущий тест, тот же inbox) → `INVALID_VERIFY_CODE`. Фикс: парсить `msg.get("Date")` через `email.utils.parsedate_to_datetime` и скипать письма старше `sent_at − 120с`. Для case/alias-вариантов нельзя фильтровать по TO (Gmail нормализует case в envelope TO непредсказуемо) — фильтр по дате + UNSEEN. IMAP-критерий ОБЯЗАН быть в скобках с кавычками: `m.search(None,'(TO "alias@gmail.com")')` (голый токен → `BAD Could not parse command`).
|
||||
Reference in New Issue
Block a user