[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93210":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":14,"stars30d":15,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":16,"rankGlobal":8,"rankLanguage":8,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":20,"hasPages":18,"topics":21,"createdAt":8,"pushedAt":8,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":13,"starSnapshotCount":13,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},93210,"grok-auto-register","maxucheng0\u002Fgrok-auto-register","maxucheng0",null,"Python",183,62,105,0,15,78,57.7,"MIT License",false,"main",true,[],"2026-07-22 04:02:08","\u003Cdiv align=\"center\">\n\n[![Grok Register — GUI and CLI registration automation toolkit](assets\u002Fbanner.png)](https:\u002F\u002Fgithub.com\u002FAaronL725\u002Fgrok-register)\n\nGrok Register 是一个面向自动化流程研究、测试环境验证和个人学习的 Python 自动化注册工具 — 支持 GUI \u002F CLI、临时邮箱、浏览器流程控制、账号输出和 grok2api token 池写入。\n\n\u003Cp>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg\" alt=\"License: MIT\">\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.9%2B-3776AB.svg\" alt=\"Python 3.9+\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FInterface-GUI%20%2B%20CLI-success.svg\" alt=\"GUI + CLI\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBrowser-Chromium%2FChrome-4285F4.svg\" alt=\"Chromium\u002FChrome\">\n  \u003Ca href=\"http:\u002F\u002Fmakeapullrequest.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg\" alt=\"PRs Welcome\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Flinux.do\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin-linux.do-orange\" alt=\"linux.do\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n \u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002Faaronl725\u002Fgrok-register\">\n  \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fbadge?repo=AaronL725\u002Fgrok-register&theme=dark\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fbadge?repo=AaronL725\u002Fgrok-register\" \u002F>\n   \u003Cimg alt=\"Star History Rank\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fbadge?repo=AaronL725\u002Fgrok-register\" \u002F>\n  \u003C\u002Fpicture>\n \u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n---\n\n> 本项目仅用于自动化流程研究、测试环境验证和个人学习。请遵守目标网站服务条款、当地法律法规和第三方服务限制。\n\n## Contents\n\n- [功能](#功能)\n- [环境要求](#环境要求)\n- [安装](#安装)\n- [配置](#配置)\n- [运行](#运行)\n- [输出文件](#输出文件)\n- [稳定性机制](#稳定性机制)\n- [常见问题](#常见问题)\n- [目录结构](#目录结构)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n- [Star History](#star-history)\n\n## 功能\n\n- 支持 GUI 图形界面运行。\n- 支持 CLI 终端运行，不启动 Tk GUI。\n- 注册流程使用 Chromium\u002FChrome 浏览器页面完成。\n- 支持多 worker 并发注册（`concurrent_count`），每个 worker 独立浏览器与隔离 profile。\n- 支持 DuckMail、YYDS、Cloudflare 临时邮箱接口。\n- 支持验证码邮件轮询和解析。\n- 支持成功账号实时写入 `accounts_*.txt`。\n- 支持将 SSO token 写入 grok2api 本地或远端池。\n- 支持注册后尝试开启 NSFW。\n- 支持 CPA xAI 凭证异步导出（默认独立 mint 浏览器，不占用注册页）。\n- 支持日志级别（`quiet` \u002F `info` \u002F `debug`）与每分钟创建速度统计。\n- 支持页面卡住检测、当前账号重试、每账号浏览器重启和内存清理。\n\n## 环境要求\n\n- Python 3.9+\n- Google Chrome 或 Chromium\n- 可访问注册页面和临时邮箱 API 的网络环境\n\n## 安装\n\n下载项目到电脑：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmaxucheng0\u002Fgrok-register.git\ncd grok-register\n```\n\n安装依赖：\n\n```bash\npip install -r requirements.txt\n```\n\n复制配置文件：\n\n```bash\ncp config.example.json config.json\n```\n\n然后按需编辑 `config.json`。\n\n## 配置\n\n常用配置项：\n\n| 配置项 | 说明 |\n| --- | --- |\n| `email_provider` | 邮箱服务商：`duckmail`、`yyds`、`cloudflare` |\n| `register_count` | 本次目标注册数量 |\n| `proxy` | 代理地址，可留空 |\n| `enable_nsfw` | 注册后是否尝试开启 NSFW |\n| `cloudflare_api_base` | Cloudflare 临时邮箱 API 地址 |\n| `cloudflare_api_key` | Cloudflare 临时邮箱接口密钥；默认匿名模式留空，admin 模式填 `ADMIN_PASSWORD` |\n| `cloudflare_auth_mode` | Cloudflare API 鉴权模式；默认 `none`，可选 `bearer`、`x-api-key`、`x-admin-auth`、`query-key` |\n| `cloudflare_path_domains` | Cloudflare 域名列表路径；默认 `\u002Fapi\u002Fdomains` |\n| `cloudflare_path_accounts` | Cloudflare 创建邮箱路径；默认匿名模式用 `\u002Fapi\u002Fnew_address`，admin 模式用 `\u002Fadmin\u002Fnew_address` |\n| `cloudflare_path_token` | Cloudflare token 路径；默认 `\u002Fapi\u002Ftoken` |\n| `cloudflare_path_messages` | Cloudflare 收件列表路径；默认 `\u002Fapi\u002Fmails` |\n| `defaultDomains` | Cloudflare 临时邮箱默认域名 |\n| `grok2api_auto_add_local` | 是否写入本地 grok2api token 池 |\n| `grok2api_local_token_file` | 本地 grok2api token 文件路径 |\n| `grok2api_auto_add_remote` | 是否写入远端 grok2api |\n| `grok2api_remote_base` | 远端 grok2api 地址，可填站点根地址或 `\u002Fadmin\u002Fapi` 管理 API 地址 |\n| `grok2api_remote_app_key` | 远端 grok2api app key |\n| `concurrent_count` | 并发 worker 数；`1` 为单浏览器顺序注册，`>1` 为多浏览器并发 |\n| `browser_restart_every` | 额外周期重启提示间隔（账号数）；**每个账号结束后仍会完整重启浏览器**，避免会话残留 |\n| `cpa_export_enabled` | 是否在注册成功后导出 CPA xAI 凭证 |\n| `cpa_mint_async` | 是否异步 mint CPA（默认 `true`：独立浏览器 + 后台线程，不阻塞下一号注册） |\n| `cpa_probe_after_write` | 写出 CPA 文件后是否探测接口可用性 |\n| `log_level` | 日志级别：`quiet` \u002F `info`（默认）\u002F `debug`；`info` 会隐藏高频 `[Debug]` |\n| `speed_log_interval_sec` | 创建速度统计间隔秒数，默认 `60`；输出类似 `成功 9\u002Fmin` |\n| `browser_use_custom_ua` | 是否强制使用配置中的自定义 UA（默认 `false`，更贴近本机 Chrome） |\n| `token_only_file` | 仅写入 SSO token 的附加文件路径，可留空 |\n\n### Cloudflare 临时邮箱匿名模式（默认）\n\n默认情况下，Cloudflare 邮箱使用 `dreamhunter2333\u002Fcloudflare_temp_email` 的匿名接口创建邮箱并读取邮件：\n\n- 创建邮箱：`POST \u002Fapi\u002Fnew_address`\n- 读取邮件：`GET \u002Fapi\u002Fmails`\n- 鉴权模式：`none`\n- `cloudflare_api_key`：留空\n\n这是项目的默认路线。没有特殊需求时，保持下面配置即可：\n\n```json\n{\n  \"email_provider\": \"cloudflare\",\n  \"cloudflare_api_base\": \"https:\u002F\u002F你的-worker-api-域名\",\n  \"cloudflare_api_key\": \"\",\n  \"cloudflare_auth_mode\": \"none\",\n  \"cloudflare_path_domains\": \"\u002Fapi\u002Fdomains\",\n  \"cloudflare_path_accounts\": \"\u002Fapi\u002Fnew_address\",\n  \"cloudflare_path_token\": \"\u002Fapi\u002Ftoken\",\n  \"cloudflare_path_messages\": \"\u002Fapi\u002Fmails\",\n  \"defaultDomains\": \"你的收信域名.com\"\n}\n```\n\n### Cloudflare 临时邮箱 admin 模式（可选）\n\n如果使用 `dreamhunter2333\u002Fcloudflare_temp_email` 且匿名 `\u002Fapi\u002Fnew_address` 开启了 Turnstile，可以改用 admin 创建邮箱接口：\n\n```json\n{\n  \"email_provider\": \"cloudflare\",\n  \"cloudflare_api_base\": \"https:\u002F\u002F你的-worker-api-域名\",\n  \"cloudflare_api_key\": \"你的 ADMIN_PASSWORD\",\n  \"cloudflare_auth_mode\": \"x-admin-auth\",\n  \"cloudflare_path_accounts\": \"\u002Fadmin\u002Fnew_address\",\n  \"cloudflare_path_messages\": \"\u002Fapi\u002Fmails\",\n  \"defaultDomains\": \"你的收信域名.com\"\n}\n```\n\n创建邮箱会使用 `x-admin-auth` 调用 `\u002Fadmin\u002Fnew_address`，后续收件仍使用接口返回的地址 JWT 调用 `\u002Fapi\u002Fmails`。也就是说，admin 密码只用于创建邮箱，不用于读取邮箱邮件。\n\n可先用调试脚本验证 admin 创建接口：\n\n```bash\npython cf_mail_debug.py --api-base \"https:\u002F\u002F你的-worker-api-域名\" --auth-mode x-admin-auth --api-key \"你的 ADMIN_PASSWORD\" --create-path \u002Fadmin\u002Fnew_address --domain \"你的收信域名.com\"\n```\n\n### grok2api 远端入池配置\n\n如果开启 `grok2api_auto_add_remote`，`grok2api_remote_base` 可以填写站点根地址，也可以直接填写管理 API 地址：\n\n```json\n{\n  \"grok2api_auto_add_remote\": true,\n  \"grok2api_remote_base\": \"https:\u002F\u002F你的-grok2api-域名\",\n  \"grok2api_remote_app_key\": \"你的 app_key\"\n}\n```\n\n或：\n\n```json\n{\n  \"grok2api_auto_add_remote\": true,\n  \"grok2api_remote_base\": \"https:\u002F\u002F你的-grok2api-域名\u002Fadmin\u002Fapi\",\n  \"grok2api_remote_app_key\": \"你的 app_key\"\n}\n```\n\n程序会优先尝试 `\u002Ftokens\u002Fadd`，并兼容 `\u002Fadmin\u002Fapi\u002Ftokens\u002Fadd`；旧版全量保存接口也会兼容 `\u002Ftokens` 和 `\u002Fadmin\u002Fapi\u002Ftokens`。\n\n`config.json` 包含个人配置和密钥，不要提交到 Git。\n\n## 运行\n\n### CLI 模式\n\nCLI 模式不会启动 Tk GUI，但注册流程仍会打开 Chromium\u002FChrome 浏览器页面。\n\n```bash\npython grok_register_ttk.py cli\n```\n\n看到提示后输入：\n\n```text\nstart\n```\n\n停止任务：\n\n```text\nCtrl+C\n```\n\nCLI 模式适合长时间批量运行。每个账号结束后会完整重启浏览器；另外每成功注册 5 个账号会做一次运行时内存清理。\n\n并发示例（在 `config.json` 中设置）：\n\n```json\n{\n  \"register_count\": 20,\n  \"concurrent_count\": 3,\n  \"log_level\": \"info\",\n  \"speed_log_interval_sec\": 60\n}\n```\n\n### GUI 模式\n\n```bash\npython grok_register_ttk.py\n```\n\nGUI 模式会打开 Tkinter 窗口，适合手动调整配置和观察日志。日志同样受 `log_level` 过滤，并会打印全局创建速度。\n\n## 输出文件\n\n运行过程中会生成：\n\n- `accounts_*.txt`：成功账号、密码和 SSO token。\n- `mail_credentials.txt`：临时邮箱凭证。\n- `cpa_auths\u002F`：CPA xAI 凭证 JSON（开启 `cpa_export_enabled` 时）。\n- `.browser_profiles\u002F`：并发 worker 临时浏览器 profile（运行中生成，已 gitignore）。\n- `*.log`：可选日志文件。\n\n这些文件包含敏感信息，已被 `.gitignore` 忽略。\n\n## 稳定性机制\n\n- **每个账号结束后完整重启浏览器**（`restart_browser`），避免复用上号 SSO \u002F 落到 `tos-gate` 等错误页。\n- 并发 worker 使用独立 Chromium 与隔离 user-data 目录。\n- 默认 CPA 异步 mint 使用独立浏览器（`page=None`），不占用注册 tab。\n- Cloudflare 拦截页检测与打开注册页重试。\n- 每成功 5 个账号执行一次内存清理。\n- CLI 支持 `Ctrl+C`：第一次请求停止并收尾，连按两次强制退出。\n- 最终页长时间无变化时自动重试当前账号。\n- 验证码未收到时自动更换邮箱重试。\n- 全局每分钟输出创建速度（成功数 \u002F min）。\n\n## 常见问题\n\n### CLI 模式为什么还会打开浏览器？\n\nCLI 模式只是不启动 Tk GUI。注册页、Turnstile、验证码提交和 SSO cookie 获取仍依赖真实浏览器环境。\n\n### 并发时前几个成功、后面提示找不到「使用邮箱注册」？\n\n常见原因是账号间会话残留（例如页面落到 `grok.com\u002Ftos-gate`）。当前版本在每个账号结束后都会完整重启浏览器；请确认使用最新代码，且不要改回「仅轻量清 cookie、不重启」。\n\n### NSFW 开启失败怎么办？\n\n如果日志显示 `Cloudflare 防护拦截，HTTP 403`，说明请求被目标站点防护拦截。程序会继续保存账号和写入 grok2api。\n\n### 日志太多 \u002F 想看 Debug？\n\n在 `config.json` 设置：\n\n- `\"log_level\": \"quiet\"`：只看成功\u002F失败\u002F关键警告与速度\n- `\"log_level\": \"info\"`：默认，隐藏 `[Debug]`\n- `\"log_level\": \"debug\"`：全量诊断\n\n### GUI 显示的数量和配置不同？\n\nGUI 数量控件可能有上限。CLI 模式直接读取 `config.json` 中的 `register_count`。\n\n## 目录结构\n\n```text\n.\n├── grok_register_ttk.py   # 主程序（GUI\u002FCLI 注册）\n├── cpa_export.py          # CPA xAI 导出入口\n├── cpa_xai\u002F               # CPA mint \u002F OAuth \u002F schema\n├── cf_mail_debug.py       # Cloudflare 邮箱调试工具\n├── config.example.json    # 配置示例\n├── requirements.txt       # Python 依赖\n└── README.md\n```\n\n## License\n\n[MIT](LICENSE).\n\n## Acknowledgments\n\nThanks to [linux.do](https:\u002F\u002Flinux.do) — a vibrant tech community where this project is shared and discussed.\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=AaronL725%2Fgrok-register&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=AaronL725\u002Fgrok-register&type=date&theme=dark&legend=top-left&sealed_token=uCM--S2xEp0n8rFUZHUg6wUJOgYcfO4XEVCIF9UZAT04YjL9YsMEOVOGAOlQfqwsoS7cQef0Rwc1cYCY4lAmTuMmcg-hKzNnx1A7KNekuCXQotFd4YifLIkvJWOEy5vxiREJX80Mwxbr8F-3GfCv0utIsQz_iq19nS57svUqwv0mSosV8OTxqXTLjmsI\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=AaronL725\u002Fgrok-register&type=date&legend=top-left&sealed_token=uCM--S2xEp0n8rFUZHUg6wUJOgYcfO4XEVCIF9UZAT04YjL9YsMEOVOGAOlQfqwsoS7cQef0Rwc1cYCY4lAmTuMmcg-hKzNnx1A7KNekuCXQotFd4YifLIkvJWOEy5vxiREJX80Mwxbr8F-3GfCv0utIsQz_iq19nS57svUqwv0mSosV8OTxqXTLjmsI\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=AaronL725\u002Fgrok-register&type=date&legend=top-left&sealed_token=uCM--S2xEp0n8rFUZHUg6wUJOgYcfO4XEVCIF9UZAT04YjL9YsMEOVOGAOlQfqwsoS7cQef0Rwc1cYCY4lAmTuMmcg-hKzNnx1A7KNekuCXQotFd4YifLIkvJWOEy5vxiREJX80Mwxbr8F-3GfCv0utIsQz_iq19nS57svUqwv0mSosV8OTxqXTLjmsI\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n","Grok Register 是一个用于自动化注册 Grok 账号的 Python 工具，支持 GUI 与 CLI 双模式运行。核心功能包括：基于 Chromium\u002FChrome 的浏览器自动化流程、多线程并发注册（各 Worker 隔离浏览器 Profile）、集成 DuckMail\u002FYYDS\u002FCloudflare 等临时邮箱服务、邮件验证码轮询与解析、账号信息本地落盘及 grok2api token 池写入。项目强调稳定性机制（如页面卡死检测、内存清理、单账号重试）和合规性提示，适用于测试环境验证、自动化流程研究及个人学习场景，不面向生产级或大规模商用部署。",2,"2026-07-12 02:30:11","CREATED_QUERY"]