autoreg-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
66
skills/th-autoreg/references/tonline-claim-flow.md
Normal file
66
skills/th-autoreg/references/tonline-claim-flow.md
Normal 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»
|
||||
Reference in New Issue
Block a user