6.4 KiB
6.4 KiB
OutlookRegister
Outlook / Hotmail 自動註冊,並取得 Microsoft Graph OAuth2 refresh_token(以 patchright 進行瀏覽器自動化)。
本專案基於 LainsNL/OutlookRegister 二開。
強化重點:可選輔助信箱綁定、更完整的 OAuth 中間頁、cookie 優先授權、分批排程,以及 Ctrl+C 中斷後的彙總與清理。
使用教學
1. 環境需求
- 建議 Python 3.10+
- 可用的 HTTP/SOCKS 代理(強烈建議)
- 若啟用輔助信箱綁定:相容的臨時信箱 / CF Temp Mail 類 API
2. 安裝
git clone <本倉庫網址>
cd OutlookRegister
pip install -r requirements.txt
patchright install chromium
3. 設定
# Windows
copy config.example.json config.json
# Linux / macOS
cp config.example.json config.json
編輯 config.json:至少填好 proxy。對外分享時請勿包含真實金鑰。
4. 執行
python main.py
成功帳號會追加寫入 Results/oauth2.txt:
信箱----密碼----client_id----refresh_token
日誌位於 log/。按 Ctrl+C 可中斷:先寫彙總,再關閉瀏覽器並清理 profile。
config.json 欄位說明
範本見 config.example.json(與空白 config.json 結構相同)。
頂層欄位
| 欄位 | 類型 | 說明 |
|---|---|---|
email_suffix |
string | 註冊信箱後綴,如 @outlook.com 或 @hotmail.com。 |
headless |
bool | false 顯示瀏覽器視窗;true 無頭。 |
bot_protection_wait |
number | 填表節奏基準(秒)。程式內會 ×1000 作為等待。 |
max_captcha_retries |
number | 驗證碼按壓額外重試次數(約 max_captcha_retries + 1 輪 Hold)。 |
captcha_strategy |
number | 驗證碼/交接策略,見下表。 |
concurrent_flows |
number | 並發執行緒數(同時開啟的瀏覽器任務數)。 |
tasks |
number | 全域提交任務上限;與 success_tasks 任一達標即結束。 |
success_tasks |
number | null | 全域成功上限。null = 不依成功數截斷(仍受 tasks 限制)。 |
batch_success_limit |
number | 單批成功上限;達標後重置程式內代理權重/統計並開下一批。累計成功/耗時保留。不會更換固定代理的真實出口 IP。 |
proxy |
object | 代理設定(正式使用必填)。 |
oauth2 |
object | Graph OAuth2 設定。 |
temp_mail |
object | 可選:保護帳戶頁自動綁定輔助信箱。 |
captcha_strategy
| 值 | 行為 |
|---|---|
0 |
全自動(驗證碼 + 進信箱 + OAuth)。 |
1 |
半自動:你手動過驗證碼,其餘自動。 |
2 |
驗證碼介面出現後交由人工;該任務程式不跑 OAuth。 |
proxy
| 欄位 | 類型 | 說明 |
|---|---|---|
mode |
string | single 使用 single_port;multiple 使用 port_start~port_end 連接埠池。 |
type |
string | 代理協定,如 http、socks5。 |
host |
string | 代理主機,如 127.0.0.1。執行前請填寫。 |
single_port |
number | mode=single 時的連接埠。 |
port_start |
number | mode=multiple 時起始連接埠。 |
port_end |
number | mode=multiple 時結束連接埠(含)。 |
max_per_proxy |
number | 單一連接埠在行程內最多被選中次數;用滿後暫不選,全滿或批次重置後計數清零。 |
oauth2
| 欄位 | 類型 | 說明 |
|---|---|---|
enable_oauth2 |
bool | false 時註冊成功即可計成功,不拉 token。 |
client_id |
string | 授權與換 token 使用的用戶端 ID。 |
redirect_url |
string | 重新導向 URI(預設 http://localhost)。 |
Scopes |
string[] | 授權範圍,一般為 offline_access + Graph 預設範圍。 |
temp_mail
僅在 Microsoft 出現 「讓我們來保護你的帳戶」 且啟用綁定時使用。
| 欄位 | 類型 | 說明 |
|---|---|---|
enabled |
bool | false = 不自動綁定(出現保護頁時走跳過等邏輯)。 |
base_url |
string | 臨時信箱 API 根位址。不用則留空。 |
admin_password |
string | 建立地址用的管理員密碼。勿公開。 |
domain |
string | 新建信箱網域。 |
name_prefix |
string | 本地部分前綴(可選)。 |
enable_prefix |
bool | 是否啟用 name_prefix。 |
code_timeout |
number | 等待驗證碼郵件逾時(秒)。 |
poll_interval |
number | 輪詢收件匣間隔(秒)。 |
專案用途
產生信箱/密碼
-> 開啟註冊頁並填表
-> 按壓驗證碼
->(可選)綁定輔助信箱
-> 進入 Outlook 信箱
-> OAuth2(優先 cookie,失敗再新瀏覽器並可注入 cookie)
-> 將 refresh_token 追加寫入 Results/oauth2.txt
OAuth 可處理:個人/工作帳戶選擇、保護帳戶、驗證電子郵件、保持登入「否」、同意授權與 code 擷取等。
主要功能
- 多代理並發註冊
- 依批成功上限重置程式內權重
- Cookie 優先 OAuth + 冷啟動/新環境後援
- 可選 temp_mail 輔助信箱綁定
- Ctrl+C:先彙總再關瀏覽器、清 profile
log/進度與失敗分類
上游與致謝
- LainsNL/OutlookRegister — 本專案二開來源
- Microsoft identity platform / Graph — OAuth2 與 Graph
- patchright — 瀏覽器自動化
授權條款
本專案採用 MIT License。
保留對上游 OutlookRegister 及所依賴 MIT 元件之署名說明。
友情連結 / Community
- linux.do — 新的理想型社區 / a thriving developer community.