
Outil automatisé d'enregistrement de comptes Outlook utilisant le protocole HTTP pur avec résolution de captcha PerimeterX, gestion de pool de proxys et récupération de jetons par e-mail pour la création de comptes en masse.
Enregistrement en masse Microsoft Outlook par protocole pur · Résolution PerimeterX · Console Web · Pool de proxys / Pool de comptes / Vérification d'activité intégrés
Ce qu'il résout · Aperçu de l'interface · Démarrage rapide · Stratégie anti-bannissement · English · Tiếng Việt
Adresse du dépôt :
lxf746/outlook-auto-register
Ce projet est destiné uniquement à l'apprentissage et à la recherche, et ne doit pas être utilisé à des fins commerciales illégales. L'utilisateur doit évaluer et respecter les conditions d'utilisation de Microsoft ; toutes les conséquences en découlant relèvent de la responsabilité de l'utilisateur.
En une phrase : Enregistrement en masse Outlook par protocole pur + console Web, de la résolution PX à la liaison des proofs, en passant par la vérification de lecture des e-mails via Graph — tout le processus est visualisé.
La plupart des scripts d'enregistrement Outlook ne résolvent que « comment envoyer des requêtes HTTP », laissant un grand vide en matière d'ingénierie : comment contourner PerimeterX, comment faire tourner les proxys, comment lier les e-mails de récupération proofs, comment lire les e-mails avec le token après l'enregistrement, comment gérer le volume, comment vérifier l'activité des comptes morts. Ce projet assemble tout cela en une chaîne complète.
| Scripts similaires | Outlook Auto Register | |
|---|---|---|
| Méthode d'implémentation | Automatisation navigateur / protocole semi-fini | Protocole HTTP pur (Fluent Web API + solveur PX), sans dépendance navigateur |
| Résolution de captcha | Manuel / plateforme unique | captcha.run press/silent, compatible CapSolver / EzCaptcha |
| Proxy | Un seul HTTP_PROXY | Pool de proxys SQLite : pré-vérification, statistiques de taux de réussite, liaison sticky, stratégie de rotation |
| Proofs | Souvent ignorés directement (taux de bannissement élevé) | Pool d'e-mails de récupération IMAP externe / réception de codes Cloudflare catch-all |
| Résultat | Fichier txt identifiant/mot de passe | Combo à quatre / six segments + stockage unifié SQLite |
| Exploitation | Aucune | Console Web : enregistrement par lots, pool de comptes, vérification d'activité, maintien IMAP |
| Lecture des e-mails | Dépend fortement de l'activation IMAP | Multi-modes Graph / Outlook REST / Thunderbird scope, lecture des e-mails possible dès la fin de l'enregistrement |
Paramètres à gauche, flux SSE complet à droite : pré-vérification du proxy → PX → CreateAccount → proofs → lecture des e-mails Graph. En bas, résumé du temps moyen par numéro et des temps par étape.

Routage automatique vers Graph / Outlook REST / IMAP selon le scope, avec prise en charge des tâches de maintien en masse et de l'auto-vérification de lecture des e-mails.

Chaîne d'enregistrement
cf_domain), skip par défaut interditGestion opérationnelle
Résolution de captcha et réception de codes
.env en secoursPage de connexion OAuth (PKCE)
→ signup.live.com/signup (analyse de ServerData)
→ CheckAvailableSigninName
→ risk/initialize (continuationToken vide)
→ Préchargement humanSensorUrl + collecteur PX
→ risk/verify #1 (px metadata + msaRiskVerifySignature)
→ [riskChallengeRequired] captcha.run press/silent
→ risk/verify #2 (challengeSolution + px metadata)
→ CreateAccount
→ oauth20_authorize.srf (connexion slt)
→ [proofs] e-mail de récupération externe / CF catch-all / (skip via cancel si OUTLOOK_SKIP_PROOFS=1)
→ [Optionnel] Ignorer Passkey / obtenir le refresh_token OAuth e-mail
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
# Modifier .env : pool d'e-mails de récupération, domaine CF, etc. (la clé captcha est de préférence écrite en base via la console Web)
.venv/bin/uvicorn webapp.server:app --host 0.0.0.0 --port 8890
Ouvrir http://127.0.0.1:8890 dans le navigateur :
host:port:user:pass ou modèle de passerelle rotative {sid})À la première utilisation, la simulation est activée par défaut ; aucun compte réel ne sera créé. Décochez-la après avoir vérifié la configuration.
# Compte unique (recommandé : graph_recovery à six segments — token Graph + e-mail de récupération)
OUTLOOK_MAIL_TOKEN_MODE=login_exe python main.py \
--proxy 'gate.example.com:1000:user:pass-US-{sid}' \
--country US -v
# En masse (concurrence prudente + variation)
REG_PROXY_RETRIES=6 python main.py --count 10 --concurrency 2 \
--country US --proxy 'gate.example.com:1000:user:pass-US-{sid}' -v
# Enregistrement uniquement, sans terminer l'OAuth (pas de refresh_token)
python main.py --skip-login
# Enregistrement sans échanger le refresh_token
python main.py --no-mail-token
python scripts/ez_selftest.py
python scripts/captcha_run_selftest.py
| Mode | Format | Description |
|---|---|---|
graph | Quatre segments | email----password----client_id----refresh_token |
graph_recovery / login_exe | Six segments | Quatre segments + recovery_email----recovery_password (recommandé) |
dual | Six segments | Quatre segments + login_client_id----login_refresh_token (double token) |
Menu déroulant « Format de sortie » de la console Web :
| Option | Mode correspondant |
|---|---|
| Graph à quatre segments | graph |
| Graph à six segments (recommandé) | graph_recovery |
| IMAP à six segments | login_exe |
OUTLOOK_MAIL_TOKEN_MODE)| Mode | Description |
|---|---|
graph | Lecture des e-mails via Graph API, utilisable dès la fin de l'enregistrement |
outlook_rest | Lecture des e-mails via Outlook REST API |
login_exe / recovery | Scope Thunderbird (IMAP/POP/SMTP + EWS + Mail.Read/Send), même style que les vendeurs |
dual | Double token : Graph pour la réception des codes + autorisation de connexion SSO |
# Backend IMAP (chaque ligne : 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 Cloudflare catch-all
OUTLOOK_RECOVERY_BACKEND=cf_domain
OUTLOOK_CF_DOMAIN=your-domain.com
OUTLOOK_CF_WORKER_API_URL=https://apimail.your-domain.com
Après liaison réussie, écrit dans le combo combo_recovery à six segments et ajouté à accounts_recovery.txt.
Interdiction de sauter les proofs en masse (OUTLOOK_SKIP_PROOFS=1 réservé au débogage).
accounts/outlook.db){sid} comme espace réservé), étiquettes de pays, pré-vérification, statistiques de taux de réussiteHTTP_PROXY en secours| Variable | Description |
|---|---|
CAPTCHA_RUN_API_KEY | Clé Bearer captcha.run (l'écriture Web dans la DB est prioritaire) |
CAPTCHA_RUN_API_BASE | Par défaut https://apicn.captcha.run |
HTTP_PROXY | Proxy de secours CLI |
OUTLOOK_MAIL_TOKEN_MODE | graph / login_exe / outlook_rest / dual |
OUTLOOK_RECOVERY_BACKEND | imap / cf_domain |
OUTLOOK_EXTERNAL_RECOVERY_POOL_FILE | Fichier du pool d'e-mails de récupération IMAP |
OUTLOOK_RECOVERY_IMAP_HOST | Hôte IMAP des e-mails de récupération |
OUTLOOK_SKIP_PROOFS | 1 pour autoriser le skip des proofs via cancel (par défaut 0) |
OUTLOOK_DB_PATH | Chemin SQLite personnalisé |
Liste complète des variables dans .env.example.
outlook-auto-register/
├── main.py # Point d'entrée CLI
├── outlook_api_reg/
│ ├── register.py # Orchestration principale
│ ├── bootstrap.py # Préchargement OAuth + PX
│ ├── api.py # API + msaRiskVerifySignature
│ ├── risk.py # risk/verify en deux étapes
│ ├── captcha.py # captcha.run / CapSolver / EzCaptcha
│ ├── post_register.py # slt + proofs + Passkey + OAuth e-mail
│ ├── external_recovery_pool.py
│ ├── cf_domain_mail.py # Réception de codes Cloudflare catch-all
│ ├── database.py # Stockage unifié SQLite
│ ├── proxy_pool.py # Gestion du pool de proxys
│ ├── graph_mail.py # Lecture des e-mails Graph / REST
│ └── constants.py # Constantes de protocole
├── px_solver/ # Module de résolution PerimeterX
├── webapp/
│ ├── server.py # Console FastAPI
│ └── static/index.html
├── scripts/
│ ├── ANTIBAN.md # Stratégie anti-bannissement
│ └── keepalive.py
├── assets/screenshots/ # Captures d'écran du README
└── accounts/ # Données de comptes générées (gitignored)
--country US)AADSTS7005106 riskBlocksolver (captcha.run par protocole pur)Voir scripts/ANTIBAN.md — choix des proxys, stratégie proofs, concurrence et variation, auto-vérification des résultats, etc.
| Lien | Description |
|---|---|
| Groupe QQ 1040827527 | Échanges et discussions |
| LINUX DO | Discussions communautaires |
| English · Tiếng Việt | Documentation multilingue |
Si ce projet vous est utile, n'hésitez pas à laisser une ⭐. Si le graphique affiche temporairement une limite de l'API GitHub, cela relève du service tiers star-history et n'affecte pas l'utilisation du dépôt.
Ce projet est sous licence GPL-3.0.