# ============================================================ # reg-factory 环境变量模板 # 用法:cp .env.example .env 然后填入你自己的 key。 # .env 已被 .gitignore 忽略,不会进版本库。 # 真实的进程环境变量优先于 .env(.env 只在变量未设置时生效)。 # ============================================================ # ---------------- Clash Verge 控制面(节点切换/代理出口)---------------- # 在 Clash Verge -> 设置 -> External Controller 开启 API,并设置 secret。 CLASH_API=http://127.0.0.1:9097 CLASH_SECRET= CLASH_PROXY=http://127.0.0.1:7897 # global 模式下真正决定出口的组名(默认 GLOBAL) CLASH_GROUP=GLOBAL # ---------------- BitBrowser 本地 API ---------------- BITBROWSER_API=http://127.0.0.1:54345 # ---------------- 短信接码平台 ---------------- # 主用:firefox.fun SMS_TOKEN= # 备用:hero-sms.com HERO_SMS_API_KEY= # 【Codex add-phone 接码建议】OpenAI 风控严,普通虚拟号常被拒。 # 建议优先用 WhatsApp 可注册的号段做接码;当前 oauth_codex.py 支持 --manual-phone # 手动填号 + 手动输 WhatsApp 验证码。全自动接码版本后续提供。 # ---------------- 打码平台(可选,按需启用)---------------- CAPSOLVER_API_KEY= EZCAPTCHA_API_KEY= # ---------------- Outlook 邮箱来源 ---------------- # 闪客云邮箱卡密(用接口批量取号时需要) OUTLOOK_CARD= # Outlook 自注册用的住宅代理池(user:pass@host:port),多个用换行或逗号分隔,可留空 OUTLOOK_PROXIES= # ---------------- 标准 token 导出/上传(给 upload_tokens.py 用,可留空)---------------- # 注册时只本地保存到 TOKEN_OUTPUT_DIR;上传由 `python upload_tokens.py` 单独触发。 # 留空的目标会被自动跳过(只本地保存,不上传)。 TOKEN_OUTPUT_DIR=tokens # CPA 管理接口(ChatGPT codex 授权文件导入) CPA_URL= CPA_MGMT_KEY= # SUB2API 管理接口(ChatGPT codex-session 导入),SUB2API_GROUP 需先在后台建好 SUB2API_URL= SUB2API_EMAIL= SUB2API_PASSWORD= SUB2API_GROUP=codex # webchat2api(Grok sso 注入) WEBCHAT2API_URL= WEBCHAT2API_KEY= # ---------------- 订阅授权(Claude / SuperGrok)---------------- # Claude / SuperGrok 订阅入口(激活码 CDK 流程「敬请期待」,后续支持授权到 SUB2API / CPA) CLAUDE_SUB_URL=https://6661231.xyz/#/claude GROK_SUB_URL=https://6661231.xyz/#/grok # 激活码 CDK 池(预留,逗号/换行分隔;功能上线后填) CLAUDE_SUB_CDK= GROK_SUB_CDK= # ---------------- ChatGPT Codex OAuth add-phone 接码 ---------------- # 走 oauth_codex.py 给 SUB2API/CPA 建带 refresh_token 的账号时,OpenAI 可能要求 add-phone。 # 【免手机直连策略】add-phone 是风控驱动。默认 3:每次关窗重开+cookie 重登+重新生成 auth_url # (全新会话=重摇风控骰子),弹手机就跳过本次换下一次赌,3 次都弹才在最后一次真接码。 # 想直接接码(不赌免手机)设 0。注意每次尝试都重开干净窗口授权(避开刚注册窗口的促销弹层)。 CODEX_PHONE_SKIP_ATTEMPTS=3 # add-phone 接码换号上限/单号等码超时(接码花钱,默认只换 2 次碰运气;想多赌调大) CODEX_ADDPHONE_ATTEMPTS=2 CODEX_SMS_TIMEOUT=150 # 主用 sms-man.com(SMS 直收,匹配自动填号→输码路径);没号回退 firefox.fun → hero-sms。 # 手动模式(--codex-manual-phone)则无需配置接码。 # sms-man.com:API key 在 profile 页。application_id 留 "openai" 会运行时查 /applications # 自动解析(OpenAI/ChatGPT 实测 id=2754);也可直接填数字 2754 省一次查询。 # country_id=0 时按 /get-prices 价格升序逐国试(最便宜优先);可固定某国(如 119=Argentina)。 # 查服务/国家/余额/价格:python -m common.sms applications|countries|balance|prices openai SMSMAN_TOKEN= SMSMAN_APP_ID_OPENAI=openai SMSMAN_COUNTRY_ID_OPENAI=0 # sms-man 价格上限(USD),留空=不限 SMSMAN_MAXPRICE_OPENAI= # 回退用:firefox.fun / hero-sms 的 OpenAI 服务号(跟 Claude 的不同) SMS_PROJECT_ID_OPENAI= HERO_SMS_SERVICE_OPENAI=dr # firefox.fun 价格上限:'0' 只取最便宜(垃圾号易被 OpenAI 拒),给够才摸得到好号段 SMS_MAXPRICE_OPENAI=20 # OpenAI add-phone 拉黑的号段(dialing code,逗号分隔):261 马达加斯加、63 菲律宾 等 SMS_COUNTRY_BLACKLIST_OPENAI=261,63 # ---------------- 备用域名邮箱(一般用不到,可留空)---------------- MAIL_DOMAIN= MAIL_API_BASE= MAIL_ADMIN_USER=admin MAIL_ADMIN_PASS= MAIL_AUTH_TOKEN= MAIL_NEW_PASS= # ---------------- Gmail Android/Appium 本地注册环境 ---------------- # Gmail Android 模块位置: gmail_android/ # 安装脚本: powershell -ExecutionPolicy Bypass -File gmail_android/scripts/install_all_windows.ps1 APPIUM_SERVER=http://127.0.0.1:4723 ANDROID_DEVICE=127.0.0.1:5675 ADB_PATH= GMAIL_USERNAME_PREFIX= # manual: 手机/安全验证停住人工处理;provider: 预留给后续合规内部接码 provider PHONE_VERIFICATION_MODE=manual # 仅在操作者明确同意 Google Privacy and Terms 后启用 ACCEPT_TERMS=0 # 预留 Gmail 接码变量,命名对齐 common/sms.py;默认不接入 Gmail 安全验证自动化 SMS_PROJECT_ID_GMAIL= SMS_MAXPRICE_GMAIL=20 SMS_COUNTRY_BLACKLIST_GMAIL=261,63 HERO_SMS_SERVICE_GMAIL= # ================= GitHub Arkose 验证求解 ================= # 方案A: 打码平台解 FunCaptcha(YesCaptcha,API 兼容 CapSolver)。实测对 GitHub 企业级 Arkose 常超时,备用。 YESCAPTCHA_API_KEY= YESCAPTCHA_API_BASE=https://api.yescaptcha.com # 方案B(主力): agent-captcha 视觉大模型「投票」求解(common/agent_captcha.py)。 # 进 GitHub 拼图后,多个多模态模型并发判断、多数表决,driver 据答案点箭头+Submit。 # 各网关均为 OpenAI 兼容(/v1/chat/completions);claude/opus 走 Anthropic 原生(/v1/messages,base 以 /claude 结尾)。 # 主视觉网关(gpt-5.x;图像保真增强 gpt-image-2 也用它) VISION_API_BASE= VISION_API_KEY= VISION_MODEL=gpt-5.5 # 图像增强兜底网关(gpt-image-2 images/edits;可与主网关相同) IMAGE_EDIT_BASE2= IMAGE_EDIT_KEY2= # 投票池:中转网关(gemini-3.5-flash / gemini-3.1-pro / gpt-5.5) + claude opus 专用网关。 # 平票优先级 = gemini-flash > gpt-5.5 > gemini-pro > opus(实测 claude 在拼图上偏弱)。留空的模型自动不参与。 VOTE_ZZ_BASE= VOTE_ZZ_KEY= VOTE_GPT_KEY= VOTE_OPUS_BASE= VOTE_OPUS_KEY= # gemma 免费兜底文本网关(可选) GEMMA_API_BASE= GEMMA_API_KEY=