autoreg-skills-max: initial public release (restored, redacted, hardened)

This commit is contained in:
baradok60915d52e8425
2026-10-20 02:16:32 +03:00
commit f58eafeb48
565 changed files with 60064 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
# t-online.de Claim Flow — детали реализации
## IMAP: baseline-based поиск новых писем
Проблема: старый подход искал verification-письма по `FROM "tokenharbor"`, но не находил их, если письмо уже прочитано или ушло в архив.
Решение: **baseline-based** — запоминаем текущие UID до клика «Verify email», затем ждём только новые UID.
```python
# Get baseline UIDs
status, baseline = mail.search(None, 'ALL')
known_ids = set(baseline[0].split()) if baseline[0] else set()
# Wait for new emails
while time.time() - start < timeout:
mail.select("INBOX")
status, data = mail.search(None, 'ALL')
new_ids = set(data[0].split()) - known_ids
for mid in sorted(new_ids, reverse=True):
# parse email, check for verify link
```
## «Verify email» кнопка — отправка нового письма
На дашборде TokenHarbor, если аккаунт не верифицирован, есть текст «Verify your email» и кнопка. Клик по ней отправляет новое verification-письмо.
```javascript
for(var b of document.querySelectorAll('button')) {
if((b.textContent.includes('Verify') && b.textContent.includes('email')) && b.offsetParent !== null) {
b.click(); break;
}
}
```
## $5 Gift Claim — двухшаговый
1. Клик по кнопке в хедере дашборда: «1 gift ready to claim» → открывает модалку
2. Клик по «Claim» внутри модалки
```javascript
// Step 1: open modal
for(var b of document.querySelectorAll('button')) {
if((b.textContent.includes('Claim') || b.textContent.includes('Gift')) && b.offsetParent !== null) {
b.click(); break;
}
}
// Step 2: claim in modal
for(var b of document.querySelectorAll('button')) {
if(b.textContent.trim() === 'Claim' && b.offsetParent !== null) {
b.click(); break;
}
}
```
## Статистика успешности
- ~85% аккаунтов уже верифицированы (из предыдущего раунда регистрации)
- ~15% требуют отправки нового verification-письма
- ~7-8% фейлов на этапе создания API ключа (race condition Next.js)
- Общая скорость: ~1 акк/мин (логин → verify → $5 → ключ → пуш)
## Пароли
- **TokenHarbor сайт**: `TokenHarbor2026!X` (единый для всех аккаунтов)
- **IMAP t-online.de**: индивидуальные пароли из `working_mails.txt` (формат `email:password`)
- Некоторые пароли в пуле устарели (~5-10%) — скрипт пропускает их с ошибкой «Invalid login»