Skip to content

About

Grok free account register with WebUI (fork of Charles-0509/Grok-Register)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

60 Commits

Folders and files

Repository files navigation

Grok-Register-WebUI

Grok 免费号 注册 → OAuth → CPA / Grok2API 产物,主入口为 本机 WebUI(Go 单二进制 + 嵌入 SPA)。

本仓库与上游

本仓库 keh4l/Grok-Register-WebUI(WebUI 优先)
原上游 Charles-0509/Grok-Register(协议注册 / 清障 / Turnstile 等核心)

本 fork 在上游能力之上,将控制面改为 WebUI,并增加 Grok2API 三池上传、无限注册、登录页、tempmail 动态代理、进程重启等。
部署教程: docs/DEPLOY.md

grok                       # 启动 WebUI(默认 http://127.0.0.1:8787)
# 浏览器:登录(若配置 WEB_TOKEN)→ 目标/无限注册 → 开始/停止 → 日志/产物

配置在 ~/.grok/config.env(也可在 WebUI「配置中心」编辑)。


近期特性

特性 说明
WebUI 主入口 无参运行即起控制台;登录页、仪表盘、日志、运行记录、配置、系统
无限注册 目标 0 / UI 开关,直到点停止
Grok2API 三池上传 Web + Console(SSO)+ Build(CPA JSON);自动上传与 401 重登
CPA Management 上传 自动/手动上传 CPA JSON
Tempmail 动态代理 off / on_429 / always,支持 HTTP 与 SOCKS5
协议优先 + TLS 指纹 Go tls-client(默认 chrome_131);CLEARANCE_MODE=auto
Turnstile 屏外有头 默认 TURNSTILE_MODE=offscreen
一键安装 Linux/macOS;WARP 清障可选
进程重启 系统页可重启 Worker / WebUI

架构三腿

协议腿  gRPC 发/验码 → Server Action → SSO hop → OAuth → 探活/CPA
边缘腿  chrome_131 TLS 优先 → CF 拦再 clearance(auto)
挑战腿  Turnstile 仅 Chromium(offscreen 池 / one-shot)
控制面  WebUI (SPA) ↔ /api/* ↔ 后台注册任务

冒烟(不注册账号):

go run scripts/smoke_protocol.go
REGISTER_PROXY=http://127.0.0.1:7890 go run scripts/smoke_protocol.go

一键安装(推荐)

scripts/install.sh 自动识别平台:

平台 前提 默认安装位置
Linux(Debian/Ubuntu) root / sudo 源码 /opt/Grok-Register;数据优先 SUDO_USER 的 ~/.grok(非 /root)
macOS 已装 Homebrew + Docker Desktop(缺则提示安装命令后退出) ~/Grok-Register,数据 ~/.grok,二进制 ~/.local/bin

会拉源码、编译嵌入 SPA 的二进制、装 Playwright/CloakBrowser、起 clearance,并写入分区中文注释的 config.env(与 config.env.example 同模板)。

交互询问

有真实 TTY 时会依次提示:

  1. 命令名 / 源码目录 / 数据目录 / 二进制 / venv
  2. 是否启用 WARP 清障栈? [Y]
    • Y(默认):起 Docker 清障,REGISTER_PROXY=http://127.0.0.1:40080
    • N:不装清障;再问 本机 HTTP 代理端口
      • 输入如 7890 → REGISTER_PROXY=http://127.0.0.1:7890,CLEARANCE_ENABLED=0
      • 直接回车 → 直连(无代理,适合能访问 x.ai 的境外 VPS)
  3. (WARP 时)运行结束后是否自动关闭清障容器? [Y]
    • Y(默认):CLEARANCE_AUTO_STOP=1,任务结束/中断后 docker compose stop
    • N:容器常开;启动任务时仍会检测并自动拉起未运行的栈

无 TTY 的 curl|sudo bash 可能无法提问,此时:

# WARP 清障(默认)
curl -fsSL .../install.sh | sudo bash -s -- --with-warp

# 本机 Clash 等代理
curl -fsSL .../install.sh | sudo bash -s -- --no-warp --proxy-port 7890

# 境外 VPS 直连
curl -fsSL .../install.sh | sudo bash -s -- --no-warp

# 强制全默认(WARP)
curl -fsSL .../install.sh | sudo NONINTERACTIVE=1 bash

Linux 一行

curl -fsSL https://raw.githubusercontent.com/keh4l/Grok-Register-WebUI/main/scripts/install.sh | sudo bash
项 默认
二进制 /usr/local/bin/grok
源码 /opt/Grok-Register(软链 /opt/Grok-Reg)
数据 sudo 时为 /home/<SUDO_USER>/.grok,纯 root 为 /root/.grok
Python /opt/cloakbrowser-venv/bin/python
mint `/usr/local/share/grok-reg/turnstile_{mintGrok-Register/main/scripts/install.sh

| 项 | 默认 |
|----|------|
| 二进制 | `/usr/local/bin/grok` |
| 源码 | `/opt/Grok-Register`(软链 `/opt/Grok-Reg`) |
| 数据 | `sudo` 时为 **`/home/<SUDO_USER>/.grok`**,纯 root 为 `/root/.grok` |
| Python | `/opt/cloakbrowser-venv/bin/python` |
| mint | `/usr/local/share/grok-reg/turnstile_{mint,pool}.py` |
| WebUI | `http://127.0.0.1:8787` |

### macOS 一行

**先**确认:

```bash
# 1) Homebrew — 若无:
# /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 2) Docker Desktop — 若无:
# brew install --cask docker
# 打开 Docker 应用,等引擎就绪: docker info

然后(不要 sudo):

curl -fsSL https://raw.githubusercontent.com/keh4l/Grok-Register-WebUI/main/scripts/install.sh | bash
项 默认
二进制 ~/.local/bin/grok
源码 ~/Grok-Register
数据 ~/.grok
Python ~/.local/share/cloakbrowser-venv/bin/python
mint ~/.local/share/grok-reg/turnstile_{mint,pool}.py
环境 写入 ~/.zprofile / ~/.zshrc
WebUI http://127.0.0.1:8787

缺 brew 或 Docker 时脚本会打印安装命令并退出,装好后重跑同一行即可。

自定义命令名 / 目录

# Linux:改命令名
curl -fsSL .../install.sh | sudo bash -s -- --command grok-reg

# Linux:自定义目录
curl -fsSL .../install.sh | sudo bash -s -- \
  --install-dir /data/Grok-Register --home /data/grok-data

# macOS:改命令名 / 把二进制装到 brew 前缀
curl -fsSL .../install.sh | bash -s -- --command grok-reg
curl -fsSL .../install.sh | bash -s -- --bin-dir "$(brew --prefix)/bin"

常用选项

选项 / 环境变量 Linux 默认 macOS 默认 说明
--command grok 同左 二进制命令名
--install-dir /opt/Grok-Register ~/Grok-Register 源码
--home /root/.grok ~/.grok 数据
--bin-dir /usr/local/bin ~/.local/bin 二进制
--share-dir /usr/local/share/grok-reg ~/.local/share/grok-reg mint 脚本
--venv-dir /opt/cloakbrowser-venv ~/.local/share/cloakbrowser-venv Python venv
--skip-docker off off 不检查/不装 Docker
--skip-clearance off off 不起清障
--skip-browser off off 不装 Playwright
--skip-go off off 不自动装 Go
--no-start-clearance off off 不 compose up

本地已 clone:

# Linux
sudo bash scripts/install.sh --command grok-reg
# macOS
bash scripts/install.sh --command grok-reg
# 或仅装二进制(需已有 web/dist,或本机有 npm)
make build && sudo make install          # Linux
make build && make install PREFIX="$HOME/.local" APP=grok

装完立刻跑

# Linux
export GROK_HOME=/home/<你>/.grok   # 或 /root/.grok
export GROK_PYTHON=/opt/cloakbrowser-venv/bin/python

# macOS(或新开终端,已写进 zprofile)
export PATH="$PATH:$HOME/.local/bin"
export GROK_HOME="$HOME/.grok"
export GROK_PYTHON="$HOME/.local/share/cloakbrowser-venv/bin/python"

grok
# → Grok WebUI: http://127.0.0.1:8787

clearance:

# Linux
cd /opt/Grok-Register/clearance && docker compose up -d && docker compose ps
# macOS
cd ~/Grok-Register/clearance && docker compose up -d && docker compose ps

可选 systemd(前台进程,由 systemd 托管):

# 安装脚本结束会打印完整 unit 示例;核心是 ExecStart=/usr/local/bin/grok(无额外参数)
sudo systemctl enable --now grok

系统要求

组件 用途 不装会怎样
Go 1.21+ 编译二进制 无法 build
Node.js + npm 构建 web/dist(仓库若已带 dist 可跳过) make build 缺 SPA
Python 3.10+ + venv Turnstile Playwright mint 拿不到 token
Playwright + CloakBrowser 无头过 CF Turnstile timeout / iframes=0
Docker 清障栈(强烈推荐) 注册/邮箱/CF 更容易挂
CPA Management(可选) 自动/页面上传 本地仍有 CPA/*.json

推荐硬件(运行时,非编译)

场景 内存 CPU 说明
最低能跑 2 GiB + 2 GiB swap 1–2 vCPU WebUI 并发 1;清障 + 1 个 Chromium
舒适 4 GiB 2–4 vCPU 并发 1~2
冲量 8 GiB+ 4+ vCPU 并发 3~4(再高收益有限)

粗算占用(目标 1、并发 1):

组件 约占用
WARP + Privoxy + FlareSolverr 400–900 MiB
CloakBrowser / Chromium(1 个) 300–800 MiB
grok + Python mint 50–150 MiB
系统 / Docker 开销 200–400 MiB
合计 约 1.2–2.5 GiB 峰值

≤1 GiB 内存的机器会非常卡。优化:WebUI 并发始终 1、≥2 GiB swap、先让 clearance healthy 再开任务。


完整部署(手动分步)

一键脚本失败或需精细控制时使用。

0. 系统依赖

sudo apt update
sudo apt install -y \
  git curl ca-certificates gnupg lsb-release \
  build-essential make \
  python3 python3-pip python3-venv \
  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。构建前端另需 Node.js 18+。

1. 安装 Go(仅编译需要,建议 1.21+)

cd /tmp
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

2. 安装 Docker(清障栈用)

curl -fsSL https://get.docker.com | sudo sh
sudo systemctl enable --now docker
docker compose version || sudo apt install -y docker-compose-plugin

3. 拉取并编译安装

sudo mkdir -p /opt
cd /opt
sudo git clone https://github.com/keh4l/Grok-Register-WebUI.git
cd /opt/Grok-Register

export PATH=$PATH:/usr/local/go/bin
# 若无 web/dist:make web(需 npm)
make build
sudo make install
# 自定义命令名:
# make build APP=grok-reg && sudo make install APP=grok-reg

grok -h

sudo make install 在已有 bin/grok 时不会再调 go(避免 root PATH 里没有 go)。

4. 无头浏览器:Playwright + CloakBrowser(必做)

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
sudo /opt/cloakbrowser-venv/bin/python -m cloakbrowser install

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

冒烟测试(清障栈起来后):

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:$?

5. 清障栈

cd /opt/Grok-Register/clearance
sudo docker compose up -d
sudo docker compose ps
端口 服务
127.0.0.1:40000 WARP SOCKS5
127.0.0.1:40080 Privoxy HTTP
127.0.0.1:8191 FlareSolverr

6. 配置 ~/.grok/config.env

首次运行 grok 会从模板种子化;也可直接编辑:

mkdir -p ~/.grok
cp /opt/Grok-Register/config.env.example ~/.grok/config.env
# 按需改 EMAIL_MODE / WEB_* / CPA_* / 代理等

WebUI 相关:

WEB_BIND=127.0.0.1
WEB_PORT=8787
# WEB_TOKEN=          # 非本机监听必须设置
WEB_OPEN_BROWSER=1
WEB_STOP_JOB_ON_EXIT=0

邮箱模式:

# 1) 公共临时邮箱(默认,无需 token)
EMAIL_MODE=tempmail

# 2) testmail.app
# EMAIL_MODE=testmail
# TESTMAIL_API_KEY=你的_apikey
# TESTMAIL_NAMESPACE=你的_namespace
# TESTMAIL_DOMAIN=inbox.testmail.app

# 3) 自建域名
# EMAIL_MODE=custom
# EMAIL_DOMAIN=example.com
# EMAIL_API=http://127.0.0.1:8080

7. 启动 WebUI

export GROK_PYTHON=/opt/cloakbrowser-venv/bin/python
export CLOAKBROWSER_SUPPRESS_FONT_WARNING=1

grok
# 浏览器: http://127.0.0.1:8787

在页面中:

  • 仪表盘:目标数量、并发、开始/停止、进度
  • 日志:实时流
  • 运行记录:下载 CPA / SSO / zip、上传 Management
  • 配置:编辑 config.env 字段
  • 系统:健康检查、清障状态

数据目录(GROK_HOME,默认 ~/.grok):

~/.grok/
├── config.env / config.env.example
├── run.pid / run.lock / state.json
├── logs/run-yyyymmdd-HHMMSS.log
└── outputs/<run_id>/
    ├── SSO/                 # email:password:sso
    ├── CPA/                 # 探活成功 JSON(cliproxy/CPA)
    ├── grok2api/tokens.txt  # 仅 SSO token,一行一个
    └── discarded/

8. 更新

# 推荐:重跑一键(保留 config.env,自动补齐新键)
curl -fsSL https://raw.githubusercontent.com/keh4l/Grok-Register-WebUI/main/scripts/install.sh | sudo bash

# 或手动
cd /opt/Grok-Register   # mac: ~/Grok-Register
sudo git pull
export PATH=$PATH:/usr/local/go/bin
make build && sudo make install   # mac: make install PREFIX=$HOME/.local
# Linux 无头服务器 Turnstile:
sudo apt-get install -y xvfb

macOS 备注

  • 推荐一键:先装 Homebrew + Docker Desktop,再 curl .../install.sh | bash
  • 手动:brew install go python node,venv + CloakBrowser,make web && make build && make install PREFIX=$HOME/.local
  • 清障:打开 Docker Desktop 后 cd ~/Grok-Register/clearance && docker compose up -d

用法一览

操作 说明
grok 前台启动 WebUI(默认 http://127.0.0.1:8787)
grok -h / --help 帮助
grok -v / --version 版本
WebUI 仪表盘 设目标 N、并发 M(1–8)、开始/停止;计数 = CPA 探活成功数
WebUI 日志 实时日志
WebUI 运行记录 列表 / 下载 / zip / 上传 CPA
WebUI 配置 编辑 config.env
WebUI 系统 健康与 clearance

旧版 CLI 子命令(start / status / logs 等)已移除;请用 WebUI。


配置补充

变量 说明
GROK_HOME 数据根,默认 ~/.grok
GROK_PYTHON mint/pool 用的 Python
GROK_TURNSTILE_SCRIPT one-shot mint 路径
GROK_TURNSTILE_POOL_SCRIPT 常驻池路径
CHROME_PATH 强制 Chromium
CLOAKBROWSER_SUPPRESS_FONT_WARNING 抑制 Linux 字体提示
WEB_BIND / WEB_PORT WebUI 监听
WEB_TOKEN 可选鉴权;非 loopback 必填
WEB_OPEN_BROWSER 启动后尝试打开浏览器
WEB_STOP_JOB_ON_EXIT Ctrl+C 时是否停注册任务

完整模板:config.env.example / ~/.grok/config.env.example。


流水线

清障预热 → S:Turnstile → P:邮箱+验证码 → C:注册拿 SSO
       → OAuth → 整备 CPA JSON → 探活 → 写 CPA/
       → (可选) 异步上传 Management API
  • TARGET:仅 CPA/ 探活成功数
  • 座位:done + reserved ≤ target(全局,非每线程)
  • 自动上传失败不影响记成功

边缘 / 清障

CF_IMPERSONATE=chrome_131
CF_IMPERSONATE_FALLBACK=chrome_124,chrome_120
CLEARANCE_MODE=auto    # auto | always | never
CLEARANCE_ENABLED=1
CLEARANCE_AUTO_STOP=1
CLEARANCE_MODE 行为
auto(默认) 先 TLS 指纹 warm;403/拦再 docker compose up + 预热
always 启动即清障
never 不碰 Docker 清障(靠直连/自有代理)

Turnstile

默认 browser + TURNSTILE_MODE=offscreen:

  1. 常驻池 turnstile_pool.py(屏外有头)
  2. 回退 one-shot turnstile_mint.py
  3. 再回退 chromedp 真 headless(不推荐,易 600010)
TURNSTILE_PROVIDER=browser
TURNSTILE_MODE=offscreen   # offscreen | headless | auto

默认不注入 FlareSolverr cookie/UA(除非 GROK_TURNSTILE_INJECT_CLEARANCE=1)。

可选 lite farm:

TURNSTILE_PROVIDER=lite
LITE_SOLVER_URL=http://127.0.0.1:5072

代理:WARP vs HTTP 池

WARP + Privoxy(默认) HTTP 代理池
成本 低 按量
适合 个人小批量 冲量 / 多 IP
配置 本机 compose 池 + 轮换

CPA 上传

CPA_UPLOAD_ENABLED=1
CPA_MANAGEMENT_BASE=http://127.0.0.1:8317/v0/management
CPA_MANAGEMENT_KEY=...
  • 宿主机跑 grok 必须用 127.0.0.1,不要写 cli-proxy-api
  • 新版本会自动改写 docker 主机名并补 /v0/management
  • 也可在 WebUI「运行记录」里手动上传

目录结构

Grok-Register/
├── cmd/grok/                 # 无参 → WebUI
├── internal/
│   ├── api/                  # HTTP API + 静态 SPA
│   ├── app/                  # 任务控制面
│   └── config/
├── web/                      # Vue 3 SPA(嵌入 dist)
├── scripts/
│   ├── install.sh            # 一键部署
│   ├── turnstile_mint.py
│   ├── turnstile_pool.py
│   └── requirements-turnstile.txt
├── clearance/                # docker compose 清障
├── cloudflare/email-worker.js
├── Makefile                  # web / build / install
└── README.md

常见问题

一键装完命令找不到

export PATH=$PATH:/usr/local/bin
# 或重新登录 shell;见 /etc/profile.d/grok-register.sh

make build go not found / missing web/dist

export PATH=$PATH:/usr/local/go/bin
make web          # 需要 npm;或保证仓库已有 web/dist
make build && sudo make install

turnstile timeout / iframes=0

  1. GROK_PYTHON 指向已装 playwright 的 venv
  2. python -m cloakbrowser install 已完成
  3. clearance healthy,REGISTER_PROXY 可用

lookup cli-proxy-api: no such host

CPA_MANAGEMENT_BASE=http://127.0.0.1:8317/v0/management

非本机访问 WebUI

WEB_BIND=0.0.0.0
WEB_PORT=8787
WEB_TOKEN=请设一个长随机串

请求带 Authorization: Bearer <token> 或 ?token=。

邮箱建得特别多

请更新到含全局 reserved 座位上限的版本。


更新日志(近期)

2026-07 · WebUI-only

  • 主入口:无参 grok 启动 WebUI;移除 start/status/logs/config/upload CLI
  • SPA:仪表盘 / 日志 SSE / 运行记录 / 配置 / 系统
  • 构建:make web + make build 校验 web/dist;install 结束打印 WebUI URL 与可选 systemd

更早 · OAuth / 运维 / 导出

  • OAuth:全局启动间隔、OIDC discovery 缓存、rate_limited 重试
  • 探活:PROBE_WARMUP_SEC 默认 5s
  • 安装安全:非默认 INSTALL_DIR 且无 .git 时不再 rm -rf 整目录
  • grok2api:outputs/<run>/grok2api/tokens.txt
  • TLS chrome_131 + CLEARANCE_MODE=auto;Turnstile offscreen

旧版本升级

Linux(Debian/Ubuntu)

sudo apt-get update -y && sudo apt-get install -y xvfb
curl -fsSL https://raw.githubusercontent.com/keh4l/Grok-Register-WebUI/main/scripts/install.sh | sudo bash
# 或: cd /opt/Grok-Register && sudo git pull && make build && sudo make install
CFG="${GROK_HOME:-$HOME/.grok}/config.env"
grep -q '^WEB_BIND=' "$CFG" 2>/dev/null || echo 'WEB_BIND=127.0.0.1' >>"$CFG"
grep -q '^WEB_PORT=' "$CFG" 2>/dev/null || echo 'WEB_PORT=8787' >>"$CFG"
grep -q '^CLEARANCE_MODE=' "$CFG" 2>/dev/null || echo 'CLEARANCE_MODE=auto' >>"$CFG"
grep -q '^TURNSTILE_MODE=' "$CFG" 2>/dev/null || echo 'TURNSTILE_MODE=offscreen' >>"$CFG"
which grok; grok -h

macOS

curl -fsSL https://raw.githubusercontent.com/keh4l/Grok-Register-WebUI/main/scripts/install.sh | bash
# 或: cd ~/Grok-Register && git pull && make build && make install PREFIX=$HOME/.local

开发

make web          # cd web && npm ci && npm run build
make test
make build        # 校验 web/dist 后 go build
bash -n scripts/install.sh
# 前端热更: cd web && npm run dev(需自行代理 /api)

License

MIT。

协议注册与清障等核心能力源自上游 Charles-0509/Grok-Register;WebUI 控制面与本仓库新增功能见上文。


友链 / 致谢

About

Grok free account register with WebUI (fork of Charles-0509/Grok-Register)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages