抽取cookie清理逻辑为新的第六步
This commit is contained in:
@@ -126,7 +126,7 @@
|
||||
2. 填好 `SUB2API` 地址、登录邮箱、登录密码、分组名
|
||||
3. `Mail` 与 `邮箱生成` 的配置方式同方案 A
|
||||
4. Step 1 会直接在 SUB2API 后台生成 OAuth 链接
|
||||
5. Step 9 会把 localhost 回调提交回 SUB2API,并直接创建 OpenAI 账号
|
||||
5. Step 10 会把 localhost 回调提交回 SUB2API,并直接创建 OpenAI 账号
|
||||
|
||||
### 方案 C:`Hotmail 账号池`
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
http(s)://<your-host>/management.html#/oauth
|
||||
```
|
||||
|
||||
Step 1 和 Step 9 都依赖这个地址。
|
||||
Step 1 和 Step 10 都依赖这个地址。
|
||||
|
||||
### `Mail`
|
||||
|
||||
@@ -416,17 +416,18 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
|
||||
|
||||
### 单步模式
|
||||
|
||||
侧边栏共有 9 个步骤按钮,可逐步执行:
|
||||
侧边栏共有 10 个步骤按钮,可逐步执行:
|
||||
|
||||
1. `Open ChatGPT`
|
||||
2. `Signup + Email`
|
||||
3. `Fill Password`
|
||||
4. `Get Signup Code`
|
||||
5. `Fill Name / Birthday`
|
||||
6. `Login via OAuth`
|
||||
7. `Get Login Code`
|
||||
8. `Manual OAuth Confirm`
|
||||
9. `CPA Verify`
|
||||
6. `Clear Login Cookies`
|
||||
7. `Login via OAuth`
|
||||
8. `Get Login Code`
|
||||
9. `Manual OAuth Confirm`
|
||||
10. `CPA Verify`
|
||||
|
||||
### Auto 模式
|
||||
|
||||
@@ -440,7 +441,7 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
|
||||
4. 如果不是 Hotmail,则按当前“邮箱生成”配置尝试自动获取邮箱(Duck / Cloudflare / iCloud 等)
|
||||
5. Step 2 点击注册、填写邮箱,并按真实落地页进入密码页或直接进入邮箱验证码页
|
||||
6. 如果自动获取失败,暂停并等待你在侧边栏填写邮箱后点击 `Continue`
|
||||
7. 继续执行 Step 3 ~ Step 9
|
||||
7. 继续执行 Step 3 ~ Step 10
|
||||
|
||||
也就是说:
|
||||
|
||||
@@ -511,18 +512,26 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
|
||||
如果页面是生日模式,会填写年月日;如果页面上存在 `input[name='age']`,则直接填写年龄。
|
||||
点击 `完成帐户创建` 后,Step 5 会立刻记为完成,不再等待页面跳转结果;自动运行在进入 Step 6 前只会等待当前页面加载完成,不再接管 ChatGPT 跳转或 onboarding 跳过逻辑。
|
||||
|
||||
### Step 6: Login via OAuth
|
||||
### Step 6: Clear Login Cookies
|
||||
|
||||
在登录前会先重新获取一遍最新的 CPA OAuth 链接,再使用刚注册的账号登录。
|
||||
|
||||
当前 Step 6 的完成标准不是“邮箱/密码已提交”,而是:
|
||||
这一步只负责登录前清理环境:
|
||||
|
||||
- 开始前先等待 10 秒
|
||||
- 直接删除 `chatgpt.com / openai.com` 相关 cookies
|
||||
- 再去 CPA / SUB2API 刷新最新 OAuth 链接
|
||||
- 必要时再用 `browsingData` 补扫一次
|
||||
|
||||
把 cookies 清理独立成单独步骤后,后续登录链路的重开锚点就不再落在这里。
|
||||
|
||||
### Step 7: Login via OAuth
|
||||
|
||||
这一步会重新获取一遍最新的 CPA OAuth 链接,再使用刚注册的账号登录。
|
||||
|
||||
当前 Step 7 的完成标准不是“邮箱/密码已提交”,而是:
|
||||
|
||||
- 已刷新到最新 OAuth 链接
|
||||
- 认证页已经真正进入登录验证码页面
|
||||
- 如遇登录超时报错,会先尝试自动点击认证页上的 `重试` 恢复当前页面,再由后台按既有逻辑重跑整个 Step 6
|
||||
- 如遇登录页长时间停滞,会由后台刷新 OAuth 后重跑整个 Step 6
|
||||
- 如遇登录超时报错,会先尝试自动点击认证页上的 `重试` 恢复当前页面,再由后台按既有逻辑重跑整个 Step 7
|
||||
- 如遇登录页长时间停滞,会由后台刷新 OAuth 后重跑整个 Step 7
|
||||
|
||||
支持:
|
||||
|
||||
@@ -530,23 +539,23 @@ Cloudflare 模式下,插件不会再调用 Cloudflare API 创建路由。
|
||||
- 必要时切换到一次性验证码登录
|
||||
- 直到登录验证码页就绪才算步骤完成
|
||||
|
||||
### Step 7: Get Login Code
|
||||
### Step 8: Get Login Code
|
||||
|
||||
Step 7 默认要求当前认证页已经处于登录验证码页。
|
||||
Step 8 默认要求当前认证页已经处于登录验证码页。
|
||||
|
||||
它只负责:
|
||||
|
||||
- 打开邮箱并轮询登录验证码
|
||||
- 填写并提交登录验证码
|
||||
- 验证码链路失败后按有限次数回退到 Step 6
|
||||
- 验证码链路失败后按有限次数回退到 Step 7
|
||||
|
||||
与 Step 4 类似,但会使用稍微不同的关键词组合去找登录验证码邮件。
|
||||
|
||||
### Step 8: Manual OAuth Confirm
|
||||
### Step 9: Manual OAuth Confirm
|
||||
|
||||
严格回调捕获规则:
|
||||
|
||||
- 步骤 8 现在只接受 `http(s)://localhost:<port>/auth/callback?code=...&state=...` 或 `http(s)://127.0.0.1:<port>/auth/callback?code=...&state=...`
|
||||
- 步骤 9 现在只接受 `http(s)://localhost:<port>/auth/callback?code=...&state=...` 或 `http(s)://127.0.0.1:<port>/auth/callback?code=...&state=...`
|
||||
- 监听范围只限于当前 OAuth 认证标签页的主 frame 跳转
|
||||
- 普通 `localhost` 页面,包括本地部署的 CPA 面板,不会再被误判为回调地址
|
||||
|
||||
@@ -566,15 +575,15 @@ Step 7 默认要求当前认证页已经处于登录验证码页。
|
||||
- 如果 120 秒内没有捕获到 localhost 回调,会报错超时
|
||||
- README 中的按钮名称沿用了旧文案,但代码行为是“自动尝试点击”
|
||||
|
||||
### Step 9: CPA Verify
|
||||
### Step 10: CPA Verify
|
||||
|
||||
校验规则:
|
||||
|
||||
- 步骤 9 会拒绝任何不是真实 `/auth/callback`,或缺少 `code` / `state` 的本地回调地址
|
||||
- 步骤 10 会拒绝任何不是真实 `/auth/callback`,或缺少 `code` / `state` 的本地回调地址
|
||||
- 成功后的清理只会针对 `/auth` 这一类真实回调标签页,不会再泛化清理任意 localhost 路径
|
||||
- 侧边栏可切换“本地 CPA”策略,默认是 `全部回调`
|
||||
- 选择 `全部回调` 时,即使 CPA 部署在本地,也会执行步骤 9
|
||||
- 选择 `跳过第9步` 时,仅当本地 CPA 且步骤 8 已拿到回调地址时,才会直接跳过步骤 9
|
||||
- 选择 `全部回调` 时,即使 CPA 部署在本地,也会执行步骤 10
|
||||
- 选择 `跳过第10步` 时,仅当本地 CPA 且步骤 9 已拿到回调地址时,才会直接跳过步骤 10
|
||||
|
||||
回到 CPA 面板:
|
||||
|
||||
@@ -653,8 +662,8 @@ background.js 后台主控,编排 1~9 步、Tab 复用、状态
|
||||
manifest.json 扩展清单
|
||||
data/names.js 随机姓名、生日数据
|
||||
content/utils.js 通用工具:等待元素、点击、日志、停止控制
|
||||
content/vps-panel.js CPA 面板步骤:内部 OAuth 刷新 / Step 9
|
||||
content/signup-page.js ChatGPT 官网 + OpenAI 注册/登录页步骤:Step 1 / 2 / 3 / 5 / 6 / 8
|
||||
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 收信相关通用辅助
|
||||
content/duck-mail.js Duck 邮箱自动获取
|
||||
content/qq-mail.js QQ 邮箱验证码轮询
|
||||
|
||||
Reference in New Issue
Block a user