
这是一套 ChatGPT 账号注册自动化工具的源码,把「注册账号 → 加入 K12 母号 workspace → 刷新令牌 → 导出 Sub2API JSON」用 Python 串成一条命令行流水线。代码从 chatgpt2api 的注册逻辑提炼,并集成了邮箱池与格式转换,适合用来学习 OpenAI 注册接口与反爬对抗的写法。
源码简介
chatgpt-register-sub2api 是一个用 Python 编写的命令行工具,目标是把 OpenAI 账号的注册、workspace 加入、令牌刷新与 Sub2API 格式导出几个环节自动化。项目只依赖 curl-cffi 与 pyyaml 两个包,通过 pip install -e . 安装后提供 chatgpt-register 命令。整套流程分成 4 个阶段:先用 Outlook 邮箱池注册 ChatGPT 个人账号并拿到 access/refresh token,再把账号加入指定的 K12 母号 workspace,随后刷新令牌并调用 accounts/check 接口补全 plan_type 与 account_id,最后把账号打包成 sub2api bundle JSON。从代码结构看,它更适合作为研究 OpenAI 注册接口、OAuth PKCE 流程以及反爬对抗(TLS 指纹、Cloudflare 校验、PoW)实现原理的参考资料。
适用场景
- 学习 OpenAI 账号注册 OAuth 流程与 PKCE 授权码交换的实现细节
- 研究 curl_cffi TLS 指纹伪装、Cloudflare clearance、Sentinel PoW 等反爬对抗代码的写法
- 作为 Sub2API 账号池格式转换(token → sub2api JSON)的本地脚本参考
技术栈与运行环境
- 语言:Python ≥ 3.11
- 核心依赖:curl-cffi(TLS 指纹 impersonate)、pyyaml(配置解析)
- 可选组件:FlareSolverr(Cloudflare 绕过)、SOCKS5/HTTP 代理
- 构建:hatchling,提供 chatgpt-register 控制台入口
- 运行:命令行 + config.yaml,注册阶段使用 ThreadPoolExecutor 多线程并发
功能亮点
- 完整注册流水线:register/registrar.py 的 PlatformRegistrar 实现了 10 步 OpenAI 注册流,包含 authorize、register_user、send_otp、validate_otp、create_account、exchange_tokens 等环节。
- Outlook 邮箱池与验证码提取:register/mail_provider.py 提供 create_mailbox、wait_for_code 等接口,配置按 email—-password—-client_id—-refresh_token 组织邮箱凭据。
- K12 workspace 自动加入:workspace/joiner.py 向 /backend-api/accounts/{id}/invites/request 发请求,带最大重试次数与退避间隔。
- Sub2API JSON 导出:export/sub2api.py 的 build_sub2api_bundle 生成包含 access/refresh/id_token、plan_type、account_id 的账号 bundle,字段与 sub2api 格式对齐。
- 反爬对抗模块:utils/sentinel.py 实现 OpenAI Sentinel 的 PoW 校验(FNV1a32 + 难度匹配),utils/proxy.py 支持 FlareSolverr clearance 与 socks 代理归一化。
- 多线程注册与断点续存:pipeline.py 用 ThreadPoolExecutor 并发注册,每成功一个就原子写入 registered_accounts.json,便于中断后继续。
安装与部署提示
- 准备 Python 3.11+,建议用虚拟环境:python3 -m venv .venv && source .venv/bin/activate
- 安装依赖:pip install -e .(仅 curl-cffi、pyyaml 两个包)
- 生成配置:chatgpt-register init,再编辑 config.yaml 填入邮箱池、代理、workspace id
- 运行流水线:chatgpt-register run -n 10 -v
- 注意:代码需要真实 OpenAI 注册环境与有效邮箱凭据才能实际跑通,本文仅作源码结构分析,不提供可运行的成品配置
截图与演示说明
- 命令行入口:chatgpt-register,含 init / register / join-workspace / login-team / export / run 六个子命令(cli.py)
- 注册引擎:register/registrar.py(PlatformRegistrar 类,10 步注册流)
- 邮箱模块:register/mail_provider.py、register/session.py、register/headers.py
- workspace 加入:workspace/joiner.py
- 导出模块:export/sub2api.py(含 build_credentials / build_sub2api_bundle)
- 工具类:utils/sentinel.py(PoW)、utils/proxy.py(Cloudflare clearance)、utils/jwt.py、utils/pkce.py
- 配置样例:config.example.yaml
常见问题
Q1:这个工具需要哪些外部服务?
A1:需要可用的 Outlook/微软邮箱凭据(client_id、refresh_token)、可选代理或 FlareSolverr 实例,以及目标 K12 workspace 的 UUID。代码本身不含这些凭据,需要使用者自行准备。
Q2:为什么项目要集成 PoW 和 Cloudflare 绕过?
A2:注册流程会触发 OpenAI 的 Sentinel 工作量证明校验与 Cloudflare 防护,utils/sentinel.py 与 utils/proxy.py 即对应实现。这些代码仅用于理解反爬机制,实际批量注册可能违反平台服务条款。
安全风险提示
特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!
合规提醒:该工具用于批量自动化注册 ChatGPT 账号并导出令牌,实际大规模使用很可能违反 OpenAI 使用条款与 abuse 政策。源码仅供学习注册接口、OAuth 流程和反爬对抗原理之用,请勿用于规避平台风控或进行未经授权的批量注册。请在合法授权范围内研究使用。
下载说明
本仓库为 GitHub 开源项目,项目地址:https://github.com/akihitohyh/chatgpt-register-sub2api 。
