feat: support 126 mail provider routing and shared NetEase verification flow

- 合并 PR #112 的核心改动:新增 126 邮箱 provider,并复用 163 / 163 VIP 的网页邮箱接码链路
- 本地补充修复:吸收 126 子域名注入与来源识别修正,以及新版 ChatGPT 登录验证码邮件匹配适配
- 影响范围:sidepanel mail provider、background navigation/source routing、content mail polling、相关回归测试
This commit is contained in:
markyal
2026-04-25 17:42:23 +08:00
committed by GitHub
28 changed files with 463 additions and 34 deletions
+16 -13
View File
@@ -2,7 +2,7 @@
一个用于批量跑通 ChatGPT OAuth 注册/登录流程的 Chrome 扩展。
当前版本基于侧边栏控制,支持单步执行、整套自动执行、停止当前流程、保存常用配置,以及通过 DuckDuckGo / QQ / 163 / Inbucket / Hotmail 协助获取验证码。
当前版本基于侧边栏控制,支持单步执行、整套自动执行、停止当前流程、保存常用配置,以及通过 DuckDuckGo / QQ / 163 / 163 VIP / 126 / Inbucket / Hotmail 协助获取验证码。
## 插件效果
@@ -54,7 +54,7 @@
- 自动获取注册验证码与登录验证码
- 支持 `Hotmail`:继续使用 `邮箱 + 客户端 ID + 刷新令牌(refresh token`,并可在远程服务与本地助手两种模式间切换
- 支持 `2925`:新增多账号池、自动登录登出、Step 4 / Step 8 命中“子邮箱已达上限邮箱”后的 24 小时禁用与自动切号
- 支持 `QQ Mail``163 Mail``Inbucket mailbox`
- 支持 `QQ Mail``163 Mail``163 VIP Mail``126 Mail``Inbucket mailbox`
- 支持从 DuckDuckGo Email Protection 自动生成新的 `@duck.com` 地址
- 支持基于 Cloudflare 自定义域名自动生成随机邮箱前缀
- Step 5 同时兼容两种页面:
@@ -76,7 +76,7 @@
- DuckDuckGo `@duck.com` + QQ / 163 / Inbucket 转发
- Cloudflare 自定义域邮箱前缀 + QQ / 163 / Inbucket 转发
- 手动填写一个可收信邮箱
- 如果使用 `QQ` / `163` / `Inbucket`,对应页面需要提前能正常打开
- 如果使用 `QQ` / `163` / `163 VIP` / `126` / `Inbucket`,对应页面需要提前能正常打开
## 安装
@@ -135,17 +135,17 @@
如果你只是想先跑通一套最稳的组合,建议直接按下面三种方案之一配置。
### 方案 A`CPA + QQ / 163 / 163 VIP`
### 方案 A`CPA + QQ / 163 / 163 VIP / 126`
1. `CPA` 填你的管理面板 OAuth 页面地址
2. `Mail` 选择 `QQ Mail``163 Mail``163 VIP Mail`
2. `Mail` 选择 `QQ Mail``163 Mail``163 VIP Mail``126 Mail`
3. `邮箱生成` 选择 `DuckDuckGo``Cloudflare``自定义邮箱池`
4. 若你选择 `Cloudflare`,先按下文把 Cloudflare Email Routing 配好
5. 若你选择 `自定义邮箱池`,就在 `邮箱池` 中按行填入邮箱;否则点击 `获取` 生成邮箱,或手动粘贴一个你能收信的邮箱
6. 先单步验证 `Step 1 ~ Step 4`
7. 验证没问题后再点右上角 `Auto`
### 方案 B`SUB2API + QQ / 163 / 163 VIP`
### 方案 B`SUB2API + QQ / 163 / 163 VIP / 126`
1. `来源` 选择 `SUB2API`
2. 填好 `SUB2API` 地址、登录邮箱、登录密码、分组名
@@ -153,7 +153,7 @@
4. Step 1 会直接在 SUB2API 后台生成 OAuth 链接
5. Step 10 会把 localhost 回调提交回 SUB2API,并直接创建 OpenAI 账号
### 方案 C`Codex2API + QQ / 163 / 163 VIP`
### 方案 C`Codex2API + QQ / 163 / 163 VIP / 126`
1. `来源` 选择 `Codex2API`
2. 填好 `Codex2API` 后台地址、管理密钥
@@ -222,12 +222,13 @@ Step 1 和 Step 10 都依赖这个地址。
### `Mail`
支持种验证码来源:
支持种验证码来源:
- `Hotmail`
- `2925`
- `163 Mail`
- `163 VIP Mail`
- `126 Mail`
- `QQ Mail`
- `Inbucket`
@@ -235,7 +236,7 @@ Step 1 和 Step 10 都依赖这个地址。
- `Hotmail` 通过侧边栏里的 Hotmail 账号池选择账号,可切换为远程服务模式或本地助手模式
- `2925` 通过侧边栏里的 2925 账号池选择账号,并在 Step 4 / Step 8 前自动校验网页邮箱登录态
- `QQ``163``163 VIP` 用于直接轮询网页邮箱
- `QQ``163``163 VIP``126` 用于直接轮询网页邮箱
- `Inbucket` 通过你在侧边栏里配置的 host 访问 `mailbox` 页面:`https://<your-inbucket-host>/m/<mailbox>/`
### `Hotmail 账号池`
@@ -382,7 +383,7 @@ Step 3 使用的注册邮箱。
-`Mail = Hotmail` 时,这个输入框由账号池自动同步当前账号邮箱
-`Mail = Hotmail` 时,Step 3 会直接使用 Hotmail 账号池里的邮箱;`Duck / Cloudflare` 不参与自动邮箱生成
-`Mail = 自定义邮箱` 且启用了 `自定义号池` 时,Auto 会先为当前轮分配一个邮箱;后续普通失败不会换号,只有成功或出现手机号验证才会切到下一个邮箱
- 若你准备走 `Cloudflare`,更推荐把 `Mail` 设为 `QQ / 163 / 163 VIP``Inbucket` 仅在它能真实接收外部邮件并完成 Cloudflare 验证时再使用
- 若你准备走 `Cloudflare`,更推荐把 `Mail` 设为 `QQ / 163 / 163 VIP / 126``Inbucket` 仅在它能真实接收外部邮件并完成 Cloudflare 验证时再使用
- `Auto` 会按当前“邮箱生成”配置自动获取或分配邮箱;若当前是 `自定义邮箱池`,则会按邮箱池顺序取用
- 如果你使用 Inbucket,它只是验证码收件箱,不会自动生成 Inbucket 地址
@@ -423,6 +424,7 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
- `Mail = QQ Mail`Cloudflare 的 `Destination address / Destination addresses` 填你的 QQ 邮箱全地址
- `Mail = 163 Mail`Cloudflare 的 `Destination address / Destination addresses` 填你的 163 邮箱全地址
- `Mail = 163 VIP Mail`Cloudflare 的 `Destination address / Destination addresses` 填你的 163 VIP 邮箱全地址
- `Mail = 126 Mail`Cloudflare 的 `Destination address / Destination addresses` 填你的 126 邮箱全地址
- `Mail = Inbucket`:仅当你的 Inbucket 实例本身就是一个真实可收外部邮件、且能收到 Cloudflare 验证邮件的地址时再使用
- `Mail = Hotmail`:当前项目的自动流程不推荐和 Cloudflare 同时使用;因为 `Mail = Hotmail` 时,注册邮箱会直接使用 Hotmail 账号池邮箱
@@ -466,7 +468,7 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
1. 先在插件里点击 `获取`,拿到一个随机前缀邮箱
2. 用另一个邮箱给这个地址发一封测试邮件
3. 不要用目标邮箱给自己发测试邮件,否则某些邮箱服务会把它当成重复邮件直接吞掉
4. 如果你的 `Mail` 选的是 `QQ / 163 / 163 VIP / Inbucket`,就去对应收件链路里确认这封测试邮件能否到达
4. 如果你的 `Mail` 选的是 `QQ / 163 / 163 VIP / 126 / Inbucket`,就去对应收件链路里确认这封测试邮件能否到达
#### 官方参考
@@ -591,7 +593,7 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
- `Hotmail`(远程服务 / 本地助手)
- `content/qq-mail.js`
- `content/mail-163.js`
- `content/mail-163.js`163 / 163 VIP / 126
- `content/inbucket-mail.js`
邮件匹配规则以以下关键词为主:
@@ -771,9 +773,10 @@ content/utils.js 通用工具:等待元素、点击、日志、停
content/vps-panel.js CPA 面板步骤:内部 OAuth 刷新 / Step 10
content/signup-page.js ChatGPT 官网 + OpenAI 注册/登录页步骤:Step 1 / 2 / 3 / 5 / 7 / 9
hotmail-utils.js Hotmail 收信相关通用辅助
mail-provider-utils.js 网页邮箱 provider 配置辅助
content/duck-mail.js Duck 邮箱自动获取
content/qq-mail.js QQ 邮箱验证码轮询
content/mail-163.js 163 邮箱验证码轮询
content/mail-163.js 163 / 163 VIP / 126 邮箱验证码轮询
content/inbucket-mail.js Inbucket mailbox 验证码轮询
sidepanel/ 侧边栏 UI
```