GPT-Register-Tool
面向 Windows 的 ChatGPT 账号注册、邮箱 OTP、账号管理与支付工作台
A Windows desktop workbench for ChatGPT account registration, email OTP, account management, and payment workflows.
[简体中文](./README.md) · [English](./README_EN.md)



简介
GPT-Register-Tool 采用 WPF 桌面端 + Python 业务核心,提供邮箱 OTP 注册、账号与 Session 管理、代理配置、协议支付链接提取和账号导出能力。运行数据默认保存在本机,不写入 Git。
当前发布说明:release-v2026.10.15.md。
赞助商
IPWO全球住宅代理为 ChatGPT 自动化工具提供全球住宅代理资源,支持多地区 IP 选择及灵活的代理配置。
适用于注册代理、独立网络环境及自动化任务等场景,帮助开发者根据项目需求配置合适的网络出口。
包含动态静态IP资源,支持免费测试。IPWO测试入口
ProxyLane 住宅代理覆盖 195 个国家,95%+ IP 获 Scamalytics 低风险评级,可按城市、ISP、ASN 定向。
适合「账号 ↔ 代理槽绑定」:用户名后加会话名和城市,最长 72 小时同一个住宅 IP,换 IP 也留在同一城市。
中文界面,支持 USDT 付款,首次购买使用优惠码 GPTREG30 享 7 折。
功能亮点
| 模块 | 能力要点 |
|---|---|
| 一键注册 | 邮箱池 / ReMail 长效邮箱 / CFWorker 域名邮箱 / iCloud 接码链接,配多供应商手机接码;单账号与并发批量;每个账号独立提取 Sentinel Token 与 oai-did,不跨账号复用认证事务;成功判定为 AT 探测 HTTP 200;注册只保存 AT/Session,不生成支付链接 |
| 协议一致性与恢复 | 领取或购买邮箱前预检 ChatGPT / Auth / Sentinel 三段网络;账号 ↔ 代理会话绑定,只在故障时换出口;NextAuth / Auth / ChatGPT 共享稳定的 oai-did、UA 与 client hints,指纹语言与时区随出口 GeoIP;403/429 熔断且不做纯 HTTP PoW 降级;创建账号后先持久化断点再探活,可从断点恢复且不重复烧 OTP |
| 邮箱与 OTP | 统一 mailbox seam:ReMail、Smailr、CFWorker、Microsoft Graph/OAuth、Outlook/Hotmail IMAP、Gmail、iCloud 接码链接与历史邮箱池格式;OTP 按主题、发件人、精确收件人、服务端时间戳过滤并排序;ReMail 支持自适应轮询、详情正文补取与 30s 内重发 |
| 协议支付提链 | 15 种方式:PayPal、GoPay、GCash、GrabPay、UPI、iDEAL、PIX、Kakao Pay、BLIK、TWINT、直卡 Checkout、MoMo、QRIS、Bizum、Naver Pay(后三者为 CLI canary);Checkout 与 Approve 使用彼此独立的出口池,按支付方法改写国家与 Session;严格区分 Checkout / Promotion / PM / Confirm / Poll / Provider Redirect 阶段;统一五态终态并附 retryable 与 error_stage,unknown 须先对账 |
| 批量协议支付 | JIT AT 门禁、HTTP 401 分层恢复(RT → Cookie → 隔离浏览器邮箱 OTP → Codex OAuth)、支付资格矩阵、Canary 暂停、方法级并发、原子断点与显式续跑;报告分开统计 AT 200、资格、支付方式可见性、Approve 与最终链接/二维码产物 |
| 账号与数据管理 | Session JSON + SQLite 双层索引;账号测活与 401 恢复;优惠状态与支付资格徽章(默认只查套餐/试用,显式入口才创建一次性 Checkout 并读取支付方式证据);Codex / CPA / SUB2API 导入导出;本地数据在 sessions/ 与 runtime/,均被 Git 忽略 |
| 桌面端操作 | 勾选账号后走「批量协议支付」窗口(并发、重试、Canary、两个出口池、断点续跑);注册批次每输出一次 Saved session: 即防抖刷新账号池;多选删除合并为一次后端批量命令 |
| 手机接码 | SMSBower、HeroSMS、Grizzly、NexSMS 的供应商选择与在线目录查询(可用性依供应商协议),支持发送重试、超时与轮询间隔配置;详见 当前接码契约 |
架构总览
项目按 ① UI → ② CLI / 命令适配 → ③ 应用工作流 → ④ 领域契约 → ⑤ Provider / 持久化适配 五层组织,导入只指向内层,下层从不反向依赖上层。配置与运行数据落在仓库外(Git 忽略)。注册泳道分协议(内置默认)与浏览器驱动两条,二者共用同一套邮箱 OTP、Session 提取与 AT 探活边界。
flowchart TB
subgraph L1["① 桌面端 UI · SmsWorkbench/(WPF · .NET 10)"]
direction LR
PANEL["Generic Host / DI
MVVM 页面 · 设置页"]
IPC["IBackendClient
版本化信封"]
end
subgraph L2["② CLI / 命令适配"]
direction LR
CLI["cli.py"]
CMDS["commands/"]
PARSERS["cli_parsers/"]
end
subgraph L3["③ 应用工作流"]
direction LR
REG["registration"]
BATCH["batch_runner"]
DRV["registration_drivers/"]
REC["accounts/"]
end
subgraph L4["④ 领域契约(不可变接缝)"]
direction LR
RESULT["registration_result"]
WIRE["payment_wire"]
CHECKOUT["checkout_contract"]
DIPC["desktop_ipc"]
end
subgraph L5["⑤ Provider / 持久化适配"]
direction LR
AF["auth_flow/"]
SEN["sentinel/"]
MB["mailbox_*"]
PAY["pay_link/ · paypal/"]
STO["store/"]
GEO["geo/"]
end
PANEL --> IPC
CLI --> CMDS
CLI --> PARSERS
REG -. 驱动注册表 .-> DRV
L1 --> L2
L2 --> L3
L3 --> L4
L4 --> L5
L5 --> DATA[("本地配置与运行数据
sessions/ · runtime/ · %LOCALAPPDATA% —— Git 忽略")]
每层的模块归属与职责边界:
| 层 | 模块 | 职责 |
|---|---|---|
| ① 桌面端 UI | SmsWorkbench/ |
Generic Host / DI、MVVM 页面、设置页、批量协议支付窗口、账号池;经 IBackendClient 以参数列表调用后端,并管理取消 / 超时 / 进程树终止 |
| ② CLI / 命令适配 | cli.py、commands/、cli_parsers/ |
参数解析、任务编排、批量任务、退出码;不承载 provider 实现 |
| ③ 应用工作流 | registration.py、registration_handlers.py |
注册门面与协议泳道:阶段顺序、Sentinel 签发、OTP、AT 探活 |
| ③ 应用工作流 | batch_runner.py、registration_pulse.py |
并发与脉冲调度、JIT AT 门禁、原子断点与断点续跑 |
| ③ 应用工作流 | registration_drivers/ |
浏览器驱动(playwright · camoufox · roxy · cloak)与 browser_flow/、external_sessions/ |
| ③ 应用工作流 | accounts/、codex_oauth.py |
存量账号恢复与 Codex OAuth;不负责新注册 |
| ④ 领域契约 | registration_result.py、registration_flags.py、checkout_contract.py、payment_wire.py、desktop_ipc.py |
每次调用绑定一次的不可变接缝;RegistrationOperations 为固定接口,不作为活模块传入工作流 |
| ⑤ Provider / 持久化适配 | auth_flow/ |
步骤函数:signin / authorize / continue / OTP / TOTP |
| ⑤ Provider / 持久化适配 | sentinel/ |
Sentinel Token 签发(Node sdk.js runner) |
| ⑤ Provider / 持久化适配 | mailbox_service.py、mailbox_strategies.py、providers/ |
邮箱路由、能力解析、轮询策略与 provider 传输 |
| ⑤ Provider / 持久化适配 | pay_link/、paypal/、paypal_link/、upi_link/ |
Checkout 契约、能力探测、钱包 / GCash |
| ⑤ Provider / 持久化适配 | store/ |
SQLite + Session JSON 持久化与领域事实 |
| ⑤ Provider / 持久化适配 | geo/、proxy_routing.py、fingerprint_pool.py |
出口 GeoIP 与指纹绑定 |
services/ 为可选本地协议服务(子进程边界,含 mail-otp-web 与 protocol-payment),不属于上述五层。
部署方式
环境要求
- Windows 10/11 x64。
- Python 3.10 或更高版本。
curl_cffi==0.16.0。注册预检会校验安装版本和chrome146profile;旧版本不会进入邮箱采购或注册阶段。- .NET 10 Desktop Runtime;从源码编译时需要 .NET 10 SDK。
- Node.js 18+(
node需在 PATH):Sentinel Token 的 quickjs 提取器用node运行 OpenAI 真实sdk.js,缺失会导致注册阶段 OTP 静默丢失。 - Playwright Chromium:MoMo/直卡等协议支付的 Stripe init 走 Chromium 网络栈完成 TLS,需执行
python -m playwright install chromium。 - 可正常访问目标邮箱、ChatGPT 和支付服务的网络环境。
- 注册代理、邮箱收件代理和协议支付代理彼此独立;邮箱收件默认使用本地
http://127.0.0.1:7897。
安装依赖后,可运行环境预检确认 Node.js、Playwright Chromium 和关键 Python 包就绪:
python scripts/preflight_env.py
方式一:安装包
从 GitHub Releases 下载最新的:
GPT-Register-Tool-Setup-vYYYY.MM.DD.exe
运行安装器并选择安装目录。首次启动前仍需安装 Python 依赖,并创建本地配置:
python -m pip install -r requirements.txt -c constraints.txt
New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\GPTRegisterTool\config" | Out-Null
copy config.example.json "$env:LOCALAPPDATA\GPTRegisterTool\config\config.json"
方式二:便携压缩包
下载并解压:
GPT-Register-Tool-win-x64-vYYYY.MM.DD.zip
在解压目录执行:
python -m pip install -r requirements.txt -c constraints.txt
New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\GPTRegisterTool\config" | Out-Null
copy config.example.json "$env:LOCALAPPDATA\GPTRegisterTool\config\config.json"
.\dist\net10\SmsWorkbench.exe
方式三:从源码运行
git clone https://github.com/2951461586/GPT-Register-Tool.git
cd GPT-Register-Tool
python -m pip install -r requirements.txt -c constraints.txt
New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\GPTRegisterTool\config" | Out-Null
copy config.example.json "$env:LOCALAPPDATA\GPTRegisterTool\config\config.json"
powershell -ExecutionPolicy Bypass -File .\SmsWorkbench\build_dotnet.ps1
.\dist\net10\SmsWorkbench.exe
桌面程序只能通过 SmsWorkbench/build_dotnet.ps1 编译。不要直接运行 dotnet build,因为它只产生中间文件,不会更新标准工作区 dist/net10。
配置与凭证位置
配置分片(proxy.json / runtime.json / payment.json)和默认邮箱池 mailbox_tokens.txt 存放在仓库之外的用户目录:
%LOCALAPPDATA%\GPTRegisterTool\config
设置环境变量 GPT_REGISTER_CONFIG_DIR 可改用其他目录(桌面端启动 Python 后端时会自动传递同一个值)。从旧版本升级时,仓库根目录里遗留的这些文件会在首次启动时移动(而不是复制)到新目录;目标目录已有同名文件时不会覆盖。token_file 配置为相对路径时,相对的是这个目录。
首次配置
打开桌面端的 设置 页面,至少完成以下配置:
- 在 网络与支付 中配置注册代理池和邮箱收件代理;协议支付的 Checkout / Approve 两个代理池在“批量协议支付”窗口中按支付方式保存。
- 在 邮箱与收信 中配置 ReMail、CFWorker 或其他邮箱源。
- 按需配置 SMSBower、CPA、SUB2API 和各协议支付参数。
- 保存后重新打开对应功能即可使用新配置。
注册驱动在 设置 -> 注册与接码 -> 注册驱动 中选择,默认仍为 protocol。选择浏览器驱动后,注册会复用同一套邮箱 OTP、Session 提取、AT HTTP 200 探活和本地持久化边界:
playwright:本机 Chromium,通过 Playwright 启动。roxy:连接本机 RoxyBrowser API 创建/打开 Profile,再通过 CDP 接管。cloak:调用已安装的 CloakBrowser Python SDK。camoufox:调用已安装的 Camoufox 反检测浏览器(当前默认浏览器驱动)。
RoxyBrowser 的 API/会话配置位于同一设置页的独立分区;CloakBrowser 的 License Key、持久化目录和指纹参数也在那里配置。未配置所选驱动的必需字段时,任务会返回脱敏的配置错误,不会回退到协议注册。浏览器驱动不绕过 CAPTCHA;遇到人工挑战会以 manual_challenge_required 结束,保留现有账号状态。
浏览器注册默认启用 脉冲调度(registration.pulse,波次间隔 + OTP-ban 暂停)与 浏览器进程池(registration.browser_process_pool,按进程复用浏览器上下文、按健康度回收)。二者与「账号 ↔ 代理槽绑定」协同:每个账号在整个生命周期内固定走同一个注册出口,重试时只刷新会话 sid,不切换代理成员——避免出口轮换被注册方判定为代理抖动而封禁。进程池哈希键按 (driver, headless, timeout) 缓存,使同一出口、同一头部配置的账号复用同一浏览器进程,降低冷启动开销。
ReMail API Key 也可以通过环境变量提供:
$env:REMAIL_API_KEY = "rk-your-key"
环境变量优先于配置文件。桌面设置页保存的 API Key 仅写入上述用户配置目录,不在仓库内。
许可证与使用责任
本项目以 MIT License 发布,全文见 LICENSE。
请仅在获得授权并符合相关服务条款、地区法规及组织政策的场景中使用本项目。使用者需要自行承担第三方邮箱、代理、接码与支付服务的费用、账号安全和数据合规责任;示例配置不包含任何真实凭据。


