Салют, бандиты! Перед вами слив из-под космического хайда, в котором рассказано, как замутить бесконечное количество авторегов почт через nguyendoll.site.
Получить список доменов
GET https://nguyendoll.site/api/get_domains.php
Возвращает JSON: status, message, data[] где каждый элемент:
{ "domain": "...", "date": "YYYY-MM-DD", "expiration": "YYYY-MM-DD" }.
Выбрать домен
Берите любой из data. Логично фильтровать те, у которых expiration ≥ сегодня.
“Сгенерировать” почту
Ящик создавать не нужно: просто придумайте локальную часть (например, lilpeep) и склейте с доменом: lilpeep@chosen-domain.tld. Этот адрес уже можно указывать в формах регистрации — письма будут попадать на сервер временной почты.
Забрать входящие для адреса
GET https://nguyendoll.site/api/get_mail.php?email=<ваш_адрес>
Ответ: status, message, data[], где у письма есть uid, subject, from_field, date, html_content, status, code.
Особенность API: если писем нет, status будет false, а data — пустой массив (это нормально, просто еще не пришло письмо).
Достать код подтверждения
Сначала берите item.code. Если пусто — можно резервно вытащить цифры (5–8 знаков) из subject/html_content по регэкспу \b\d{5,8}\b.
GET https://nguyendoll.site/api/get_domains.php
Возвращает JSON: status, message, data[] где каждый элемент:
{ "domain": "...", "date": "YYYY-MM-DD", "expiration": "YYYY-MM-DD" }.
Выбрать домен
Берите любой из data. Логично фильтровать те, у которых expiration ≥ сегодня.
“Сгенерировать” почту
Ящик создавать не нужно: просто придумайте локальную часть (например, lilpeep) и склейте с доменом: lilpeep@chosen-domain.tld. Этот адрес уже можно указывать в формах регистрации — письма будут попадать на сервер временной почты.
Забрать входящие для адреса
GET https://nguyendoll.site/api/get_mail.php?email=<ваш_адрес>
Ответ: status, message, data[], где у письма есть uid, subject, from_field, date, html_content, status, code.
Особенность API: если писем нет, status будет false, а data — пустой массив (это нормально, просто еще не пришло письмо).
Достать код подтверждения
Сначала берите item.code. Если пусто — можно резервно вытащить цифры (5–8 знаков) из subject/html_content по регэкспу \b\d{5,8}\b.
Получить список доменов
GET https://nguyendoll.site/api/get_domains.php
Возвращает JSON: status, message, data[] где каждый элемент:
{ "domain": "...", "date": "YYYY-MM-DD", "expiration": "YYYY-MM-DD" }.
Выбрать домен
Берите любой из data. Логично фильтровать те, у которых expiration ≥ сегодня.
“Сгенерировать” почту
Ящик создавать не нужно: просто придумайте локальную часть (например, lilpeep) и склейте с доменом: lilpeep@chosen-domain.tld. Этот адрес уже можно указывать в формах регистрации — письма будут попадать на сервер временной почты.
Забрать входящие для адреса
GET https://nguyendoll.site/api/get_mail.php?email=<ваш_адрес>
Ответ: status, message, data[], где у письма есть uid, subject, from_field, date, html_content, status, code.
Особенность API: если писем нет, status будет false, а data — пустой массив (это нормально, просто еще не пришло письмо).
Достать код подтверждения
Сначала берите item.code. Если пусто — можно резервно вытащить цифры (5–8 знаков) из subject/html_content по регэкспу \b\d{5,8}\b.
GET https://nguyendoll.site/api/get_domains.php
Возвращает JSON: status, message, data[] где каждый элемент:
{ "domain": "...", "date": "YYYY-MM-DD", "expiration": "YYYY-MM-DD" }.
Выбрать домен
Берите любой из data. Логично фильтровать те, у которых expiration ≥ сегодня.
“Сгенерировать” почту
Ящик создавать не нужно: просто придумайте локальную часть (например, lilpeep) и склейте с доменом: lilpeep@chosen-domain.tld. Этот адрес уже можно указывать в формах регистрации — письма будут попадать на сервер временной почты.
Забрать входящие для адреса
GET https://nguyendoll.site/api/get_mail.php?email=<ваш_адрес>
Ответ: status, message, data[], где у письма есть uid, subject, from_field, date, html_content, status, code.
Особенность API: если писем нет, status будет false, а data — пустой массив (это нормально, просто еще не пришло письмо).
Достать код подтверждения
Сначала берите item.code. Если пусто — можно резервно вытащить цифры (5–8 знаков) из subject/html_content по регэкспу \b\d{5,8}\b.
import requests, time, random, string, re
from datetime import date
BASE = "https://nguyendoll.site/api"
def get_domains():
return requests.get(f"{BASE}/get_domains.php").json()["data"]
def choose_domain(domains):
today = date.today().isoformat()
valid = [d for d in domains if not d.get("expiration") or d["expiration"] >= today]
valid.sort(key=lambda d: d.get("expiration") or "9999-12-31", reverse=True)
return valid[0]["domain"]
def gen_local(length=10):
return "u" + "".join(random.choices(string.ascii_lowercase + string.digits, k=length))
def wait_code(email, timeout=180, poll=5):
end = time.time() + timeout
while time.time() < end:
r = requests.get(f"{BASE}/get_mail.php", params={"email": email})
j = r.json()
if j.get("status") and j.get("data"):
m = j["data"][0]
if m.get("code"): return m["code"]
blob = f"{m.get('subject','')} {m.get('html_content','')}"
f = re.search(r"\b\d{5,8}\b", blob)
if f: return f.group(0)
time.sleep(poll)
return None
def get_temp_mail():
domains = get_domains()
dom = choose_domain(domains)
return f"{gen_local()}@{dom}"
if name == "main":
email = get_temp_mail()
print("EMAIL:", email)
code = wait_code(email)
print("CODE:", code)
from datetime import date
BASE = "https://nguyendoll.site/api"
def get_domains():
return requests.get(f"{BASE}/get_domains.php").json()["data"]
def choose_domain(domains):
today = date.today().isoformat()
valid = [d for d in domains if not d.get("expiration") or d["expiration"] >= today]
valid.sort(key=lambda d: d.get("expiration") or "9999-12-31", reverse=True)
return valid[0]["domain"]
def gen_local(length=10):
return "u" + "".join(random.choices(string.ascii_lowercase + string.digits, k=length))
def wait_code(email, timeout=180, poll=5):
end = time.time() + timeout
while time.time() < end:
r = requests.get(f"{BASE}/get_mail.php", params={"email": email})
j = r.json()
if j.get("status") and j.get("data"):
m = j["data"][0]
if m.get("code"): return m["code"]
blob = f"{m.get('subject','')} {m.get('html_content','')}"
f = re.search(r"\b\d{5,8}\b", blob)
if f: return f.group(0)
time.sleep(poll)
return None
def get_temp_mail():
domains = get_domains()
dom = choose_domain(domains)
return f"{gen_local()}@{dom}"
if name == "main":
email = get_temp_mail()
print("EMAIL:", email)
code = wait_code(email)
print("CODE:", code)