Skip to content

Releases: HSJ-BanFan/grok-register-web

v0.4.0 · 协议注册 + 本地 Camoufox Turnstile Solver

Choose a tag to compare

@HSJ-BanFan HSJ-BanFan released this 18 Jul 12:59

本版本把 协议注册 + 本地 Camoufox Turnstile Solver 收成可部署能力:Solver 入库托管、OTP/SSO 批跑稳定性、设置页按路径显隐,并纳入 CPA / IMAP 交付与注册节奏控制。

完整变更见 CHANGELOG.md

新增

  • 本地 Turnstile Solver vendoringservices/turnstile_solver/(Camoufox / Chromium HTTP API)+ services/solver_manager.py 子进程托管;默认 http://127.0.0.1:5072
  • 应用启动按设置自动拉起本地 Solver(未填 YesCaptcha、Turnstile 非「仅浏览器」、URL 为本机回环);退出时回收子进程
  • 设置 API:/api/settings/turnstile-solver/{status,start,stop,restart,test};设置页「测试连接 / 启动 / 停止」
  • 可选依赖 requirements-solver.txt(主 requirements.txt 保持轻量)
  • Solver 任务级代理:/turnstile?proxy= 与注册出口对齐;客户端对 loopback 使用 trust_env=False,避免系统代理劫持本机 Solver
  • 设置页「注册后端与人机」按路径融合说明:浏览器 / 协议 / 自动三选一,相关字段随路径显隐
  • 可配置注册间隔 registration_interval_seconds(轮次间等待)
  • grok2api 上传前 chat 可用性探测(权限不足时跳过推送,本地仍保存 SSO)
  • 可选 CPA(CLIProxyAPI) 交付:SSO → device OAuth mint → chat probe → 热载 xai-*.json;设置页默认关闭
  • Microsoft IMAP XOAUTH2 收信:M.C… 消费令牌在 Graph/Outlook REST 不可用时回落 IMAP
  • 注册交付可同时或独立启用 CPA 与 grok2api;CPA 成功后 grok2api 失败不拖垮整轮

修复

  • Cloud Mail / xAI 验证码:优先从主题解析 SpaceXAI confirmation code: XXX-XXX,避免 HTML/CSS 伪码(如 PER100)抢码
  • 协议批跑 duplicate SSO:curl_cffi 多域 cookie 清理 + 每轮纯 HTTP 重建 session,避免上一号 SSO 残留
  • Docker / headless 下 SOCKS 代理改走 Chromium --proxy-server,补充容器启动参数与可配置启动超时
  • 单元测试对齐 IMAP refresh 顺序、cookie 清理与双交付语义

验证结果

项目 结果
协议 + Cloud Mail + 本地 Solver(仅外置) 连续 3/3 成功;transport=http turnstile=local_solver
同配置扩展批跑 可达 10/10 成功(无 duplicate SSO / 无错误 OTP)
单轮耗时 约 25–30s(含 Solver ~10s)
grok2api 无 chat 权限时 probe 403,本地 SSO 仍入库(预期行为)

部署说明(协议 + 本地 Solver)

推荐组合(无界面注册主流程):

registration_backend=protocol
turnstile_provider=external          # 禁止回退注册 Chrome;仍可用本地 Camoufox Solver
turnstile_solver_url=http://127.0.0.1:5072
browser_proxy=<与注册相同的出口>

说明:本地 Solver 的 Camoufox 只解 Turnstile,不是注册浏览器。 仅当机器完全不能运行任何浏览器二进制时,才需要 YesCaptcha 替代 Solver。

相关提交

  • 本 tag 覆盖 v0.3.0 之后至发布点的协议硬化、Solver 托管、设置 UI 与交付能力
  • 含已合入主干的:feat: add configurable registration intervalfeat: probe grok2api chat availability,以及 CPA/IMAP(PR #12)等

v0.3.0 - 协议注册后端、多邮箱 Provider 与 Aurora 运维台

Choose a tag to compare

@HSJ-BanFan HSJ-BanFan released this 17 Jul 09:53
bd71363

本次更新以协议化注册与多邮箱 Provider 为主线,同时合并已注册账号 SSO 恢复与蓝白 Aurora 运维台。

协议注册的整体思路参考了 Linux.do 社区讨论:
https://linux.do/t/topic/2594078

在此基础上,本仓库将其落地为可切换的 HTTP 协议后端,并与现有 browser 注册链路、租约、重试、SSO 持久化与 grok2api 交付复用同一套编排。

主要更新

协议注册后端(PR #10

  • 新增实验性 registration_backend=protocol HTTP 注册后端,默认仍为 browser
  • 支持 browser / protocol / auto 传输后端选择
  • 协议链路复用既有 signup pipeline:
    signup page → email → OTP → profile → SSO → activation/upload
  • 接入外部 / 本地 Turnstile 求解:
    • YesCaptcha
    • local HTTP solver
    • browser fallback
  • 强化协议 SSO:
    • 可信 URL 校验
    • multi-hop follow
    • cookie 处理
    • token redaction
  • 强化容量与租约:
    • round capacity 原子预留
    • lease ownership / heartbeat
    • Turnstile fail-closed
  • 新增 mock Turnstile solver,便于本地 / CI 无浏览器验证

多邮箱 Provider(PR #10

  • 新增临时邮箱 Provider:
    • DuckMail
    • YYDS
    • Cloudflare Temp Email
    • Cloud Mail
  • Provider 只负责:
    • 邮箱开通
    • 验证码读取
  • 注册主流程保持统一,不把临时邮箱拆成另一套 signup 分支
  • Microsoft 仍支持多别名;临时邮箱强制单 alias

已注册账号恢复(PR #7

  • 遇到已注册邮箱时,不再持续等待或直接跳过
  • 改为通过邮箱登录恢复已有账号 SSO
  • 继续保存结果并上传 grok2api

Aurora 运维台(PR #11

  • 蓝白 aurora 控制台重构
  • sticky sidebar + topbar eyebrow/title
  • 设置页分区卡片、choice-card、自定义 ui-select
  • KPI count-up、fold 折叠面板、页面过渡
  • 自定义下拉使用 position: fixed,避免设置卡片裁切

其他稳定性

  • 修复不兼容 Chrome executable 恢复
  • 修复被污染的 static MIME 映射
  • 设置页 / 账号表 HTML 转义与 DOM 安全渲染
  • UI browser regression tests

设计说明:协议注册如何落地

社区文章提供了“用协议 / HTTP 方式完成注册、减少浏览器依赖”的方向。
本版本没有照搬脚本式实现,而是按本仓库现有控制面重新建模:

  1. 共享编排
    protocol 与 browser 共用 claim alias、lease、retry、SSO 落库、activation、grok2api 上传。

  2. Provider 边界收敛
    临时邮箱只做 mailbox provision + code retrieval;
    不再把 provider 特有逻辑扩散进注册主流程。

  3. 安全默认
    browser 仍是默认后端;
    protocol 作为实验能力,Turnstile / SSO / capacity 采用 fail-closed 与原子预留。

  4. 可观测与可测
    设置页可切换 backend / provider / solver;
    单元测试 + mock solver + live Cloud Mail E2E 覆盖关键路径。

验证

  • 协议注册 PR 合并时:171 passed
  • Aurora UI 合并后:178 passed
  • ruff / Python compile / JS syntax check 通过
  • 真实 Cloud Mail 邮箱完成共享 browser signup、SSO、Web activation,并同步 Web/Build 到 grok2api
  • UI browser regression 覆盖自定义 select、设置页联动等关键交互

相关 PR

  • #10 feat(registration): protocol HTTP backend + multi-provider mailboxes
  • #11 feat(ui): aurora operations dashboard
  • #7 fix: recover existing-account SSO and continue save/upload

思路来源

协议后端仍受 xAI / Cloudflare / 代理 / 公网 IP 环境影响。
生产默认建议继续使用 browser;protocol 建议先小并发验证后再扩大。

v0.2.0 - 注册可靠性与持久恢复更新

Choose a tag to compare

@HSJ-BanFan HSJ-BanFan released this 15 Jul 14:59

本次更新集中提升连续注册、Cloudflare 上下文复用、SSO 身份隔离、验证码邮件容错,以及 grok2api 导入转换的可恢复性。

主要更新

  • 复用 grok.com Cloudflare Cookie 与浏览器 User-Agent
  • 每轮清理完整账号身份后恢复可信 Cloudflare 上下文,避免旧 SSO 串号
  • 新增事务级 SSO 原子去重与持久化指纹账本
  • 验证码轮询安全下限调整为 10 次,覆盖 Outlook 延迟邮件
  • grok2api Build 转换失败自动重试
  • 新增 grok2api 持久化交付状态与后台自动补传
  • 可恢复重试不再占用 max_rounds 目标名额
  • 完善 Linux/Xvfb、代理和 Cloudflare 环境诊断

验证

  • 自动化测试:100 passed
  • 连续真实注册:5/5 成功
  • 5 个新 SSO 指纹全部唯一
  • 5 组 Web/Build 账号全部双向关联并处于 active
  • 持久化补传真实验证成功

完整内容见 CHANGELOG.md。

v0.1.0 - 注册稳定性更新

Choose a tag to compare

@HSJ-BanFan HSJ-BanFan released this 15 Jul 02:49

主要更新

  • 默认关闭与 xAI 风控不兼容的旧版 JS stealth,降低验证码发码 [permission_denied] HTTP 403
  • 资料提交不再强制启用 disabled 按钮,并新增 Profile network diagnostic 网络诊断
  • 识别 Turnstile 后自动完成跳转,修复“账号实际成功但程序显示失败”
  • 识别 Existing account found,并要求 OTP 后资料表单稳定存在
  • 验证码邮件按 alias、发码时间和邮件 ID 精确匹配
  • 修复 Cookie banner 重挂载和成功后的 Alias lease was lost 误报警告
  • 补全 grok2api Web 导入与 Build 转换结果日志

验证

  • 自动化测试:65 passed
  • 已完成真实单 Worker 注册、OTP、资料提交、SSO 提取验证
  • grok2api Web 导入 created=1
  • Build 转换 created=1failed=0synced=1

参考

xAI/Cloudflare 风控仍受公网 IP、浏览器和运行环境影响。推荐先使用 Windows 有头模式、单 Worker 配置复现。