Files
grok-free-register-oss/.env.example
chaos d10009d639 Initial commit: grok-free-register-oss
Open-source Grok free registration CLI, xai_enroller auth pipeline,
local auth service, tests and docs.
2026-07-16 21:04:05 +08:00

125 lines
6.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# grok-free-register 配置模板
# 复制为 .env 后按需修改。未填写的项目会使用程序默认值。
# 邮箱模式
# tempmail: 免费临时邮箱,适合快速试跑。
# custom: 自建域名邮箱,需要 Cloudflare Email Routing 和本地收信服务。
EMAIL_MODE=tempmail
# custom 模式专用
# EMAIL_DOMAIN=example.com
# EMAIL_API=http://127.0.0.1:8080
# 认证账号来源
# auto: 配置 SSH 主机时读取远端,否则读取当前项目;一般保持默认即可。
# XAI_AUTH_SERVICE_SOURCE=auto # auto | local | ssh
# XAI_AUTH_SERVICE_REGISTER_ROOT=. # local 模式下的注册项目目录
# 注册与认证不在同一台机器时填写
# XAI_AUTH_SERVICE_SSH_HOST=user@server.example
# XAI_AUTH_SERVICE_SSH_IDENTITY=/path/to/key.pem
# XAI_AUTH_SERVICE_REMOTE_ROOT=/opt/grok-free-register
# XAI_AUTH_SERVICE_SYNC_SEC=30 # 同步新账号的间隔(秒)
# 认证节奏
# XAI_AUTH_SERVICE_MIN_INTERVAL_SEC=10 # 两次认证请求的基础最小间隔(秒)
# # 触发限流后会自动抬高(约18s起最多约90s),成功连串后再缓慢回落
# XAI_AUTH_SERVICE_RETRY_SEC=60 # 被限流后的基础探测间隔(秒);连续撞限会按 1.5x 增长,上限 300s
# XAI_AUTH_SERVICE_LOG_MODE=user # user | debug
# 运行目标
# TARGET=0 # 成功 N 个后停止;0=不限
# 日志显示
# REGISTER_LOG_MODE=user # 默认:任务开始、结果、平均速度和限流等待
# REGISTER_LOG_MODE=debug # 额外显示 T/Q/并发/阶段耗时调试面板
# 浏览器并发容量
# PHYSICAL_CAP=0 # 0=按 CPU/内存自动估算;>0=手动指定
# PHYSICAL_PER_CPU=2 # 自动估算时每个 CPU 核心对应的并发参考值
# PHYSICAL_MEM_MB=512 # 自动估算时每个浏览器任务的内存预算(MB)
# MIN_FREE_MEM_MB=500 # 自动估算时保留的内存(MB)
# CAPACITY_PROFILE= # 可选:离线压测生成的静态 profile(JSON)
# 缓冲容量
# T_SLOT_CAP=8
# Q_SLOT_CAP=8
# Q_PENDING_CAP=12
# Worker 数量
# 通常不需要手动设置。0 表示根据容量自动派生。
# S_WORKERS=0
# P_WORKERS=0
# C_WORKERS=0
# 资源有效期
# T_MAX_AGE=300 # token 最大年龄(秒)
# Q_MAX_AGE=120 # 验证码最大年龄(秒)
# 阶段超时
# P_REQUEST_TIMEOUT=95 # 等待验证码返回超时(秒)
# C_CONSUME_TIMEOUT=60 # 最终提交阶段超时(秒)
# 局部门控和批量发送
# 这些项目默认会按容量派生。只有在压测定位后才建议覆盖。
# T_TARGET=4 # token 缓冲目标
# Q_TARGET=4 # 验证码缓冲目标
# T_HIGH_WATER= # token 生产高水位
# T_LOW_WATER= # token 生产恢复低水位
# Q_HIGH_WATER= # 验证码生产高水位
# Q_LOW_WATER= # 验证码生产恢复低水位
# P_BATCH_MAX=4 # 单个发送页面最多发送的验证码请求数
# P_SEND_CAP=0 # 0=不额外限制;>0=限制发送页面并发
# 页面和 token 获取
# SOLVER_REUSE=1 # token 页面复用
# MAX_SOLVER_REUSE=25 # 单个 token 页面最大复用次数
# SOLVER_INITIAL_WAIT_MS=500 # token 注入后的首次等待
# SOLVER_POLL_INTERVAL_MS=500 # token 轮询间隔
# SOLVER_POLL_ATTEMPTS=100 # token 最大轮询次数
# SOLVER_HARD_TIMEOUT=90 # 单次 solver 全链路硬截止(秒)
# SOLVER_CLEANUP_TIMEOUT=5 # 异常页回收最长等待(秒)
# SOLVER_FAST_CLICK=1 # 没有可见验证框时跳过慢点击
# SOLVER_MOUSE_CLICK_RETRIES=3 # token 验证框中心点击次数;0=关闭
# SOLVER_MOUSE_CLICK_INTERVAL_MS=600 # token 中心点击间隔(ms)
# PAGE_GOTO_WAIT_UNTIL=domcontentloaded # 页面导航等待策略
# PAGE_POST_WAIT_MS=500 # 页面导航后的短等待
# 可选性能开关
# PAGE_BLOCK_STATIC_ASSETS=0 # 阻断部分静态资源,降低页面准备成本
# C_HOT_PAGE_POOL=0 # 复用消费阶段页面,会增加常驻内存
# C_HOT_PAGE_POOL_SIZE=0 # 0=按启动期并发派生;>0=手动指定
# C_SET_COOKIE_VIA_REQUEST=0 # 用浏览器 request 访问 set-cookie URL;热页池开启时默认启用
# ---------------------------------------------------------------------------
# 代理grok-free-register 本进程出口,给 Playwright + httpx
# 与下面 FlareSolverr 清障栈是两套东西,不要混。
# Playwright 不会自动读环境变量,代码里会显式挂到 launch(proxy=...)。
# ---------------------------------------------------------------------------
# REGISTER_PROXY=http://127.0.0.1:40080 # 优先;指向本机 privoxy→WARP 时用这个
# HTTP_PROXY=http://127.0.0.1:7890 # 兜底REGISTER_PROXY 未设时)
# HTTPS_PROXY=http://127.0.0.1:7890
# ---------------------------------------------------------------------------
# Cloudflare 清障预热(调用外部 FlareSolverr不在本仓起 FS
# 默认 FS: docker compose 暴露 127.0.0.1:8191
# 预热根域名(无 path 后缀): accounts.x.ai / x.ai / status.x.ai / console.x.ai / auth.x.ai
# CLEARANCE_PROXY 是 FS *容器内* 浏览器的出口,必须是容器可达地址;
# 不要把 host 的 127.0.0.1 塞进去。走 WARP 时用 docker 网内 privoxy。
# ---------------------------------------------------------------------------
# CLEARANCE_ENABLED=1
# FLARESOLVERR_URL=http://127.0.0.1:8191
# CLEARANCE_URLS=https://accounts.x.ai,https://x.ai,https://status.x.ai,https://console.x.ai,https://auth.x.ai
# CLEARANCE_PROXY=http://privoxy:8118
# CLEARANCE_TIMEOUT_SEC=60
# CLEARANCE_REFRESH_SEC=3000
# ---------------------------------------------------------------------------
# 本机注册 → 推 keys 到远端 auth可选scripts/push_keys_to_auth.sh
# 无内置默认主机,必须显式填写。
# ---------------------------------------------------------------------------
# AUTH_SSH_HOST=user@auth-server.example
# AUTH_REMOTE_ROOT=/opt/grok-free-register
# AUTH_SSH_IDENTITY=
# AUTH_PUSH_INTERVAL=20