[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93175":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":15,"starSnapshotCount":15,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},93175,"turb-gpt-free-register","myfanhua\u002Fturb-gpt-free-register","myfanhua","纯协议+指纹浏览器自动GPT FREE注册机+Codex自动接码授权",null,"Python",185,70,59,1,0,8,126,59.55,"MIT License",false,"main",true,[],"2026-07-23 04:02:09","# Turb GPT Free Register\n\nChatGPT \u002F OpenAI 账号自动注册与 Codex OAuth 授权工具。当前项目支持三套注册驱动：\n\n- **protocol**：原纯协议注册，基于 `curl_cffi` + Sentinel\u002FPoW。\n- **roxy**：RoxyBrowser 指纹浏览器 + Selenium 自动化注册，兼容新版页面流，例如 `create-account\u002Fpassword`、`about-you` 年龄\u002F生日表单、地区本地化页面等。\n- **cloak**：CloakBrowser + Playwright 适配层自动化注册，支持免费 binary、无头模式、humanize、固定 fingerprint seed、代理 geoip。\n- **browser_use**：Browser Use Cloud stealth Chromium + Playwright（可选住宅代理，无需本机安装 Roxy）。\n\n项目提供 **CLI** 和 **本地 WebUI** 两种使用方式。日常推荐使用 WebUI。\n\n> 项目说明：本项目基于 [xiaoguzuiniu\u002Fgpt-free-register](https:\u002F\u002Fgithub.com\u002Fxiaoguzuiniu\u002Fgpt-free-register) 进行改造与扩展。\n\n- TG 交流群：[https:\u002F\u002Ft.me\u002F+gu_cvEKq_vcyZWRl](https:\u002F\u002Ft.me\u002F+gu_cvEKq_vcyZWRl)\n\n> 开源版说明：仓库只保留源码、配置模板和文档；运行时账号、Token、邮箱池、Codex 凭证、日志等真实数据均已通过 `.gitignore` 排除。\n\n---\n\n## 功能概览\n\n### 注册\n\n- 批量注册 ChatGPT 账号。\n- 支持注册驱动切换：\n  - `REGISTRATION_DRIVER = \"protocol\"`\n  - `REGISTRATION_DRIVER = \"roxy\"`\n  - `REGISTRATION_DRIVER = \"cloak\"`\n  - `REGISTRATION_DRIVER = \"browser_use\"`\n- 支持 RoxyBrowser 一号一环境：自动创建、打开、关闭、删除 Roxy Profile。\n- 支持 Roxy 无头启动：`ROXY_OPEN_HEADLESS=True`。\n- 支持 CloakBrowser：免费 binary、无头模式、humanize、固定 fingerprint seed、按出口 IP 自动匹配语言\u002F时区\u002FWebRTC。\n- Roxy \u002F Cloak 浏览器注册已兼容：\n  - 填邮箱后直接进入邮箱验证码页；\n  - 填邮箱后先进入 `create-account\u002Fpassword`，自动设置密码再继续；\n  - `about-you\u002Fprofile` 页面直接输入年龄数字；\n  - `about-you\u002Fprofile` 页面输入年月日生日；\n  - React Aria birthday select \u002F spinbutton 年月日控件；\n  - 不同出口 IP \u002F 不同页面语言下按钮顺序变化导致的三方登录误点问题。\n\n### 邮箱来源\n\n支持多种邮箱来源：\n\n- Outlook 邮箱池：`email----password----clientId----refreshToken`\n- Cloudflare 域名邮箱 + QQ 邮箱 IMAP 收信\n- 通用 API 邮箱：`email----取码地址`\n- `EMAIL_SOURCE` 支持多个来源组合，例如：\n\n```python\nEMAIL_SOURCE = \"outlook,generic_api\"\n```\n\n### Codex OAuth\n\n- 注册成功后可自动跑 Codex OAuth。\n- Codex 授权驱动可选：\n  - `CODEX_OAUTH_DRIVER = \"protocol\"`\n  - `CODEX_OAUTH_DRIVER = \"roxy\"`\n  - `CODEX_OAUTH_DRIVER = \"cloak\"`\n  - `CODEX_OAUTH_DRIVER = \"browser_use\"`\n  - `CODEX_OAUTH_DRIVER = \"same_as_registration\"`\n- 支持 CPA 管理接口生成授权 URL，并提交 OAuth callback。\n- 支持接码平台：\n  - GrizzlySMS\n  - 本地 L 取号服务，见 `L_API.md`\n- 手机验证支持自动取号、填号、收码、提交、失败换号重试。\n- Codex 凭证落盘到 `codex_accounts\u002F`。\n\n### WebUI\n\n- 批量启动注册任务。\n- 实时查看任务日志。\n- 动态调整注册线程数，提交后新任务立即使用最新值。\n- 批量补跑 Codex，补跑线程数每次提交即时生效。\n- 管理账号、邮箱池、Codex 凭证。\n- 配置页支持热加载，保存后无需重启。\n- Roxy 团队\u002F项目可在配置页获取并保存。\n\n---\n\n## 环境要求\n\n- Python 3.10+\n- Node.js 18+\n- 可用代理、系统代理\u002FVPN，或 RoxyBrowser 代理环境\n- 如使用 Roxy 注册：需要本机 RoxyBrowser API 可访问\n- 如使用 Cloak 注册：首次运行会自动下载 Cloak Chromium binary；`CLOAK_GEOIP=True` 需要 `cloakbrowser[geoip]` 依赖\n- 如启用 Codex 自动授权：需要接码平台配置\n\n安装依赖：\n\n```bash\npip install -r requirements.txt\nnode --version\n```\n\n### 密钥配置（.env）\n\n重要 API Key 请放在项目根目录 `.env`，不要写进 `config\u002F*.py`。\n\n```bash\ncp .env.example .env\n# 编辑 .env，例如：\n# BROWSER_USE_API_KEY=...\n# ROXY_API_TOKEN=...\n```\n\n当前支持从 `.env` 读取的密钥：\n\n- `BROWSER_USE_API_KEY`\n- `ROXY_API_TOKEN`\n- `QQ_IMAP_PASSWORD`\n- `CPA_MANAGEMENT_KEY`\n- `SMS_API_KEY`\n- `L_ADMIN_AUTH_CODE`\n\nWebUI 配置页保存这些字段时会写入 `.env`（不是 config 源码）。\n\n---\n\n## 快速开始\n\n### 1. 配置邮箱源\n\n#### Outlook 邮箱池\n\n复制示例文件：\n\n```bash\ncp 用于注册的邮箱.txt.example 用于注册的邮箱.txt\n```\n\n每行格式：\n\n```text\nemail----password----clientId----refreshToken\n```\n\n也可以在 WebUI 的「邮箱池」页面导入。\n\n#### 通用 API 邮箱\n\n每行格式：\n\n```text\nemail----code_url\n```\n\n在 `config\u002Femail.py` 设置：\n\n```python\nEMAIL_SOURCE = \"generic_api\"\n```\n\n或使用组合来源：\n\n```python\nEMAIL_SOURCE = \"outlook,generic_api\"\n```\n\n#### Cloudflare 域名邮箱\n\n在 `config\u002Femail.py` 设置：\n\n```python\nEMAIL_SOURCE = \"cloudflare_domain\"\nEMAIL_DOMAIN = \"你的域名\"\nQQ_EMAIL = \"你的QQ邮箱\"\nQQ_IMAP_PASSWORD = \"QQ邮箱IMAP授权码\"\n```\n\nCloudflare Email Routing 需要把域名邮件转发到 QQ 邮箱。\n\n---\n\n### 2. 配置注册驱动\n\n编辑 `config\u002Froxybrowser.py`，或直接在 WebUI「配置」页修改。\n\n#### 使用 RoxyBrowser 注册\n\n```python\nREGISTRATION_DRIVER = \"roxy\"  # 可选 protocol \u002F roxy \u002F cloak\nROXY_API_BASE = \"http:\u002F\u002F127.0.0.1:50100\"\nROXY_API_TOKEN = \"你的Roxy API Key\"\nROXY_WORKSPACE_ID = \"你的workspaceId\"\nROXY_PROJECT_ID = \"你的projectId\"\nROXY_ONE_PROFILE_PER_ACCOUNT = True\nROXY_DELETE_PROFILE_AFTER_RUN = True\nROXY_CREATE_USE_PROXY_POOL = True\n```\n\n如要无头：\n\n```python\nROXY_OPEN_HEADLESS = True\n```\n\n\n#### 使用 CloakBrowser 注册\n\n如需改用 CloakBrowser，先安装依赖：\n\n```bash\npip install -r requirements.txt\n```\n\n然后在 `config\u002Froxybrowser.py` 或 WebUI 配置页把注册驱动改为：\n\n```python\nREGISTRATION_DRIVER = \"cloak\"\n```\n\n再在 `config\u002Fcodex.py` 或 WebUI「CPA \u002F Codex」分组设置 Codex 授权驱动：\n\n```python\nCODEX_OAUTH_DRIVER = \"same_as_registration\"  # 跟随注册驱动\n# 或单独指定：\"protocol\" \u002F \"roxy\" \u002F \"cloak\" \u002F \"browser_use\"\n```\n\nCloakBrowser 专用配置在 `config\u002Fcloakbrowser.py`：\n\n```python\nCLOAK_HEADLESS = False          # True=无头；False=显示窗口\nCLOAK_HUMANIZE = True           # 人工鼠标\u002F键盘\u002F滚动行为\nCLOAK_GEOIP = True              # 按当前出口 IP 自动匹配语言\u002F时区\u002FWebRTC\nCLOAK_LOCALE = \"\"               # 留空自动；也可强制如 ja-JP \u002F en-US\nCLOAK_TIMEZONE = \"\"             # 留空自动；也可强制如 Asia\u002FTokyo\nCLOAK_LICENSE_KEY = \"\"          # 留空使用免费 binary；填 Pro key 使用最新版\nCLOAK_FINGERPRINT_SEED = \"\"     # 留空每次随机；固定值=固定指纹\nCLOAK_USER_DATA_DIR = \"\"        # 留空临时环境；填路径可持久化 profile\n```\n\n说明：\n\n- `CLOAK_GEOIP=True` 会按当前出口 IP 自动生成 `locale \u002F timezone \u002F Accept-Language`，并传给 CloakBrowser 与 Playwright context。\n- 如果你通过项目代理池使用代理，请在 `config\u002Fproxy.py` 的 `PROXY_POOL` 填写代理；如果你使用系统代理\u002FVPN，也会按当前实际出口 IP 自动定位。\n- 免费版没有在项目侧限制窗口数；本项目每个注册任务会启动一个 CloakBrowser 实例，即一个实例一套指纹。\n- WebUI 中，`Codex授权驱动` 位于「CPA \u002F Codex」分组，对应 `config\u002Fcodex.py` 的 `CODEX_OAUTH_DRIVER`。\n\n#### 使用协议注册\n\n```python\nREGISTRATION_DRIVER = \"protocol\"\n```\n\n协议注册会使用 `curl_cffi`、Sentinel\u002FPoW、代理池等配置。\n\n#### 使用 Browser Use Cloud 注册\n\n```python\nREGISTRATION_DRIVER = \"browser_use\"\n```\n\n并在 `config\u002Fbrowser_use.py` 或 WebUI「配置 → Browser Use」填写：\n\n```python\nBROWSER_USE_API_KEY = \"你的 Browser Use API Key\"\nBROWSER_USE_PROXY_COUNTRY_CODE = \"jp\"   # 可选：us\u002Fsg\u002Fde...\nBROWSER_USE_USE_PROXY = True\nBROWSER_USE_FAST_MODE = True       # 推荐开启：减少 Browser Use 额外等待\nBROWSER_USE_LOG_TIMING = True      # 输出阶段耗时日志，方便定位慢点\n```\n\n如希望注册成功后也用 Browser Use 自动跑 Codex OAuth：\n\n```python\nENABLE_CODEX_AUTO = True\nCODEX_OAUTH_DRIVER = \"browser_use\"\n# 或 CODEX_OAUTH_DRIVER = \"same_as_registration\"，当 REGISTRATION_DRIVER=\"browser_use\" 时自动跟随\n```\n\n依赖：\n\n```bash\nuv pip install playwright --python .venv\u002Fbin\u002Fpython\n# 或\npip install playwright\n```\n\n说明：\n\n- Browser Use 走远端 stealth Chromium，通过 Playwright `connect_over_cdp` 控制。\n- `BROWSER_USE_FAST_MODE=True` 会跳过大部分人工节奏等待；`BROWSER_USE_LOG_TIMING=True` 会打印连接、打开页面、邮箱、OTP、手机、callback 等阶段耗时。\n- 支持作为 Codex OAuth 授权驱动：`CODEX_OAUTH_DRIVER=\"browser_use\"`，可完成授权页面、邮箱 OTP、手机短信验证与 callback 捕获。\n- 适合不想安装本机 Roxy、又想要 session 隔离 + 云端代理的场景。\n- 免费额度\u002F并发以 Browser Use 官方定价页为准。\n\n---\n\n### 3. 配置代理\n\n编辑 `config\u002Fproxy.py`：\n\n```python\nPROXY_POOL = [\n    \"http:\u002F\u002Fuser:pass@host:port\",\n]\n```\n\nRoxy 一号一环境开启 `ROXY_CREATE_USE_PROXY_POOL=True` 时，会从这里随机取代理写入 Roxy Profile。\n\n---\n\n### 4. 配置 Codex OAuth\n\n如不需要 Codex，关闭：\n\n```python\nENABLE_CODEX_AUTO = False\n```\n\n如需要自动授权：\n\n```python\nENABLE_CODEX_AUTO = True\n# config\u002Fcodex.py\nCODEX_OAUTH_DRIVER = \"browser_use\"  # 可选 protocol \u002F roxy \u002F cloak \u002F browser_use \u002F same_as_registration\n```\n\n接码配置在 `config\u002Fcodex.py`：\n\n```python\nSMS_PROVIDER = \"l\"        # 或 grizzly\nSMS_API_KEY = \"你的key\"\nSMS_SERVICE = \"openai\"\nSMS_COUNTRY = \"国家代码\"\nSMS_MAX_RETRIES = 10\nSMS_CODE_WAIT = 120\nSMS_POLL_INTERVAL = 5\n```\n\nCPA 授权地址来源：\n\n```python\nCODEX_AUTH_URL_SOURCE = \"cpa\"\nCPA_MANAGEMENT_URL = \"你的CPA管理地址\"\nCPA_MANAGEMENT_KEY = \"你的CPA管理密钥\"\n```\n\n---\n\n## 使用方式\n\n## WebUI 推荐方式\n\n启动：\n\n```bash\npython web.py --open-browser\n```\n\n默认地址：\n\n```text\nhttp:\u002F\u002F127.0.0.1:5000\n```\n\n可指定端口：\n\n```bash\npython web.py --port 8000 --open-browser\n```\n\n允许局域网访问：\n\n```bash\npython web.py --host 0.0.0.0 --port 5000\n```\n\nWebUI 页面说明：\n\n| 页面 | 功能 |\n|---|---|\n| 注册 | 设置注册数量、线程数，启动批量注册，查看任务和日志 |\n| 账号 | 查看账号、复制 token、补跑 Codex、批量删除账号 |\n| Codex 授权 | 查看\u002F下载\u002F删除 `codex_accounts\u002F` 凭证 |\n| 邮箱池 | 导入邮箱、筛选来源、标记可用\u002F失败、删除邮箱 |\n| 配置 | 修改运行配置并热加载，含 Roxy、Codex、邮箱、代理、人工节奏等 |\n\n### 线程数说明\n\n- 注册线程数在每次点击「开始注册」时读取。\n- 如果线程数和上次不同，新提交任务会使用新线程池。\n- 旧线程池里已经排队\u002F运行的任务会继续跑完，不会被强制取消。\n- Codex 批量补跑每次都会按本次提交的补跑线程数创建独立线程池。\n\n---\n\n## CLI 使用方式\n\n注册 1 个：\n\n```bash\npython main.py\n```\n\n批量注册 10 个，3 线程：\n\n```bash\npython main.py -n 10 --workers 3 --continue-on-fail\n```\n\n详细日志：\n\n```bash\npython main.py -n 1 --verbose\n```\n\n参数：\n\n| 参数 | 说明 | 默认 |\n|---|---|---|\n| `-n, --count` | 注册数量 | 1 |\n| `--workers` | 并发线程数 | 1 |\n| `--delay` | 每次注册结束后的间隔秒数 | 0 |\n| `--continue-on-fail` | 单个失败后继续 | False |\n| `--verbose` | DEBUG 日志 | False |\n\n---\n\n## Codex 补跑\n\nWebUI 账号页可单个或批量补跑 Codex。\n\nCLI 单独补跑：\n\n```bash\npython tools\u002Ftest_codex_oauth.py --email \u003C已注册邮箱> --verbose\n```\n\n补跑会消耗：\n\n- 1 次邮箱 OTP\n- 1 个接码号码\n\n补跑日志在：\n\n```text\n注册日志\u002Fcodex-retry-邮箱.log\n```\n\n---\n\n## 注册密码说明\n\nRoxy 注册如果遇到新版流程：\n\n```text\n\u002Fcreate-account\u002Fpassword\n```\n\n会自动设置密码。\n\n密码来源：\n\n1. 优先使用 `config\u002Fregister.py`：\n\n```python\nREGISTER_PASSWORD = \"你的固定密码\"\n```\n\n2. 如果为空，自动生成 14 位强密码，包含大写、小写、数字、符号。\n\n保存位置：\n\n- 账号 `extra_json.registration_password`\n- 批次归档 `accounts\u002FYYYYMMDD-...\u002F注册成功账号.json` 的 `extra.registration_password`\n\n注意：账号表里的 `password` 字段仍用于 Outlook 邮箱素材密码，不会被 OpenAI 注册密码覆盖。\n\n---\n\n## 重要配置文件\n\n| 文件 | 说明 |\n|---|---|\n| `config\u002Froxybrowser.py` | 注册驱动、Roxy API、Roxy 环境生命周期 |\n| `config\u002Fcloakbrowser.py` | CloakBrowser 无头\u002Fhumanize\u002Fgeoip\u002F语言时区\u002F指纹 seed |\n| `config\u002Fcodex.py` | Codex OAuth、授权驱动、CPA 管理接口、接码平台 |\n| `config\u002Femail.py` | 邮箱来源、OTP 轮询、QQ IMAP、域名邮箱 |\n| `config\u002Fproxy.py` | 代理池 |\n| `config\u002Fregister.py` | 默认邮箱、密码、显示名 |\n| `config\u002Ftwofa.py` | 2FA 开关 |\n| `config\u002Fhumanize.py` | 随机停顿\u002F人工节奏 |\n| `config\u002Fflow_trigger.py` | 注册成功后触发 Flow |\n| `config\u002Fbrowser.py` | 协议模式浏览器指纹 |\n| `config\u002Fopenai_protocol.py` | OpenAI OAuth\u002FSentinel 参数 |\n\nWebUI 配置页保存后会调用热加载；Roxy、Codex、邮箱、代理、人工节奏等常用项可立即生效。\n\n---\n\n## 数据与产物\n\n| 路径 | 内容 |\n|---|---|\n| `用于注册的邮箱.txt\u002Fjson` | Outlook 邮箱池及状态 |\n| `用于注册的API邮箱.txt\u002Fjson` | 通用 API 邮箱池及状态 |\n| `注册成功的邮箱.txt\u002Fjson` | 注册成功账号 |\n| `注册成功的token.txt` | ChatGPT access token |\n| `accounts\u002F` | 每次运行的批次归档 |\n| `codex_accounts\u002F` | Codex OAuth 凭证 JSON |\n| `注册任务.json` | WebUI 注册任务表 |\n| `注册日志\u002F` | 注册任务日志、Codex 补跑日志 |\n| `accounts_viewer.html` | 本地账号查看页 |\n\n批次目录示例：\n\n```text\naccounts\u002F20260709-10个-3线程\u002F\n├── 注册成功的邮箱.txt\n├── 注册成功的token.txt\n├── 注册成功整行.txt\n└── 注册成功账号.json\n```\n\n---\n\n## 当前主流程\n\n### Roxy 注册流程\n\n```text\n创建\u002F打开 Roxy Profile\n  ↓\n打开 chatgpt.com\u002Fauth\u002Flogin\n  ↓\n按 DOM 技术属性定位邮箱输入框，避免误点 Google\u002FApple\u002FMicrosoft\n  ↓\n提交邮箱表单\n  ↓\n如进入 create-account\u002Fpassword：设置密码并提交\n  ↓\n等待邮箱验证码页\n  ↓\n读取邮箱 OTP 并提交\n  ↓\n如进入 about-you\u002Fprofile：填写姓名 + 年龄或生日\n  ↓\n进入 ChatGPT，读取 \u002Fapi\u002Fauth\u002Fsession accessToken\n  ↓\n可选 2FA\n  ↓\n可选 Codex OAuth\n  ↓\n保存账号与批次归档\n  ↓\n关闭\u002F删除 Roxy Profile\n```\n\n### Codex Roxy 授权流程\n\n```text\n获取 Codex 授权地址（CPA 或 local PKCE）\n  ↓\nRoxy 打开授权页\n  ↓\n邮箱登录 + 邮箱 OTP\n  ↓\n手机号验证：取号 → 填号 → 发送 → 等短信 → 填 OTP\n  ↓\n等待 consent\u002Fworkspace\u002Fcallback\n  ↓\n提交 callback 给 CPA 或本地换 token\n  ↓\n保存 codex_accounts\u002Fcodex-邮箱*.json\n```\n\n---\n\n## 常见问题\n\n### 配置保存后没生效？\n\nWebUI 配置页保存后会热加载。Codex 补跑线程启动前也会重新热加载一次配置。\n\n如果你直接手改 `config\u002F*.py`，CLI 进程需要重启；WebUI 建议在配置页修改。\n\n### Roxy 无头保存后仍弹窗口？\n\n检查：\n\n```python\nROXY_OPEN_HEADLESS = True\n```\n\n并确认 Roxy 版本支持 `\u002Fbrowser\u002Fopen` 的 `headless` 参数。日志会打印实际传入的 `headless`。\n\n### 出口 IP 不是日本时点到 Google 登录？\n\n当前 Roxy 注册邮箱入口已改为只按 DOM 技术属性定位，并排除三方登录按钮。不会再靠按钮文字匹配“Continue”。\n\n### Codex 显示 `Check your phone` 被误判失败？\n\n已兼容：`Check your phone \u002F Enter the verification code...` 会识别为手机验证码页，进入等待短信验证码流程。\n\n### 手机 OTP 提交后日志曾显示失败，但后面成功？\n\n已修复：提交手机 OTP 后会等待页面离开手机号流程或 callback，不再 3 秒后用旧页面文案误判失败。\n\n### Codex 失败但注册成功怎么办？\n\n账号会保存，Codex 状态会标记失败。可以在 WebUI 账号页点击补跑，或使用：\n\n```bash\npython tools\u002Ftest_codex_oauth.py --email \u003C邮箱> --verbose\n```\n\n### 没有接码平台能注册吗？\n\n可以。关闭：\n\n```python\nENABLE_CODEX_AUTO = False\n```\n\n注册主流程不依赖接码，Codex 自动授权才需要。\n\n---\n\n## 项目结构\n\n```text\n.\n├── main.py                         # CLI 入口\n├── web.py                          # WebUI 入口\n├── config\u002F                         # 配置\n│   ├── roxybrowser.py              # RoxyBrowser 注册\u002FCodex 驱动\n│   ├── cloakbrowser.py             # CloakBrowser 注册驱动配置\n│   ├── browser_use.py              # Browser Use Cloud 配置\n│   ├── codex.py                    # Codex OAuth \u002F 授权驱动 \u002F CPA \u002F 接码\n│   ├── email.py                    # 邮箱来源\u002FOTP\n│   ├── proxy.py                    # 代理池\n│   ├── register.py                 # 默认注册信息\n│   └── ...\n├── core\u002F\n│   ├── roxy_registration.py        # Roxy \u002F 浏览器注册页面流程\n│   ├── cloakbrowser_registration.py # Cloak 注册入口\n│   ├── cloakbrowser_driver.py      # Cloak Playwright→Selenium 风格适配层\n│   ├── browser_use_registration.py # Browser Use + Playwright 注册流程\n│   ├── browser_use_client.py       # Browser Use CDP 客户端\n│   ├── roxy_codex_oauth.py         # Roxy \u002F Cloak 浏览器 Codex OAuth 页面流程\n│   ├── roxybrowser_client.py       # Roxy API 客户端\n│   ├── registration_service.py     # WebUI 注册线程池\n│   ├── codex_oauth.py              # Codex 协议\u002FRoxy\u002FCloak 调度\n│   ├── email_provider.py           # 邮箱来源调度\n│   ├── sms_provider.py             # 接码平台\n│   ├── account_export.py           # 保存账号\u002F批次归档\n│   └── db.py                       # 文件数据库\n├── webui\u002F\n│   ├── app.py                      # Flask API\n│   ├── config_editor.py            # 配置读写\u002F热加载\n│   └── templates\u002Findex.html        # 单页控制台\n├── sentinel\u002F\n│   ├── sdk.js\n│   └── sentinel-runner.js\n├── tools\u002F\n│   └── test_codex_oauth.py         # Codex 单独补跑\n└── L_API.md                        # 本地 L 接码接口说明\n```\n\n---\n\n## 使用建议\n\n- 日常批量使用 WebUI，不建议直接同时开多个 CLI 进程。\n- 注册线程数建议不超过可用代理数。\n- Roxy 一号一环境建议保持开启，降低环境污染。\n- 调试页面问题时可临时设置：\n\n```python\nROXY_KEEP_BROWSER_OPEN = True\nROXY_OPEN_HEADLESS = False\n```\n\n- 调试完再改回自动关闭\u002F删除环境。\n\n---\n\n## 🙏 致谢\n\n- [LINUX DO](https:\u002F\u002Flinux.do) — 社区交流与用户反馈\n- [RoxyBrowser](https:\u002F\u002Froxybrowser.cn\u002Finvite\u002FNvH4Jx) — 免费提供 5 个窗口\n- [CloakBrowser](https:\u002F\u002Fgithub.com\u002FCloakHQ\u002FCloakBrowser) — Stealth Chromium \u002F Playwright 自动化指纹浏览器支持\n- [browser-use](https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fbrowser-use) — Browser Use Cloud \u002F Playwright CDP 云端浏览器能力支持\n- [CLIProxyAPI](https:\u002F\u002Fgithub.com\u002Frouter-for-me\u002FCLIProxyAPI) — Codex OAuth 凭证格式参考\n- [curl_cffi](https:\u002F\u002Fgithub.com\u002Fyifeikong\u002Fcurl_cffi) — 底层 HTTP 库，提供 TLS 指纹 impersonate 能力\n\n---\n\n## License\n\nMIT\n","这是一个用于自动化注册 ChatGPT 免费账号并完成 Codex OAuth 授权的开源工具。项目提供四种注册驱动（纯协议、RoxyBrowser、CloakBrowser、Browser Use Cloud），支持多邮箱源对接（Outlook、Cloudflare+QQ IMAP、通用API）、自动接码（GrizzlySMS\u002F本地L服务）、年龄\u002F生日表单智能填写及出口IP自适应本地化（语言\u002F时区\u002FWebRTC）。采用 CLI 与 WebUI 双交互模式，配置热加载，敏感数据通过 .env 管理。适用于需批量获取合规免费 OpenAI 账号的研发测试、教育实验或小规模 API 调用场景。",2,"2026-07-12 02:30:07","CREATED_QUERY"]