
Herramienta automatizada de registro de cuentas de Outlook que utiliza protocolo HTTP puro con resolución de captcha PerimeterX, gestión de grupo de proxies y recuperación de tokens de correo para la creación masiva de cuentas.
Registro masivo de Microsoft Outlook por protocolo puro · Resolución de PerimeterX · Consola web · Pool de proxies / Pool de cuentas / Verificación de actividad integrados
Qué resuelve · Vista general · Inicio rápido · Estrategia anti-bloqueo · English · Tiếng Việt
Dirección del repositorio:
lxf746/outlook-auto-register
Este proyecto es solo para fines de aprendizaje e investigación, no debe utilizarse con fines comerciales que violen las normas. Los usuarios deben evaluar y cumplir por su cuenta los términos de servicio de Microsoft; todas las consecuencias derivadas de su uso son responsabilidad del usuario.
En una frase: Registro masivo de Outlook por protocolo puro + consola web, desde la resolución de PX hasta la vinculación de proofs, verificación de lectura de correo con Graph, todo el flujo visualizado.
La mayoría de los scripts de registro de Outlook solo resuelven «cómo enviar peticiones HTTP», dejando un gran vacío a nivel de ingeniería: cómo superar PerimeterX, cómo rotar proxies, cómo vincular el correo de recuperación de proofs, cómo leer el correo con el token tras el registro, cómo gestionar lotes, cómo verificar cuentas muertas. Este proyecto une todo esto en una cadena completa.
| Scripts similares | Outlook Auto Register | |
|---|---|---|
| Método de implementación | Automatización de navegador / protocolo a medias | Protocolo HTTP puro (Fluent Web API + solver PX), sin dependencia de navegador |
| Resolución de captcha | Manual / plataforma única | captcha.run press/silent, compatible con CapSolver / EzCaptcha |
| Proxies | Un único HTTP_PROXY | Pool de proxies SQLite: pre-verificación, estadísticas de éxito, vinculación sticky, estrategia de rotación |
| proofs | Normalmente se omiten directamente (alta tasa de bloqueo) | Pool de correos de recuperación IMAP externos / catch-all de Cloudflare para recibir códigos |
| Resultado | txt de usuario/contraseña | combo de cuatro / seis segmentos + almacenamiento unificado en SQLite |
| Operación | Ninguna | Consola web: registro por lotes, pool de cuentas, verificación de actividad, mantenimiento IMAP |
| Lectura de correo | Dependencia fuerte del IMAP | Múltiples modos Graph / Outlook REST / Thunderbird scope, lectura de correo disponible tras el registro |
Parámetros a la izquierda, SSE empuja la cadena completa a la derecha: pre-verificación de proxy → PX → CreateAccount → proofs → Graph legible. En la parte inferior se resumen el tiempo medio por cuenta y la duración por fase.

Enrutamiento automático por scope a Graph / Outlook REST / IMAP, con soporte para tareas de mantenimiento masivo y autocomprobación de lectura de correo.

Cadena de registro
cf_domain), prohibido omitir por defectoGestión operativa
Resolución de captcha y recepción de códigos
.env como respaldoPágina de inicio de sesión OAuth (PKCE)
→ signup.live.com/signup (análisis de ServerData)
→ CheckAvailableSigninName
→ risk/initialize (continuationToken vacío)
→ humanSensorUrl + precarga del collector PX
→ risk/verify #1 (px metadata + msaRiskVerifySignature)
→ [riskChallengeRequired] captcha.run press/silent
→ risk/verify #2 (challengeSolution + px metadata)
→ CreateAccount
→ oauth20_authorize.srf (inicio de sesión slt)
→ [proofs] correo de recuperación externo / catch-all CF / (omitir con cancel si OUTLOOK_SKIP_PROOFS=1)
→ [opcional] omitir Passkey / obtener refresh_token de OAuth de correo
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
# Editar .env: pool de correos de recuperación, dominio CF, etc. (la clave de captcha se recomienda escribir en la base de datos desde la consola web)
.venv/bin/uvicorn webapp.server:app --host 0.0.0.0 --port 8890
Abrir http://127.0.0.1:8890 en el navegador:
host:port:user:pass o plantillas de gateway rotatorio {sid})En el primer uso, la simulación está activada por defecto; no se realizará un registro real. Desmarcar la casilla solo después de confirmar que la configuración es correcta.
# Cuenta única (se recomienda graph_recovery de seis segmentos: token Graph + correo de recuperación)
OUTLOOK_MAIL_TOKEN_MODE=login_exe python main.py \
--proxy 'gate.example.com:1000:user:pass-US-{sid}' \
--country US -v
# Lote (concurrencia conservadora + jitter)
REG_PROXY_RETRIES=6 python main.py --count 10 --concurrency 2 \
--country US --proxy 'gate.example.com:1000:user:pass-US-{sid}' -v
# Solo registro, sin completar OAuth (sin refresh_token)
python main.py --skip-login
# Registrar pero sin intercambiar refresh_token
python main.py --no-mail-token
python scripts/ez_selftest.py
python scripts/captcha_run_selftest.py
| Modo | Formato | Descripción |
|---|---|---|
graph | Cuatro segmentos | email----password----client_id----refresh_token |
graph_recovery / login_exe | Seis segmentos | Cuatro segmentos + recovery_email----recovery_password (recomendado) |
dual | Seis segmentos | Cuatro segmentos + login_client_id----login_refresh_token (doble token) |
Desplegable «Formato de salida» de la consola web:
| Opción | Modo correspondiente |
|---|---|
| Graph de cuatro segmentos | graph |
| Graph de seis segmentos (recomendado) | graph_recovery |
| IMAP de seis segmentos | login_exe |
OUTLOOK_MAIL_TOKEN_MODE)| Modo | Descripción |
|---|---|
graph | Lectura de correo con Graph API, listo tras el registro |
outlook_rest | Lectura de correo con Outlook REST API |
login_exe / recovery | Thunderbird scope (IMAP/POP/SMTP + EWS + Mail.Read/Send), el mismo que usan los vendedores |
dual | Doble token: Graph para recibir códigos + autorización de inicio de sesión SSO |
# Backend IMAP (cada línea email----password)
OUTLOOK_RECOVERY_BACKEND=imap
OUTLOOK_EXTERNAL_RECOVERY_POOL_FILE=/path/recovery_pool.txt
OUTLOOK_RECOVERY_IMAP_HOST=imap.your-recovery-host.com
# Backend catch-all de Cloudflare
OUTLOOK_RECOVERY_BACKEND=cf_domain
OUTLOOK_CF_DOMAIN=your-domain.com
OUTLOOK_CF_WORKER_API_URL=https://apimail.your-domain.com
Tras una vinculación exitosa, se escribe el combo de seis segmentos combo_recovery y se añade a accounts_recovery.txt.
Prohibido omitir proofs en lote (OUTLOOK_SKIP_PROOFS=1 solo para depuración).
accounts/outlook.db){sid}), etiquetas de país, pre-verificación y estadísticas de éxitoHTTP_PROXY como respaldo| Variable | Descripción |
|---|---|
CAPTCHA_RUN_API_KEY | Clave Bearer de captcha.run (la escritura en DB desde la web tiene prioridad) |
CAPTCHA_RUN_API_BASE | Por defecto https://apicn.captcha.run |
HTTP_PROXY | Proxy de respaldo para CLI |
OUTLOOK_MAIL_TOKEN_MODE | graph / login_exe / outlook_rest / dual |
OUTLOOK_RECOVERY_BACKEND | imap / cf_domain |
OUTLOOK_EXTERNAL_RECOVERY_POOL_FILE | Archivo del pool de correos de recuperación IMAP |
OUTLOOK_RECOVERY_IMAP_HOST | Host IMAP del correo de recuperación |
OUTLOOK_SKIP_PROOFS | Solo con 1 se permite omitir proofs con cancel (por defecto 0) |
OUTLOOK_DB_PATH | Ruta SQLite personalizada |
Variables completas en .env.example.
outlook-auto-register/
├── main.py # Entrada CLI
├── outlook_api_reg/
│ ├── register.py # Orquestación principal
│ ├── bootstrap.py # Precarga OAuth + PX
│ ├── api.py # API + msaRiskVerifySignature
│ ├── risk.py # risk/verify en dos pasos
│ ├── captcha.py # captcha.run / CapSolver / EzCaptcha
│ ├── post_register.py # slt + proofs + Passkey + OAuth de correo
│ ├── external_recovery_pool.py
│ ├── cf_domain_mail.py # Recepción de códigos con catch-all de Cloudflare
│ ├── database.py # Almacenamiento unificado SQLite
│ ├── proxy_pool.py # Gestión del pool de proxies
│ ├── graph_mail.py # Lectura de correo Graph / REST
│ └── constants.py # Constantes de protocolo
├── px_solver/ # Módulo de resolución PerimeterX
├── webapp/
│ ├── server.py # Consola FastAPI
│ └── static/index.html
├── scripts/
│ ├── ANTIBAN.md # Estrategia anti-bloqueo
│ └── keepalive.py
├── assets/screenshots/ # Capturas del README
└── accounts/ # Datos de cuentas generados (gitignored)
--country US)AADSTS7005106 riskBlocksolver (captcha.run por protocolo puro)Ver scripts/ANTIBAN.md — selección de proxies, estrategia de proofs, concurrencia y jitter, autocomprobación de resultados, etc.
| Enlace | Descripción |
|---|---|
| Grupo QQ 1040827527 | Discusión e intercambio |
| LINUX DO | Discusión comunitaria |
| English · Tiếng Việt | Documentación multilingüe |
Si este proyecto te resulta útil, no dudes en darle una ⭐. Si el gráfico muestra temporalmente un aviso de límite de la API de GitHub, es un problema del servicio de terceros star-history y no afecta al uso del repositorio.
Este proyecto está bajo la licencia GPL-3.0.