Files

93 lines
3.6 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.

# Gmail+alias TokenHarbor Flow
Полный цикл регистрации TokenHarbor через Gmail +alias с $5 gift claim.
## Почему Gmail, не t-online.de
t-online.de блокирует письма от tokenharbor.ai на уровне сервера — ни inbox, ни spam.
Проверено на 10+ аккаунтах 2026-08-09. Gmail принимает мгновенно.
## Gmail аккаунт
- Email: `[REDACTED-NAME]@gmail.com`
- App password: [REDACTED]
- IMAP: `imap.gmail.com:993`, SSL
- Алиасы: `[REDACTED-NAME]+th{N}@gmail.com` — без настройки, работает из коробки
## Поиск verify-письма
```python
mail.search(None, f'TO "[REDACTED-NAME]+th{id}@gmail.com"')
```
Письмо от TokenHarbor с subject: "Verify your email to start using the Token Harbor API".
Ссылка в теле: `https://tokenharbor.ai/verify-email?token=...`
## Полный цикл (90 сек на аккаунт)
### 1. Signup (15 сек)
```
Page.navigate → https://tokenharbor.ai/login?mode=signup
Заполнить email + password через nativeSet
Клик "Create account"
Ждать редиректа на /dashboard
```
### 2. Email verification (10-30 сек)
```
Gmail IMAP: поиск verify-письма по TO "[REDACTED-NAME]+th{N}@gmail.com"
Извлечь https://tokenharbor.ai/verify-email?token=...
Page.navigate → verify link
Ждать редиректа verify=success или /dashboard
```
### 3. $5 Gift claim (10 сек)
```
Page.navigate → /dashboard
Клик: button с текстом "gift" + "ready" (в хедере, "1 gift ready to claim")
Ждать модалку (2 сек)
Клик: button с текстом.trim() === "Claim" (внутри модалки)
Ждать подтверждения (3 сек)
```
### 4. API key creation (20 сек)
```
Page.navigate → https://tokenharbor.ai/dashboard/api-keys
Ждать загрузки: "API keys" in text AND "LOADING" not in text AND "Create and manage" in text
Клик: button с "New key" И offsetParent !== null
Ждать форму (3 сек)
Заполнить label через nativeSet (visible input: offsetParent !== null)
Клик: button с text === "Create key" И !disabled И offsetParent !== null
Ждать появления ключа (5 сек)
Извлечь thk_live_... из document.body.innerText
```
### 5. Push to VPS (2 сек)
```
POST https://[REDACTED-NAME].loc.cc/th/provider/add?provider=tokenharbor
Authorization: Bearer [REDACTED-KEY]
Body: {"key": "thk_live_..."}
```
## Rate limiting
При регистрации быстрее 1 акк/мин TokenHarbor начинает реджектить signup.
Симптом: после клика "Create account" URL остаётся `/login?mode=signup`.
Решение: `time.sleep(2)` между регистрациями. При массовых фейлах — 5-10 сек.
## Проверка баланса
```python
GET https://tokenharbor.ai/v1/models
Authorization: Bearer thk_live_...
```
200 = ключ работает (баланс > 0 или есть $5). 401 = invalid. 402 = no balance.
Нет публичного API для проверки точного баланса — только через dashboard.
## Питфолы Gmail IMAP
- Gmail требует app password (не основной пароль)
- `imaplib.IMAP4_SSL("imap.gmail.com", 993)` — стандартный порт
- Поиск по `TO` работает с полным адресом включая `+alias`
- При частых запросах Gmail может темпорарно блокировать — добавить задержки