eTempMail EDU API

REST API для https://etempmail.com (edu.pl temp mail) — реверс + recover-flow.

⚠️ Создание НОВОГО ящика требует Cloudflare Turnstile — на сервере это не обходится (проверено живьём: без токена → тролль-адрес ...bot.brother@get-a-real-job..., фейковый токен → 403 Bot detected). Схема: разово создаёшь пул recover_keys локально (nodriver-скрипт), загружаешь их в API — дальше всё (восстановление, приём писем, продление, удаление) работает чистым HTTP. recover_key постоянный: ящик восстанавливается когда угодно, /extend продлевает TTL — фактически ящик бессмертный. Каждый ключ = один ящик с фиксированным адресом.

Endpoints

МетодПутьОписание
GET/docs
GET/domainsдомены: 22 securemail, 23 mats, 24 temporarmail (.edu.pl)
GET/poolпул ключей
POST/pool{keys: ["RK", ...]} или {keys: [{recover_key, address}, ...]}
DELETE/pool?key=RKубрать ключ
POST/mailbox{recover_key} → восстановить/активировать ящик
GET/inbox?key=RKвходящие [{from,subject,date}]
GET/message?key=RK&id=Nписьмо с телом (id = 1-based позиция в инбоксе)
POST/extend?key=RK+20 мин TTL (дергай раз в ~15 мин)
POST/delete?key=RKудалить ящик
POST/domain?key=RK{id: 22|23|24} — сменить домен
GET/time?key=RKсерверное время (расчёт TTL)

Сессии (ci_session) кешируются и автоматически восстанавливаются через recover при истечении.

Пример

# 1. загрузить пул (JSON из твоего nodriver pool-скрипта) curl -X POST https://<endpoint>/pool -H 'content-type: application/json' \ -d '{"keys":[{"recover_key":"CMDVMRT11944975","address":"7qcm4insfh@securemail.edu.pl"}, ...]}' # 2. активировать ящик curl -X POST https://<endpoint>/mailbox -H 'content-type: application/json' \ -d '{"recover_key":"CMDVMRT11944975"}' # 3. письма curl 'https://<endpoint>/inbox?key=CMDVMRT11944975' curl 'https://<endpoint>/message?key=CMDVMRT11944975&id=1' # 4. поддерживать живым curl -X POST 'https://<endpoint>/extend?key=CMDVMRT11944975'

Файлы: main.ts (API), etempmail.ts (клиент к etempmail.com), test.ts (интеграционный тест).