Skip to content

tiantianGPU/reg-factory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏭 reg-factory

Outlook · ChatGPT · Grok · Claude 全自动注册机

自动批量注册 Outlook 邮箱 → 用它在 ChatGPT / Grok / Claude 上注册账号 → 导出可直登 cookie

Outlook   ChatGPT   Grok   Claude

QQ 交流群 1048143135

Python Playwright BitBrowser Clash Verge license


reg-factory 是一套全自动注册流水线:先自注册 Outlook 邮箱,再用同一邮箱在 ChatGPT / Grok / Claude 上批量注册账号,并导出可直登的 cookie。底层用 比特浏览器(BitBrowser) 做指纹隔离、Clash Verge 做节点切换绕区域封锁与 Cloudflare 风控、 接码/打码平台过手机号与验证码。

⚠️ 仅供学习与授权测试使用。所有密钥通过环境变量提供,仓库内不含任何明文凭据。


1. 前置条件

① 比特浏览器 BitBrowser

  • 安装并启动比特浏览器客户端,确保本地 API 在线(默认 http://127.0.0.1:54345)。
  • 客户端要保持运行——脚本通过该 API 创建/打开/关闭浏览器窗口。

② Clash Verge(开启 API 权限)

  • 安装 Clash Verge 并导入你的机场订阅,选一个节点并开启「系统代理 / Tun 模式」。
    • 注册 Grok 需要能过 Cloudflare 的干净节点;脚本会在订阅节点里自动逐个试探可用节点。
  • 设置 → External Controller:开启外部控制器 API,并设置一个 secret
    • 记下控制面端口(Clash Verge 默认 9097,mihomo 内核默认 9090)。
    • 记下混合代理端口(mixed-port,默认 7897)。
  • 把 secret 填进 .envCLASH_SECRET(见下)。

③ Python

  • Python 3.10+。

2. 安装

pip install -r requirements.txt
playwright install chromium

3. 配置(密钥走环境变量)

复制模板并填写:

cp .env.example .env

.env 已被 .gitignore 忽略。真实的进程环境变量优先于 .env

环境变量 说明 必填
CLASH_SECRET Clash Verge External Controller 的 secret 走节点时必填
CLASH_API Clash 控制面地址(默认 http://127.0.0.1:9097
CLASH_PROXY Clash 混合端口代理(默认 http://127.0.0.1:7897
CLASH_GROUP 切换出口的代理组名(默认 GLOBAL
BITBROWSER_API 比特浏览器本地 API(默认 http://127.0.0.1:54345
SMS_TOKEN 接码平台 firefox.fun 的 token 需手机号时必填
HERO_SMS_API_KEY 备用接码 hero-sms.com 的 api_key
CAPSOLVER_API_KEY CapSolver 打码 key 按需
EZCAPTCHA_API_KEY EZ-Captcha 打码 key 按需
OUTLOOK_CARD 闪客云邮箱卡密(接口批量取号用) 用接口取号时填
OUTLOOK_PROXIES Outlook 自注册住宅代理池,user:pass@host:port,换行/逗号分隔
MAIL_* 备用域名邮箱(一般用不到)

4. 运行

端到端(注册邮箱 → 三平台注册)

python run_full_flow.py                       # 注册 1 个 outlook 号后在 claude 上注册
python run_full_flow.py --platforms claude chatgpt grok
python run_full_flow.py --skip-email --email a@outlook.com --password xxx
python run_full_flow.py --dry-run             # 只打印将执行的命令

自动注入 HTTP(S)_PROXYCLASH_API/SECRET/GROUP 给子进程。

仅三平台注册(已有邮箱池 emails.txt)

python register_three_platforms.py --from-pool
python register_three_platforms.py --email a@outlook.com --password xxx --token <refresh>
python register_three_platforms.py --loop     # 常驻消费池

并行流水线模式下建议先起共享取码服务(避免三窗口并发登录同一邮箱):

python mailbox_broker.py --port 8765

仅养号(持续自注册 Outlook,写入 _outlook_pool/ 与 emails.txt)

python outlook_reg_loop.py                     # 循环
python outlook_reg_loop.py --count 20          # 注册 20 个后退出

导出已注册账号 cookie(供直登扩展使用)

python export_accounts.py                      # 全部平台
python export_accounts.py claude chatgpt       # 指定平台

批量解锁被锁的 Outlook 账号

BitBrowser + Playwright,复用注册同款 PX 按压验证逻辑;按结果分类输出到 unlock_results/(unlocked_* 成功 / needs_phone_* 需短信 / failed_* 失败)。 打码 key 走环境变量 EZCAPTCHA_API_KEY

python unlock_outlook.py                                       # 自动找最新的 locked 文件
python unlock_outlook.py --input outlook_accounts/accounts.txt # 指定账号文件
python unlock_outlook.py --input emails_locked.txt --concurrency 2
python unlock_outlook.py --input accounts.txt --proxy-file proxies.txt

输入每行 email----password(可带额外字段)。解锁后再跑下面的 token 提取。

提取 Outlook 的 Graph OAuth refresh_token

requests 模拟 OAuth2 授权码流程(免浏览器),用账号密码换取 Microsoft Graph 的 refresh_token,输出 email----password----refresh_token----client_id, 结果存到 outlook_accounts/graph_tokens_<时间戳>.txt

python extract_graph_tokens.py                                   # 自动扫 unlock_results/,跳过已提取
python extract_graph_tokens.py outlook_accounts/accounts.txt     # 指定账号文件
python extract_graph_tokens.py --email a@outlook.com --password xxx
python extract_graph_tokens.py accounts.txt --concurrency 10     # 并发数(默认 5)

走系统代理(Clash),避免 account.live.com 限流;账号文件每行 email----password----...

Clash 节点自检

python -m common.proxy_switch list             # 列出 GLOBAL 组节点
python _clash_verge.py ping                    # 控制面连通性

5. 目录约定

路径 内容
emails.txt 邮箱池(email----password----token----clientid),运行时生成
cookies/ 注册成功导出的 cookie(full_*.json / sk_*.txt
_outlook_pool/ outlook_reg_loop 产出的待用号
tri_register_logs/ 三平台注册日志
screenshots*/ 调试截图

以上运行期数据均被 .gitignore 忽略,发布包内为空。


6. 常见问题

  • claude 报 app-unavailable-in-region:claude.com 对本机 IP 区域封锁,需开 Clash 走干净 节点(run_full_flow / register.py--node auto)。
  • grok 全页 Cloudflare 拦截:必须切 Clash 节点;register_grok.py 会用 curl_cffi 指纹 逐个试节点找能过的。
  • 三窗口登录同一 outlook 报并发登录:用 mailbox_broker.py 共享取码(每号只登一次)。
  • 缺 secret 连不上 Clash 控制面:确认 External Controller 已开 API 且 CLASH_SECRET 正确。

7. 交流 / 支持

  • 💬 QQ 交流群:1048143135(使用问题、避坑、更新通知)

🔗 Friend Links

  • 🐧 LinuxDO — A community for tech enthusiasts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages