{ "//_readme": "复制为本目录 config.json 后按需修改。以 // 或 # 开头的键是注释,加载时忽略。", "//_paths": "相对路径相对 grok_reg 目录;CPA 相关绝对路径更清晰。", "// ===== 邮箱:注册验证码来源 =====": "", "// email_provider": "cloudmail | cloudflare | duckmail | yyds | hotmail | outlookmail。推荐自建 cloudmail;若使用微软邮箱则选 hotmail/outlookmail。", "email_provider": "cloudmail", "// defaultDomains": "注册用邮箱域名,逗号分隔;cloudmail catch-all 域名写这里。", "defaultDomains": "example.com", "// hotmail_accounts_file": "Hotmail/Outlook 凭证文件,相对本目录;每行: 邮箱----密码----ClientID----Token,其中 Token 为 Microsoft refresh_token。", "hotmail_accounts_file": "mail_credentials.txt", "// hotmail_alias_mode": "Hotmail/Outlook plus alias 生成模式:random=原邮箱后使用随机后缀;sequential=固定 +1/+2。", "hotmail_alias_mode": "random", "// hotmail_alias_random_length": "random 模式下 plus alias 随机后缀长度,如 name+8位随机@domain。", "hotmail_alias_random_length": 8, "// hotmail_alias_random_max_attempts": "random 模式单次选别名最大碰撞重试次数。", "hotmail_alias_random_max_attempts": 200, "// hotmail_max_aliases_per_account": "每个主邮箱最多消耗多少个地址;包括原邮箱、成功别名、失败别名和当前运行占用别名。", "hotmail_max_aliases_per_account": 5, "// hotmail_poll_interval": "Hotmail/Outlook IMAP 收验证码轮询间隔(秒)。", "hotmail_poll_interval": 5, "// hotmail_recent_seconds": "只扫描最近 N 秒邮件,避免读到旧验证码。", "hotmail_recent_seconds": 900, "// hotmail_imap_hosts": "Hotmail/Outlook IMAP 主机,按顺序尝试;某些账号在 outlook.office365.com 会报 authenticated but not connected,可回退 imap-mail.outlook.com。", "hotmail_imap_hosts": "outlook.office365.com,imap-mail.outlook.com", "// hotmail_imap_last_n": "每轮扫描 INBOX 最新 N 封邮件。", "hotmail_imap_last_n": 30, "// hotmail_require_recipient_match": "是否要求邮件收件人匹配当前别名;并发使用同一主邮箱时建议 true。", "hotmail_require_recipient_match": true, "// cloudmail_url": "CloudMail 管理端根 URL,如 https://mail.example.com", "cloudmail_url": "", "// cloudmail_admin_email": "CloudMail 管理员邮箱", "cloudmail_admin_email": "", "// cloudmail_password": "CloudMail 管理员密码", "cloudmail_password": "", "// cloudflare_api_base": "临时邮箱 Worker API 根(email_provider=cloudflare 时)", "cloudflare_api_base": "", "// cloudflare_api_key": "上述 API 的 key(若需要)", "cloudflare_api_key": "", "// cloudflare_auth_mode": "none | bearer | header 等,按你的 Worker 约定", "cloudflare_auth_mode": "none", "cloudflare_path_domains": "/api/domains", "cloudflare_path_accounts": "/api/new_address", "cloudflare_path_token": "/api/token", "cloudflare_path_messages": "/api/mails", "// duckmail_api_key": "DuckMail API key(email_provider=duckmail)", "duckmail_api_key": "", "// yyds_api_key / yyds_jwt": "备用邮箱通道凭证", "yyds_api_key": "", "yyds_jwt": "", "// ===== 网络 / 浏览器 =====": "", "// proxy": "注册机主代理:Chromium + 邮箱 HTTP。可带账号 http://user:pass@host:port。优先于系统 https_proxy。", "proxy": "http://127.0.0.1:7890", "// browser_headless": "注册浏览器:true=强制无头,false=强制有头,auto/省略=无 DISPLAY 时自动 headless。也可用 env BROWSER_HEADLESS / CLI --headless|--headed。无头服务器建议 start.sh 自动 Xvfb。", "browser_headless": "auto", "// browser_prefer": "auto=有 turnstilePatch 时优先 Chromium(可 --load-extension);chromium|chrome 强制偏好。Google Chrome 无法加载扩展,服务器上 Turnstile 常 token=0。", "browser_prefer": "auto", "// browser_path": "可选,强制浏览器可执行文件路径;默认按 browser_prefer 自动探测。", "browser_path": "", "// user_agent": "Chromium UA;一般保持默认 Chrome 桌面串即可。", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "// enable_nsfw": "注册成功后是否尝试打开 NSFW(历史字段;与 CPA 无关)", "enable_nsfw": true, "// ===== 批量注册规模 =====": "", "// register_count": "GUI/默认目标账号总数(含已有)。CLI 更推荐 --extra / --count。", "register_count": 1, "// register_threads": "并发注册线程数;CLI --threads 会覆盖。有头浏览器建议 1~3。", "register_threads": 1, "// thread_start_interval": "各工作线程错峰启动秒数,降低同时开页压力。", "thread_start_interval": 0.8, "// show_tutorial_on_start": "GUI 启动是否弹教程", "show_tutorial_on_start": false, "// register_max_attempts": "单账号流程最大重试次数", "register_max_attempts": 30, "// account_hard_timeout": "单账号硬超时(秒),超时放弃该号", "account_hard_timeout": 720, "// nav_email_button_timeout": "等「使用邮箱」按钮超时(秒)", "nav_email_button_timeout": 12, "// email_form_timeout": "邮箱表单可见超时(秒)", "email_form_timeout": 20, "// mail_timeout": "收验证码总超时(秒)", "mail_timeout": 150, "// mail_poll_interval": "收件轮询间隔(秒)", "mail_poll_interval": 0.3, "// mail_retry_count": "邮件 API 失败重试次数", "mail_retry_count": 3, "// code_form_timeout": "验证码表单超时(秒)", "code_form_timeout": 180, "// profile_timeout": "资料页(姓名密码生日)超时(秒)", "profile_timeout": 240, "// turnstile_retry_limit": "Turnstile 失败重试次数", "turnstile_retry_limit": 3, "// turnstile_stuck_timeout": "Turnstile 卡住判定超时(秒)", "turnstile_stuck_timeout": 150, "// sso_timeout_base / sso_timeout_max / sso_progress_extension": "等待 sso cookie 的基础/上限/有进度时延长(秒)", "sso_timeout_base": 240, "sso_timeout_max": 480, "sso_progress_extension": 120, "// sso_cookie_read_timeout": "读 cookie 单次超时(秒)", "sso_cookie_read_timeout": 20, "// email_submit_confirm_timeout": "提交邮箱后确认跳转超时(秒)", "email_submit_confirm_timeout": 30, "// ===== grok2api(Web SSO 池,不是 Grok 4.5 Build) =====": "", "// grok2api_auto_add_local": "是否写入本机 grok2api token 文件(一般关)", "grok2api_auto_add_local": false, "// grok2api_local_token_file": "本地 token 文件路径(auto_add_local=true 时)", "grok2api_local_token_file": "", "// grok2api_auto_add_remote": "注册成功后是否 POST 到远端 grok2api 管理 API", "grok2api_auto_add_remote": true, "// grok2api_remote_base": "grok2api Admin API 前缀,如 http://127.0.0.1:8000/admin/api", "grok2api_remote_base": "http://127.0.0.1:8000/admin/api", "// grok2api_remote_app_key": "Admin app_key;空则用 grok2api 本地配置/默认", "grok2api_remote_app_key": "", "// grok2api_pool_name": "写入的池名,免费号通常 ssoBasic", "grok2api_pool_name": "ssoBasic", "// grok2api_import_retries / grok2api_import_retry_delay": "写池失败重试次数与间隔(秒)", "grok2api_import_retries": 5, "grok2api_import_retry_delay": 2, "// ===== CPA / 免费 Grok 4.5(OIDC,不是 SSO) =====": "", "// 说明": "免费 grok-4.5 走 Grok Build OIDC → CPA xai-*.json → CLIProxyAPI :8317。SSO 不能替代 OIDC。", "// api_reverse_tools": "可选:含 cpa_xai 的父目录(高级);空=使用本仓库根目录内置 cpa_xai/", "api_reverse_tools": "", "// cpa_export_enabled": "注册成功后是否铸造 OIDC 并写出 CPA 认证文件", "cpa_export_enabled": true, "// cpa_auth_dir": "【必须】注册机主导出目录,写入 xai-.json", "cpa_auth_dir": "./cpa_auths", "// cpa_copy_to_hotload": "【可选】是否复制到 CPA 热加载目录;false=只写注册机目录,手动/脚本再导入", "cpa_copy_to_hotload": false, "// cpa_hotload_dir": "CPA 容器/进程挂载的 auth-dir(copy_to_hotload=true 时生效)", "cpa_hotload_dir": "", "// cpa_auto_import_remote": "写出 xai-*.json 后是否自动 POST 到 CPA Management API 导入。也可在 .env 用 CPA_AUTO_IMPORT_REMOTE=1/0(env 优先)", "cpa_auto_import_remote": false, "// cpa_remote_base": "CPA 根地址,只填到端口即可,如 http://127.0.0.1:8317(程序自动拼 /v0/management/auth-files)", "cpa_remote_base": "", "// cpa_remote_password": "CPA 管理密码(MANAGEMENT_PASSWORD / remote-management.secret-key 原文)。也可用环境变量 CPA_REMOTE_PASSWORD", "cpa_remote_password": "", "// cpa_remote_import_retries": "远程导入失败重试次数", "cpa_remote_import_retries": 3, "// cpa_remote_import_retry_delay": "远程导入重试间隔(秒)", "cpa_remote_import_retry_delay": 2, "// cpa_base_url": "免费 Build 必须是 cli-chat-proxy,不要写成 api.x.ai", "cpa_base_url": "https://cli-chat-proxy.grok.com/v1", "// cpa_proxy": "OIDC mint 专用代理(device-code/token/probe/浏览器)。优先级: cpa_proxy > proxy > 环境 https_proxy。空=用 proxy。", "cpa_proxy": "http://127.0.0.1:7890", "// cpa_headless": "回退浏览器是否无头。false=有头(推荐,过 CF 更稳);true=无头;省略/auto 时无 DISPLAY 自动无头。无显示时即使 false 也会强制 headless 以免起不来。", "cpa_headless": false, "// cpa_force_standalone": "true=新开 Chromium+turnstilePatch 做 OIDC;勿复用注册 tab", "cpa_force_standalone": true, "// cpa_mint_timeout_sec": "单账号 OIDC 铸造超时(秒)", "cpa_mint_timeout_sec": 300, "// cpa_mint_required": "true=OIDC 失败则整次注册算失败;false=SSO 成功仍记账号", "cpa_mint_required": false, "// cpa_probe_after_write": "写出后探测 /v1/models 是否含 grok-4.5", "cpa_probe_after_write": true, "// cpa_probe_required": "true=探测不到 grok-4.5 时把导出视为失败;false=文件已写出则只记录警告", "cpa_probe_required": false, "// cpa_probe_chat": "写出后再打一发最小 /v1/responses(更慢,默认关)", "cpa_probe_chat": false, "// ===== 并发 / mint 流水线(register_cli) =====": "", "// cpa_mint_workers": "CPA OIDC mint 并发数。-1=自动;0=注册线程内联 mint;1-10=固定并发。CLI --mint-workers 可覆盖。", "// cpa_mint_workers 参考": "1=稳;=注册线程数=吞吐优先;auto≈min(注册线程,4)。注册快/mint慢时宜 ≥ 注册线程。实测 mint≈45-50s/号、注册≈25s/号,3 注册建议 mint_workers=3~4。", "cpa_mint_workers": -1, "// cpa_mint_queue_max": "mint 队列背压上限;注册线程在队列≥此值时等待。0=不限制。建议 2×mint_workers。", "cpa_mint_queue_max": 0, "// cpa_prefer_protocol": "true=优先用 SSO cookie 纯 HTTP Device Flow 导出 CPA(无浏览器);失败再回退浏览器 mint", "cpa_prefer_protocol": true, "// cpa_protocol_only": "true=只用协议路径,失败不回退浏览器(调试用)", "cpa_protocol_only": false, "// cpa_protocol_poll_timeout_sec": "协议路径 token 轮询超时(秒)", "cpa_protocol_poll_timeout_sec": 90, "// cpa_mint_cookie_inject": "注册成功后把浏览器 cookie 注入 mint 浏览器,尽量跳过二次登录(失败仍回退邮箱密码)", "cpa_mint_cookie_inject": true, "// cpa_gui_close_mint_browser": "GUI 自动 CPA 导出后是否立即关闭 mint 专用 Chromium;true=不残留额外窗口,CLI 不受影响", "cpa_gui_close_mint_browser": true, "// cpa_mint_browser_reuse": "mint worker 复用 Chromium(清会话)而非每号 cold start", "cpa_mint_browser_reuse": true, "// cpa_mint_browser_recycle_every": "mint 浏览器每成功 N 次后完整重启;0=仅出错时重启", "cpa_mint_browser_recycle_every": 15, "// ===== Gmail IMAP(email_provider=gmail) =====": "", "// gmail_imap_user": "Gmail 主邮箱(email_provider=gmail,配合 Cloudflare catch-all 域名)", "gmail_imap_user": "", "// gmail_imap_password": "Gmail 应用专用密码(非登录密码)", "gmail_imap_password": "", "gmail_imap_host": "imap.gmail.com", "gmail_imap_port": 993, "// gmail_worker_enabled": "true=优先用 Cloudflare Email Worker HTTP 取码(秒级);false=仅 IMAP", "gmail_worker_enabled": false, "// gmail_worker_url": "Worker 根 URL,如 https://grok-xai-mail-codes..workers.dev", "gmail_worker_url": "", "// gmail_worker_api_key": "与 Worker 环境变量 CODE_API_KEY 相同", "gmail_worker_api_key": "", "// gmail_worker_timeout_sec": "Worker 轮询最长秒数,超时后若 gmail_imap_fallback=true 则回退 IMAP", "gmail_worker_timeout_sec": 25, "// gmail_worker_poll_interval": "Worker HTTP 轮询间隔(秒)", "gmail_worker_poll_interval": 0.4, "// gmail_imap_fallback": "Worker 未命中时是否回退 Gmail IMAP", "gmail_imap_fallback": true, "// gmail_imap_fallback_timeout_sec": "Worker 未命中后 IMAP 最多等几秒(Catch-all 只进 Worker 时请设小或关闭 fallback)", "gmail_imap_fallback_timeout_sec": 30, "// gmail_worker_timeout_sec": "Worker 轮询最长秒数;命中通常 1–3s,过大只会拖慢换号", "gmail_worker_timeout_sec": 12, "// gmail_delete_after_code": "Gmail 取到验证码后是否 IMAP 删除该邮件(失败不影响注册)", "gmail_delete_after_code": true, "// hotmail_delete_after_code": "Hotmail/Outlook 取到验证码后是否 IMAP 删除该邮件", "hotmail_delete_after_code": true }