
Автоматизированный инструмент регистрации учётных записей Outlook, использующий чистый HTTP-протокол с решением капчи PerimeterX, управлением пулом прокси и получением токенов электронной почты для массового создания аккаунтов.
Массовая регистрация Microsoft Outlook по чистому протоколу · Решение PerimeterX · Веб-консоль · Единый пул прокси / пул аккаунтов / проверка аккаунтов
Что это решает · Обзор интерфейса · Быстрый старт · Стратегия защиты от блокировок · English · Tiếng Việt
Адрес репозитория:
lxf746/outlook-auto-register
Этот проект предназначен только для обучения и исследований, не для коммерческого использования с нарушением правил. Пользователь должен самостоятельно оценить и соблюдать условия обслуживания Microsoft; все последствия несёт сам пользователь.
Коротко: массовая регистрация Outlook по чистому протоколу + веб-консоль, от решения PX до привязки proofs и проверки писем через Graph — весь процесс визуализирован.
Большинство скриптов регистрации Outlook решают только вопрос «как отправлять HTTP-запросы», оставляя большой пробел в инженерии: как пройти PerimeterX, как ротировать прокси, как привязать восстановительную почту для proofs, как читать письма по токену после регистрации, как управлять массовыми операциями, как проверять аккаунты на жизнеспособность. Этот проект объединяет всё это в единый полный конвейер.
| Аналогичные скрипты | Outlook Auto Register | |
|---|---|---|
| Способ реализации | Автоматизация браузера / полуфабрикатный протокол | Чистый HTTP-протокол (Fluent Web API + PX solver), без зависимости от браузера |
| Решение капчи | Вручную / одна платформа | captcha.run press/silent, совместимость с CapSolver / EzCaptcha |
| Прокси | Один HTTP_PROXY | Пул прокси на SQLite: предварительная проверка, статистика успешности, sticky-привязка, стратегия ротации |
| proofs | Часто просто пропускают (высокий риск блокировки) | Внешний пул IMAP-почт для восстановления / Cloudflare catch-all для получения кодов |
| Результат | txt с логинами/паролями | Combo из четырёх / шести частей + единое хранение в SQLite |
| Управление | Нет | Веб-консоль: пакетная регистрация, пул аккаунтов, проверка аккаунтов, поддержание активности IMAP |
| Чтение писем | Сильная зависимость от IMAP | Несколько режимов Graph / Outlook REST / Thunderbird scope, чтение писем сразу после регистрации |
Слева — параметры, справа — SSE-поток полного конвейера: предварительная проверка прокси → PX → CreateAccount → proofs → Graph для чтения писем. Внизу — сводка по среднему времени на аккаунт и времени этапов.

Автоматическая маршрутизация по scope на Graph / Outlook REST / IMAP, поддержка массовых задач поддержания активности и самопроверки чтения писем.

Конвейер регистрации
cf_domain), запрещён пропуск по умолчаниюУправление и эксплуатация
Решение капчи и получение кодов
.env — как запасной вариантСтраница входа OAuth (PKCE)
→ signup.live.com/signup (парсинг ServerData)
→ CheckAvailableSigninName
→ risk/initialize (пустой continuationToken)
→ Предзагрузка humanSensorUrl + PX collector
→ risk/verify #1 (px metadata + msaRiskVerifySignature)
→ [riskChallengeRequired] captcha.run press/silent
→ risk/verify #2 (challengeSolution + px metadata)
→ CreateAccount
→ oauth20_authorize.srf (вход через slt)
→ [proofs] внешняя восстановительная почта / CF catch-all / (пропуск через cancel при OUTLOOK_SKIP_PROOFS=1)
→ [опционально] пропуск Passkey / получение почтового OAuth refresh_token
git clone https://github.com/lxf746/outlook-auto-register.git
cd outlook-auto-register
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Отредактируйте .env: пул восстановительных почт, домен CF и т.д. (ключ captcha рекомендуется записывать через веб-консоль в базу данных)
.venv/bin/uvicorn webapp.server:app --host 0.0.0.0 --port 8890
Откройте в браузере http://127.0.0.1:8890:
host:port:user:pass или шаблон ротационного шлюза {sid})При первом использовании по умолчанию включён сухой прогон — реальная регистрация не выполняется; после проверки конфигурации снимите галочку и выполняйте.
# Один аккаунт (рекомендуется graph_recovery из шести частей: Graph token + восстановительная почта)
OUTLOOK_MAIL_TOKEN_MODE=login_exe python main.py \
--proxy 'gate.example.com:1000:user:pass-US-{sid}' \
--country US -v
# Пакетно (консервативный параллелизм + джиттер)
REG_PROXY_RETRIES=6 python main.py --count 10 --concurrency 2 \
--country US --proxy 'gate.example.com:1000:user:pass-US-{sid}' -v
# Только регистрация, без завершения OAuth (без refresh_token)
python main.py --skip-login
# Регистрация без замены refresh_token
python main.py --no-mail-token
python scripts/ez_selftest.py
python scripts/captcha_run_selftest.py
| Режим | Формат | Описание |
|---|---|---|
graph | Четыре части | email----password----client_id----refresh_token |
graph_recovery / login_exe | Шесть частей | Четыре части + recovery_email----recovery_password (рекомендуется) |
dual | Шесть частей | Четыре части + login_client_id----login_refresh_token (двойной токен) |
Выпадающий список «Формат результата» в веб-консоли:
| Вариант | Соответствующий режим |
|---|---|
| Graph из четырёх частей | graph |
| Graph из шести частей (рекомендуется) | graph_recovery |
| IMAP из шести частей | login_exe |
OUTLOOK_MAIL_TOKEN_MODE)| Режим | Описание |
|---|---|
graph | Чтение писем через Graph API, работает сразу после регистрации |
outlook_rest | Чтение писем через Outlook REST API |
login_exe / recovery | Thunderbird scope (IMAP/POP/SMTP + EWS + Mail.Read/Send), как у продавцов |
dual | Двойной токен: Graph для получения кодов + авторизация входа SSO |
# IMAP-бэкенд (каждая строка email----password)
OUTLOOK_RECOVERY_BACKEND=imap
OUTLOOK_EXTERNAL_RECOVERY_POOL_FILE=/path/recovery_pool.txt
OUTLOOK_RECOVERY_IMAP_HOST=imap.your-recovery-host.com
# Cloudflare catch-all бэкенд
OUTLOOK_RECOVERY_BACKEND=cf_domain
OUTLOOK_CF_DOMAIN=your-domain.com
OUTLOOK_CF_WORKER_API_URL=https://apimail.your-domain.com
После успешной привязки записывается combo_recovery из шести частей и добавляется в accounts_recovery.txt.
Запрещено массово пропускать proofs (OUTLOOK_SKIP_PROOFS=1 только для отладки).
accounts/outlook.db){sid}), меток стран, предварительной проверки, статистики успешностиHTTP_PROXY как запасной вариант| Переменная | Описание |
|---|---|
CAPTCHA_RUN_API_KEY | Bearer-ключ captcha.run (приоритет у записи в БД через веб-консоль) |
CAPTCHA_RUN_API_BASE | По умолчанию https://apicn.captcha.run |
HTTP_PROXY | Запасной прокси для CLI |
OUTLOOK_MAIL_TOKEN_MODE | graph / login_exe / outlook_rest / dual |
OUTLOOK_RECOVERY_BACKEND | imap / cf_domain |
OUTLOOK_EXTERNAL_RECOVERY_POOL_FILE | Файл пула восстановительных почт IMAP |
OUTLOOK_RECOVERY_IMAP_HOST | IMAP-хост восстановительной почты |
OUTLOOK_SKIP_PROOFS | Только 1 разрешает пропуск proofs через cancel (по умолчанию 0) |
OUTLOOK_DB_PATH | Пользовательский путь к SQLite |
Полный список переменных см. в .env.example.
outlook-auto-register/
├── main.py # Точка входа CLI
├── outlook_api_reg/
│ ├── register.py # Основная оркестрация
│ ├── bootstrap.py # Предзагрузка OAuth + PX
│ ├── api.py # API + msaRiskVerifySignature
│ ├── risk.py # Двухэтапная risk/verify
│ ├── captcha.py # captcha.run / CapSolver / EzCaptcha
│ ├── post_register.py # slt + proofs + Passkey + почтовый OAuth
│ ├── external_recovery_pool.py
│ ├── cf_domain_mail.py # Получение кодов через Cloudflare catch-all
│ ├── database.py # Единое хранение в SQLite
│ ├── proxy_pool.py # Управление пулом прокси
│ ├── graph_mail.py # Чтение писем через Graph / REST
│ └── constants.py # Константы протокола
├── px_solver/ # Модуль решения PerimeterX
├── webapp/
│ ├── server.py # Консоль FastAPI
│ └── static/index.html
├── scripts/
│ ├── ANTIBAN.md # Стратегия защиты от блокировок
│ └── keepalive.py
├── assets/screenshots/ # Скриншоты для README
└── accounts/ # Сгенерированные данные аккаунтов (в gitignore)
--country US)AADSTS7005106 riskBlocksolver (чистопротокольный captcha.run)Подробнее в scripts/ANTIBAN.md — выбор прокси, стратегия proofs, параллелизм и джиттер, самопроверка результата и т.д.
| Ссылка | Описание |
|---|---|
| QQ-группа 1040827527 | Обсуждение и общение |
| LINUX DO | Обсуждение в сообществе |
| English · Tiếng Việt | Многоязычная документация |
Если этот проект оказался вам полезен, поставьте, пожалуйста, ⭐. Если график временно показывает уведомление об ограничении GitHub API — это проблема стороннего сервиса star-history и не влияет на использование репозитория.
Этот проект распространяется под лицензией GPL-3.0.