Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Исходник Автоматическая регистрация почт mail.ru

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
684
Реакции
146
Всем привет, вообще это должен был быть авторег стим, но я посчитал нужным сделать для стим авторега почты. Проект был задуман в сентябре, но из-за того что я очень ленивый и имею много проблем в реальной жизни, решил доделать его только сегодня. Кстати выбрал маил ру, потому что она относительно популярная и для регистрации не нужен номер (При условии что айпи русский и не лимитнут (акаунта 4)), ну и капча там самая простая.

Я делал ее с закосом под библиотеку, чтобы в будущем, можно было подключить ее к стим авторегу

Python:
Expand Collapse Copy
from datetime import datetime
from random import choice

from requests import Session

from mailru import Registration, utils


session = Session()

registration = Registration(
    session=session,
    name=utils.get_random_string(5),
    surname=utils.get_random_string(5),
    birthday=utils.get_random_datetime(datetime(1970, 1, 1), datetime(2004, 1, 1)),
    gender=choice(("male", "female")),
    mail=utils.get_random_string(8),
    domain=choice(("mail.ru", "internet.ru", "bk.ru", "inbox.ru", "list.ru")),
    password=utils.get_random_string(16),
    restore_mail=utils.get_random_string(7) + "@" + utils.get_random_string(4) + "." + utils.get_random_string(2)
)
token = registration.signup()
captcha_bytes = registration.get_captcha_code()
captcha_solve = ...  # Тут должно быть решение капчи
join_url = registration.confirm(token, captcha_solve)
session.get(join_url)

print(
    "login: " + registration.mail,
    "password: " + registration.password,
    "restore_mail" + registration.restore_mail,
    "domain" + registration.domain
)

Вроде как тут все просто и понятно
1. Создается объект регистрации
2. Вызывается метод signup который отправляет указанные данные и возвращает токен нужный для подтверждения
3. Вызывается метод get_captcha_code для получения байтов изображения капчи (если что формат jpeg)
4. Тут нужно решить капчу, можно самому, можно через апи
5. Отправляется подтверждение капчи и возвращается url для быстрого входа, если через нее не войти, то при входе с пароля будет требовать почту восстановления
6. Отправляется гет запрос на ссылку для входа чтобы избежать 5й пункт

В принципе - не сложно, но над логикой я ебался относительно долго, пока не осознал что нужна сессия для кук, потому что там все на них :)
Так же для более удобного тестирования я писал на реквестах, но можно добавить async к каждой функции и await к каждому вызову, заменив Session на aiohttp.ClientSession
 

Вложения

Я думаю, если ты будешь поддерживать такой проект, было бы неплохо добавить запись в файл
И такой вопрос, насколько почт это рассчитано без прокси?):LUL:
 
Я думаю, если ты будешь поддерживать такой проект, было бы неплохо добавить запись в файл
И такой вопрос, насколько почт это рассчитано без прокси?):LUL:
Ну, как я и написал, что не зря сделал его в виде библиотеки, чтобы каждый мог сам сделать что ему нужно, хоть подключить RuCaptcha (Я ее подключал, но из-за косой библиотеки, пришлось внести в нее правки, поэтому не выложил этот код с ней), хоть запись
Python:
Expand Collapse Copy
with open("accounts.txt", "a", encoding="utf8") as file:
    file.write(f"{registration.mail}@{registration.domain}:{registration.password}\n")

Да, если айпи русский, то можно зарегистрировать 3-5 аккаунтов
 
Всем привет, вообще это должен был быть авторег стим, но я посчитал нужным сделать для стим авторега почты. Проект был задуман в сентябре, но из-за того что я очень ленивый и имею много проблем в реальной жизни, решил доделать его только сегодня. Кстати выбрал маил ру, потому что она относительно популярная и для регистрации не нужен номер (При условии что айпи русский и не лимитнут (акаунта 4)), ну и капча там самая простая.

Я делал ее с закосом под библиотеку, чтобы в будущем, можно было подключить ее к стим авторегу

Python:
Expand Collapse Copy
from datetime import datetime
from random import choice

from requests import Session

from mailru import Registration, utils


session = Session()

registration = Registration(
    session=session,
    name=utils.get_random_string(5),
    surname=utils.get_random_string(5),
    birthday=utils.get_random_datetime(datetime(1970, 1, 1), datetime(2004, 1, 1)),
    gender=choice(("male", "female")),
    mail=utils.get_random_string(8),
    domain=choice(("mail.ru", "internet.ru", "bk.ru", "inbox.ru", "list.ru")),
    password=utils.get_random_string(16),
    restore_mail=utils.get_random_string(7) + "@" + utils.get_random_string(4) + "." + utils.get_random_string(2)
)
token = registration.signup()
captcha_bytes = registration.get_captcha_code()
captcha_solve = ...  # Тут должно быть решение капчи
join_url = registration.confirm(token, captcha_solve)
session.get(join_url)

print(
    "login: " + registration.mail,
    "password: " + registration.password,
    "restore_mail" + registration.restore_mail,
    "domain" + registration.domain
)

Вроде как тут все просто и понятно
1. Создается объект регистрации
2. Вызывается метод signup который отправляет указанные данные и возвращает токен нужный для подтверждения
3. Вызывается метод get_captcha_code для получения байтов изображения капчи (если что формат jpeg)
4. Тут нужно решить капчу, можно самому, можно через апи
5. Отправляется подтверждение капчи и возвращается url для быстрого входа, если через нее не войти, то при входе с пароля будет требовать почту восстановления
6. Отправляется гет запрос на ссылку для входа чтобы избежать 5й пункт

В принципе - не сложно, но над логикой я ебался относительно долго, пока не осознал что нужна сессия для кук, потому что там все на них :)
Так же для более удобного тестирования я писал на реквестах, но можно добавить async к каждой функции и await к каждому вызову, заменив Session на aiohttp.ClientSession
Traceback (most recent call last):
File "C:\Users\User\Desktop\mailru\registration.py", line 6, in <module>
from .constants import generate_request_data_dict
ImportError: attempted relative import with no known parent package
 
Traceback (most recent call last):
File "C:\Users\User\Desktop\mailru\registration.py", line 6, in <module>
from .constants import generate_request_data_dict
ImportError: attempted relative import with no known parent package
Ты пытаешься запустить файл внутри mailru?
 
Да, я не понимаю как использовать это в виде библиотеки...
кладешь в корень своего проекта папку mailru, да или в принципе не важно куда ты ее положишь и импортируешь объект Registration, а там все понятно и с аннотациями, разберешься
 
жду такое же с outlook/gmail через шедевроrequests
Кстати я хотел сделать что ни будь из этого, но просто у меня раз в месяц возникает желание что-то делать и во-первых, видя подобную хуйню, желание резко отпадает
1700340899175.png

а во-вторых, даже если я сяду, потрачу свое время, разберусь и сделаю авторег, то по закону подлости через день эти пидорасы обновят что нибудь в регистрации
 
Кстати я хотел сделать что ни будь из этого, но просто у меня раз в месяц возникает желание что-то делать и во-первых, видя подобную хуйню, желание резко отпадает
Посмотреть вложение 264074
а во-вторых, даже если я сяду, потрачу свое время, разберусь и сделаю авторег, то по закону подлости через день эти пидорасы обновят что нибудь в регистрации
конечно поменяют, я их заставлю
 
кладешь в корень своего проекта папку mailru, да или в принципе не важно куда ты ее положишь и импортируешь объект Registration, а там все понятно и с аннотациями, разберешься
Спасибо!
 
Traceback (most recent call last):
File "C:\Users\zz123\PycharmProjects\маилрегер\mailru\registration.py", line 6, in <module>
from .constants import generate_request_data_dict
ImportError: attempted relative import with no known parent package
 
Назад
Сверху Снизу