Grok 免费号 注册 → OAuth → CPA 可用 JSON 二合一 CLI(Go)。
一条命令后台跑完,产物可直接导入 CPA / cliproxy 类网关。
grok start -t 10
grok status
grok logs -f
grok stop
grok upload # 手动上传 CPA JSON 到 Management API- 临时邮箱 / 自建域名邮箱注册
- 注册成功后立刻 Device Flow OAuth
- 整备
cli-chat-proxy+ grok-cli headers 的 CPA JSON - 可选探活;可选自动上传到 CPA Management API
- 内置 Cloudflare 清障 compose(WARP + Privoxy + FlareSolverr)
- Turnstile:默认 Playwright + CloakBrowser(与原 Python 注册机同路径),可选 lite farm
| 组件 | 用途 | 不装会怎样 |
|---|---|---|
| Go 1.21+ | 仅编译 grok |
无法 build |
| Python 3.10+ + venv | Turnstile Playwright mint | 拿不到 token |
| Playwright + CloakBrowser | 无头过 CF Turnstile | timeout / iframes=0 |
| CloakBrowser Chromium | 指纹相对稳的无头 Chrome | mint 失败率高 |
| Docker | 清障栈(强烈推荐) | 注册/邮箱/CF 更容易挂 |
| CPA Management(可选) | grok upload / 自动上传 |
本地仍有 CPA/*.json |
目标:系统依赖 → Go → Docker → 编译
grok→ 无头浏览器 → 清障栈 → 配置 → 跑注册。
以下以 root 或 sudo 为例;路径可按需改。
sudo apt update
sudo apt install -y \
git curl ca-certificates gnupg lsb-release \
build-essential \
python3 python3-pip python3-venv \
# Chromium / Playwright 常见系统库(无头环境很重要)
libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 \
libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 \
libxrandr2 libgbm1 libasound2t64 libpango-1.0-0 libcairo2 \
fonts-liberation fonts-noto-cjk若
libasound2t64不存在,改成libasound2。
cd /tmp
# 版本号请按 https://go.dev/dl/ 更新
curl -fsSL -o go.tgz https://go.dev/dl/go1.24.4.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go.tgz
echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/go.sh
export PATH=$PATH:/usr/local/go/bin
go version# 已有 docker 可跳过
curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable --now docker
docker compose version || sudo apt install -y docker-compose-pluginsudo mkdir -p /opt
cd /opt
sudo git clone https://github.com/Charles-0509/Grok-Register.git
cd /opt/Grok-Register
export PATH=$PATH:/usr/local/go/bin
make build
sudo make install
# 安装结果:
# /usr/local/bin/grok
# /usr/local/share/grok-reg/turnstile_mint.py
grok helpsudo make install 在已有 bin/grok 时不会再调 go(避免 root PATH 里没有 go)。
Turnstile 默认本机 mint,只装 grok 二进制不够。
# 独立 venv(推荐固定路径,方便 root 跑)
sudo python3 -m venv /opt/cloakbrowser-venv
sudo /opt/cloakbrowser-venv/bin/pip install -U pip
sudo /opt/cloakbrowser-venv/bin/pip install -r /opt/Grok-Register/scripts/requirements-turnstile.txt
# 下载 CloakBrowser 自带 Chromium → ~/.cloakbrowser
# root 跑则装到 /root/.cloakbrowser
sudo /opt/cloakbrowser-venv/bin/python -m cloakbrowser install
# (可选)系统缺库时再执行
# sudo /opt/cloakbrowser-venv/bin/playwright install-deps chromium
# 写进环境(root 长期跑)
echo 'export GROK_PYTHON=/opt/cloakbrowser-venv/bin/python' | sudo tee -a /root/.bashrc
echo 'export CLOAKBROWSER_SUPPRESS_FONT_WARNING=1' | sudo tee -a /root/.bashrc
export GROK_PYTHON=/opt/cloakbrowser-venv/bin/python
export CLOAKBROWSER_SUPPRESS_FONT_WARNING=1可选环境变量:
# 一般 make install 后不用改脚本路径
# export GROK_TURNSTILE_SCRIPT=/usr/local/share/grok-reg/turnstile_mint.py
# 或:/opt/Grok-Register/scripts/turnstile_mint.py
# 强制指定 Chrome(通常自动探测 ~/.cloakbrowser)
# export CHROME_PATH=/root/.cloakbrowser/chromium-xxx/chrome冒烟测试(清障栈起来后,应打印长 token 且 exit 0):
export GROK_PYTHON=/opt/cloakbrowser-venv/bin/python
$GROK_PYTHON /usr/local/share/grok-reg/turnstile_mint.py \
--site-key 0x4AAAAAAAhr9JGVDZbrZOo0 \
--url https://accounts.x.ai/sign-up \
--proxy http://127.0.0.1:40080 \
--timeout 70
echo exit:$?cd /opt/Grok-Register/clearance
sudo docker compose up -d
sudo docker compose ps
# 期望:grok-clearance-warp / privoxy / flaresolverr 均为 healthy端口(仅本机回环):
| 端口 | 服务 |
|---|---|
127.0.0.1:40000 |
WARP SOCKS5 |
127.0.0.1:40080 |
Privoxy HTTP(注册 / 浏览器代理) |
127.0.0.1:8191 |
FlareSolverr |
检查:
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8191/
curl -x http://127.0.0.1:40080 -sS -o /dev/null -w '%{http_code}\n' \
https://www.cloudflare.com/cdn-cgi/trace本机若已有其它占用
40000/40080/8191的 compose,先停掉再起。
首次 grok start 会交互生成;也可手动:
sudo mkdir -p /root/.grok
sudo tee /root/.grok/config.env >/dev/null <<'EOF'
EMAIL_MODE=tempmail
CLEARANCE_ENABLED=1
REGISTER_PROXY=http://127.0.0.1:40080
FLARESOLVERR_URL=http://127.0.0.1:8191
CLEARANCE_PROXY=http://privoxy:8118
CLEARANCE_URLS=https://accounts.x.ai,https://x.ai,https://status.x.ai,https://console.x.ai,https://auth.x.ai
TURNSTILE_PROVIDER=browser
PROTOCOL_HTTP=1
HTTP_POOL_SIZE=8
TEMPMAIL_LOL_RETRIES=30
TEMPMAIL_LOL_MIN_INTERVAL_MS=1500
HTTPS_PROXY=http://127.0.0.1:40080
HTTP_PROXY=http://127.0.0.1:40080
NO_PROXY=127.0.0.1,localhost
PROBE_ENABLED=1
PHYSICAL_CAP=0
# CPA 上传:宿主机 grok 必须用 127.0.0.1,不要写 docker 服务名 cli-proxy-api
# 路径需含 /v0/management(上传会再拼 /auth-files)
CPA_UPLOAD_ENABLED=0
CPA_MANAGEMENT_BASE=http://127.0.0.1:8317/v0/management
CPA_MANAGEMENT_KEY=
CPA_UPLOAD_TIMEOUT_SEC=30
CPA_UPLOAD_RETRIES=2
CPA_UPLOAD_NAME_TEMPLATE={email}.json
EOF自建邮箱(可选):
EMAIL_MODE=custom
EMAIL_DOMAIN=example.com
EMAIL_API=http://127.0.0.1:8080参考 cloudflare/email-worker.js 配置 Cloudflare Email Routing catch-all。
临时邮箱默认公共 tempmail.lol + mail.tm 系 fallback,无需私人 API Token。
export PATH=$PATH:/usr/local/go/bin
export GROK_PYTHON=/opt/cloakbrowser-venv/bin/python
export CLOAKBROWSER_SUPPRESS_FONT_WARNING=1
# 后台跑;目标 N = 探活成功写入 CPA/ 的数量
grok start -t 10
grok status
grok logs -f
grok stop
# 手动上传最近 run 的 CPA JSON 到 Management API
grok upload数据目录(GROK_HOME 可覆盖,默认 ~/.grok,root 为 /root/.grok):
~/.grok/
├── config.env
├── run.pid / run.lock / state.json
├── logs/run-yyyymmdd-HHMMSS.log
└── outputs/
└── yyyymmdd-HHMMSS/
├── SSO/ # accounts.txt, auth-sessions.jsonl
├── CPA/ # 探活成功的 CPA JSON(可导入)
└── discarded/ # 探活失败
cd /opt/Grok-Register
sudo git pull
export PATH=$PATH:/usr/local/go/bin
make build && sudo make install
# 若 scripts/requirements 有变:
sudo /opt/cloakbrowser-venv/bin/pip install -r scripts/requirements-turnstile.txt- Go / Docker Desktop 自行安装即可
- Turnstile:同样
python3 -m venv+pip install -r scripts/requirements-turnstile.txt+python -m cloakbrowser install - 清障栈:
cd clearance && docker compose up -d - Chrome 也可使用系统 Google Chrome(
CHROME_PATH可选)
| 命令 | 说明 |
|---|---|
grok start |
后台启动,默认目标 10 |
grok start -t N |
目标 N(1–10000);计数 = 探活成功写入 CPA 的数量 |
grok status |
未运行 / 运行中 / 错误;进度、线程、当前步骤 |
grok logs |
最近一次完整日志 |
grok logs -f |
实时跟踪日志 |
grok stop |
立即停止 |
grok upload |
交互选择最近 10 次 run,上传其中 CPA JSON |
完整模板见 config.env.example。
| 变量 | 说明 |
|---|---|
GROK_HOME |
数据根目录,默认 ~/.grok |
GROK_PYTHON |
跑 turnstile_mint.py 的 Python |
GROK_TURNSTILE_SCRIPT |
mint 脚本路径 |
CHROME_PATH |
强制指定 Chromium 可执行文件 |
CLOAKBROWSER_SUPPRESS_FONT_WARNING |
抑制 Linux 字体提示(可选) |
清障预热 → S:Turnstile → P:邮箱+验证码 → C:注册拿 SSO
→ 立刻 OAuth (HTTP device verify/approve)
→ 整备 CPA JSON → 探活 → 写 CPA/
→ (可选) 异步上传 Management API
- TARGET:仅
CPA/探活成功计数 - 自动上传失败不影响账号记为成功
- 邮箱预创建按 target 限流,避免 target=5 时狂开邮箱
默认 browser:
- 优先调用
scripts/turnstile_mint.py(Playwright + CloakBrowser 二进制,对齐原register.py) - 脚本不可用时回退 chromedp(在 CF 下成功率通常更低)
可选外接 YesCaptcha 形 farm:
TURNSTILE_PROVIDER=lite
LITE_SOLVER_URL=http://127.0.0.1:5072仓库不内置 farm 镜像。
CPA_UPLOAD_ENABLED=1 且配置了 CPA_MANAGEMENT_KEY 时,每个成功 CPA JSON 会异步:
- 优先
multipart字段file→POST .../auth-files - 失败时回退 raw JSON +
?name= - Header:
Authorization: Bearer+X-Management-Key - 日志不打印密钥
grok upload
# 列出最近 10 个 outputs/<run_id>/
# 输入 1 或 1,2,3 多选上传grok 跑在宿主机时:
# ✅ 正确
CPA_MANAGEMENT_BASE=http://127.0.0.1:8317/v0/management
# ❌ 错误:cli-proxy-api 仅 compose 内可解析
# CPA_MANAGEMENT_BASE=http://cli-proxy-api:8317新版本会自动把 cli-proxy-api 等服务名改写为 127.0.0.1,并补上 /v0/management(若缺失)。
Grok-Register/
├── cmd/grok/ # CLI 入口
├── internal/ # 业务包
│ ├── clearance/ # FlareSolverr prewarm
│ ├── turnstile/ # Playwright bridge + chromedp fallback + lite
│ ├── pipeline/ # S/P/C + OAuth + CPA
│ └── cpa/ # 落盘 + Management 上传
├── scripts/
│ ├── turnstile_mint.py # 与原项目同逻辑的 mint
│ └── requirements-turnstile.txt
├── clearance/ # docker compose 清障栈
├── cloudflare/email-worker.js
├── config.env.example
├── Makefile
└── README.md
make build / sudo make install 报 go not found
export PATH=$PATH:/usr/local/go/bin
make build
sudo make install # 已有 bin/grok 时不再调用 go
# 或:sudo install -m 755 bin/grok /usr/local/bin/grokturnstile timeout / iframes=0
- 确认
GROK_PYTHON指向已装 playwright 的 venv python -m cloakbrowser install已完成clearance容器 healthy,REGISTER_PROXY可用grok logs -f中是否出现playwright mint: ...具体错误
lookup cli-proxy-api: no such host
宿主机跑 grok,CPA_MANAGEMENT_BASE 用 http://127.0.0.1:8317/v0/management。
邮箱建得特别多
新版本会按 target 限制 P/Q;请更新到最新代码并 make build && make install。
只想手动导入 CPA
看 ~/.grok/outputs/<run>/CPA/*.json,或 grok upload。
go test ./...
go build -o bin/grok ./cmd/grokMIT(与上游 grok-free-register 思路一致;本仓库为 Go 重制版。)