# Auto Register GPT Duck 批量自动完成 ChatGPT OAuth 注册/登录流程的 Chrome 扩展。 通过侧边栏控制,支持单步执行、多轮自动运行、中途停止,以及多种验证码接收方式。 ## 当前能力 - 从 VPS 面板自动获取 OpenAI OAuth 授权链接 - 自动打开 OpenAI 注册页并点击 Sign up - 自动填写邮箱与密码(支持自定义或自动生成强密码) - 自动获取注册验证码与登录验证码 - 验证码来源支持: - **Temp Email API**(推荐)— 通过 HTTP API 直接轮询,无需打开邮件页面 - QQ Mail / 163 Mail / Inbucket mailbox - DuckDuckGo Email Protection: - 首次运行自动提取 access_token 并保存 - 后续运行直接调用 API 生成 `@duck.com` 地址,无需打开页面 - Step 5 兼容 birthday 和 age 两种页面 - Step 7 自动检测电话验证页面,跳过当前账号继续下一轮 - Step 8 通过 content script 直接点击"继续"按钮,无需 debugger,不会触发浏览器"被控制调试"提示 - 支持 Auto 多轮运行 + 中途 Stop ## 环境要求 - Chrome 浏览器,开启扩展开发者模式 - 你自己的 VPS 管理面板(页面结构需与脚本适配) - 至少准备一种验证码接收方式: - Temp Email API(推荐) - DuckDuckGo `@duck.com` + QQ / 163 / Inbucket 转发 ## 安装 1. 打开 `chrome://extensions/` 2. 开启"开发者模式" 3. 点击"加载已解压的扩展程序" 4. 选择本项目目录 5. 打开扩展侧边栏 ## 侧边栏配置 ### VPS 管理面板 OAuth 页面地址: ``` http(s):///management.html#/oauth ``` Step 1 和 Step 9 都依赖这个地址。 ### Mail 验证码来源,支持四种: | 选项 | 说明 | |------|------| | **Temp Email API** | 通过 HTTP API 直接轮询邮件,粘贴完整 URL(含 JWT)即可,无需打开邮件页面 | | 163 Mail | 轮询 163 网页邮箱 | | QQ Mail | 轮询 QQ 网页邮箱 | | Inbucket | 通过自定义 host + mailbox 轮询 | #### Temp Email API(推荐) 选择后会出现 API URL 输入框,粘贴完整地址即可: ``` https://temp-email-api.xxx.cc/?jwt=eyJhbGci... ``` API 需要支持以下端点: - `GET /api/mails?limit=N&offset=0`(Authorization: Bearer JWT) - 返回格式:`{ results: [{ id, source, raw, created_at }] }` #### Inbucket 需要填写 host 和 mailbox 名称,脚本会打开 `https:///m//` 轮询。 ### Email Step 3 使用的注册邮箱: - 手动粘贴 - 点击 Auto — 通过 DuckDuckGo API 自动生成 `@duck.com` 地址 首次使用 Auto 需要打开 DuckDuckGo 页面提取 token,之后直接调 API 生成。 ### Password - 留空:自动生成强密码 - 手动输入:使用自定义密码 - 可通过 Show/Hide 切换显示 ## 工作流(9 步) | 步骤 | 名称 | 说明 | |------|------|------| | 1 | Get OAuth Link | 从 VPS 面板获取 OAuth 授权链接 | | 2 | Open Signup | 打开授权链接,点击注册 | | 3 | Fill Email/Password | 填写邮箱和密码,提交注册 | | 4 | Get Signup Code | 轮询邮箱获取注册验证码并填入 | | 5 | Fill Name/Birthday | 随机生成姓名和生日/年龄并填写 | | 6 | Login via OAuth | 用注册账号登录 OAuth | | 7 | Get Login Code | 轮询邮箱获取登录验证码并填入 | | 8 | OAuth Auto Confirm | 点击 OAuth 同意页"继续",捕获 localhost 回调 | | 9 | VPS Verify | 回到 VPS 面板提交回调 URL,等待认证成功 | ### Auto 模式 点击 Auto 后自动执行完整流程,支持多轮运行。每轮: 1. 获取 OAuth 链接 + 打开注册页 2. 自动生成 Duck 邮箱(API 方式,无需开页面) 3. 执行 Step 3 ~ Step 9 4. 失败自动跳到下一轮,手动 Stop 才会终止 遇到电话验证页面会自动跳过当前账号。 ## Duck 邮箱自动获取 采用两阶段策略: 1. **首次运行**:打开 DuckDuckGo Email Protection 设置页,通过 content script 调用 dashboard API 提取 `access_token`,保存到持久化存储 2. **后续运行**:直接调用 `quack.duckduckgo.com/api/email/addresses` 生成新地址,不再打开页面 token 失效时会自动回退到页面方式重新提取。 ## 停止机制 - 侧边栏点击 Stop - Background 广播 STOP_FLOW - 各 content script 在等待、轮询、sleep 中尽量中断 ## 项目结构 ``` background.js 后台主控,编排 1~9 步、Tab 复用、状态管理 manifest.json 扩展清单 data/names.js 随机姓名、生日数据 content/utils.js 通用工具:等待元素、点击、日志、停止控制 content/vps-panel.js VPS 面板步骤:Step 1 / Step 9 content/signup-page.js OpenAI 注册/登录页步骤:Step 2 / 3 / 5 / 6 / 8 content/duck-mail.js Duck 邮箱获取 + token 提取 content/qq-mail.js QQ 邮箱验证码轮询 content/mail-163.js 163 邮箱验证码轮询 content/inbucket-mail.js Inbucket mailbox 验证码轮询 sidepanel/ 侧边栏 UI ``` ## 状态与数据 - 运行时状态使用 `chrome.storage.session` - VPS 地址、邮件配置、Duck token 等持久化到 `chrome.storage.local` - 所有数据仅存在本地浏览器中,无外部上报 ## 调试建议 - 侧边栏 Console 区域查看实时日志 - Service Worker 控制台查看 background 日志 - 目标页面的 DevTools Console 查看 content script 日志 - 某一步频繁失败时,优先检查页面选择器是否匹配