{{ toast.message }}

系统确认

{{ confirmModal.message }}

为账号授权 (OAuth 2.0)

正在授权账号 {{ outlookAuth.mailbox?.email }}
1
获取并在浏览器中打开授权链接
在浏览器中打开 ↗

请确保在浏览器中登录的是上方指定的邮箱账号。授权后浏览器会跳转到一个无法访问的错误页面,这是正常的!

2
粘贴回传网址换取 Token

Wenfxl Codex Manager

安全级控制台登录

{{ appVersion }}
模式: {{ t(stats.mode) }} | 成功 {{stats.success}}/{{stats.target}} | {{stats.total}}
{{stats.progress_pct}}
运行中 已停止
成功率 {{stats.success_rate}} 成功 {{stats.success}}/{{stats.target}} 失败 {{stats.failed}} 可用域名 {{stats.available_count || 0}} 冷却域名 {{stats.cooldown_count || 0}} 风控拦截 {{stats.retries}} 密码受阻 {{stats.pwd_blocked || 0}} 出现手机 {{stats.phone_verify || 0}} 总耗时 {{stats.elapsed}} 平均 {{stats.avg_time}}

页面配置暂未加载完成

{{ configLoadError || (isLoadingConfig ? '正在加载配置,请稍候...' : '配置仍未返回,请点击下方重试。') }}

SSO 单点配置

配置 SSO 注册分支使用的 Authelia + LLDAP 连接参数,保存后写入项目配置文件。

当前可选 `[Authelia+lldap]`,字段会保存到 sso_mode.custom

多个域名用英文逗号 , 隔开

用于删除 ChatGPT workspace 成员的管理员认证信息;为空时回退读取 captures/chatgpt_session.json。

🔐
请选择 [Authelia+lldap]

选择类型后这里会展示 SSO_DOMAINS、auth_url、LLDAP_DOMAIN、LLDAP_BASE_URL、ADMIN_USER、ADMIN_PASS 配置项。

实时运行日志

wfxl-openai-terminal
系统待命,日志将在此打印...

分布式节点通信配置

当前仍在使用默认集群密钥,请先修改后再连接主控或发起同步。

提示:子控填写主控台地址并保持密钥一致后,可在本页刷新集群信息并选择子控同步库存。

子控库存同步

手动刷新在线子控,选择需要同步库存的节点后下发同步任务。

暂无在线子控,请先点击“刷新集群信息”。

同步任务看板

展示最近 20 条账号同步任务,可查看进度、失败数与重试状态。

同步任务列表已隐藏
暂无同步任务记录
任务 节点 状态 进度 失败 重试 最近错误 时间 操作
{{ task.task_id }} {{ task.node_name || '-' }} {{ formatClusterSyncStatus(task.status) }}
{{ task.processed_count || 0 }}/{{ task.total_count || 0 }}
{{ task.fail_count || 0 }} {{ task.retry_count || 0 }}/{{ task.max_retries || 0 }}
{{ formatClusterSyncError(task.error_message) }}
创建 {{ formatClusterSyncTime(task.created_at) }}
完成 {{ formatClusterSyncTime(task.finished_at) }}
-

Webhook 完整详情

Key
{{ webhookPoolDetail.key }}
To
{{ webhookPoolDetail.to_addr || '-' }}
From
{{ webhookPoolDetail.from_addr || '-' }}
Message ID
{{ webhookPoolDetail.message_id || '-' }}
验证码
{{ webhookPoolDetail.code || '-' }}
接收时间
{{ webhookPoolDetail.received_at || '-' }}
标题
{{ webhookPoolDetail.subject || '-' }}
{{ JSON.stringify(webhookPoolDetail.payload || webhookPoolDetail, null, 2) }}

Webhook 内存池

备份数据开启时,接入的 webhook 信息会写入固定备份文件夹;内存池仅展示轻量字段,完整详情只在备份文件夹查看。

内存池条数
{{ webhookPoolStatus ? webhookPoolStatus.pool_size : 0 }}
备份文件数
{{ webhookPoolStatus ? webhookPoolStatus.backup_count : 0 }}
备份大小
{{ webhookPoolStatus ? webhookPoolStatus.archive_size : 0 }}
备份目录
{{ webhookPoolStatus ? webhookPoolStatus.archive_dir : '-' }}
邮箱 From Message ID 接收时间 验证码 标题 长度 摘要 操作
正在加载...
暂无{{ webhookPoolView === 'memory' ? '内存池' : '备份文件夹' }}记录
{{ item.to_addr || item.key || '-' }} {{ item.from_addr || '-' }} {{ item.message_id || '-' }} {{ item.received_at || '-' }} {{ item.code || '-' }} {{ item.subject || '-' }} {{ item.raw_length }} {{ item.summary || '-' }}
共 {{ webhookPoolTotal }} 条,第 {{ webhookPoolPage }} / {{ webhookPoolTotalPages }} 页 共 {{ webhookBackupTotal }} 条,第 {{ webhookBackupPage }} / {{ webhookBackupTotalPages }} 页

本地账号库

已选 {{ selectedAccounts.length }}
导出:
推送:
凭证:
账号总数
{{ inventoryStats?.local?.total || 0 }}
未推送
{{ inventoryStats?.local?.unpushed || 0 }}
已推送
{{ inventoryStats?.local?.pushed || 0 }}
有凭证
{{ inventoryStats?.local?.credential || 0 }}
活跃状态
{{ inventoryStats?.local?.active || 0 }}
已禁用
{{ inventoryStats?.local?.disabled || 0 }}
# 账号 & 密码 当前状态 推送平台 入库时间 操作
暂无本地记录
{{ index + 1 }}
{{ showAccountsPlaintext ? acc.email : maskEmail(acc.email) }}
{{ showAccountsPlaintext ? acc.password : '••••••••' }}
完整凭证 image2api 仅注册 未知
已禁用
{{ badge.name }}
{{ formatTime(acc.created_at) }}

导入半成品账号

每行一个,支持:
email----password
email----password----reg_only
email----password----image2api----access_token
email----password----image2api----access_token----device_id----user_agent

半成品库存

已选 {{ selectedImageAccounts.length }}
操作:
# 账号 & 密码 状态 入库时间 操作
暂无 IMG 凭证记录
{{ index + 1 + (imagePage-1)*imagePageSize }}
{{ showAccountsPlaintext ? acc.email : maskEmail(acc.email) }}
{{ showAccountsPlaintext ? acc.password : '••••••••' }}
仅注册 半成品就绪 已禁用
{{ formatTime(acc.created_at) }}

批量导入邮箱

支持格式 (每行一个):
email----password
email----password----client_id----refresh_token

微软邮箱资源库

已选 {{ selectedMailboxes.length }}
# 邮箱账号 鉴权类型 状态 分裂次数 导入时间 操作
暂无邮箱数据,请点击右上角导入
{{ index + 1 }} {{ showPwd.showMailboxesPlaintext ? mb.email : maskEmail(mb.email) }} OAuth 密码 未使用 已注册 (被占用) 已出凭证 失效/死号 {{ mb.fission_count || 0 }} fission {{ formatTime(mb.created_at) }} 已授权

域名池与 Cloudflare

支持逗号分隔多域名,此处必须填写你配置在 CF 的主域名

黄金矿工模式

开启后按主域统计异常,并在超限后自动冷却。

超限域名会暂时停用;关闭后恢复随机使用,不计数、不冷却。

当前模式不支持此功能!仅限 cloudflare_temp_email, freemail, cloudmail, openai_cpa。

同一主域异常达到该次数后暂停使用,`0` 表示关闭。

触发阈值后,这主域暂停使用的时长。

组数

最多 10 组,自动模式下不能超过有效主域数量。

模式

自动按 `mail_domains` 顺序分组;手动模式需覆盖全部主域。

策略

轮转每轮切组;耗尽后切组会先跑完当前组。

[{{ index + 1 }}]

录入格式与 `mail_domains` 一致;仅允许填写已配置主域名,且不能跨组重复。

请先填写有效的 `mail_domains`,且分组数量不能大于有效主域名数量。

扩展域名池
runtime
运行开始时按「注册线程数 × 基数」生成临时扩展域名,结束后清空;异常超阈值可丢弃补位或进入冷却。
当前黄金矿工未开启,配置会保存但暂不生效。
基数
目标数量 = 线程数 × 基数
初始生成
队列按原始域名顺序均分
异常处理
冷却模式不触发补位
补位方式
队列每批只取一个原始域名
补位阈值
%
可用数 / 目标数 ≤ 阈值时补位
临时池最多 3000 个 丢弃按阈值补位,冷却不补位 运行期状态在下方域名列表展示
假注册域名池
多域名用英文逗号分隔;独立于 mail_domains,不进入下方域名列表。
频率 / 分钟
每轮结束后按该间隔再次拉起。
不计入异常/冷却 不保存账号 停止任务时自动退出

仅勾选的异常类型会累计到当前域名的异常计数并参与冷却判断。

域名列表

仅展示当前进程内的域名/扩展域名计数与冷却状态,重启后会重新统计。

可用 {{ availableMailDomainCount }} / 冷却 {{ cooldownMailDomainCount }} / 禁用 {{ disabledMailDomainCount }}

{{ mailDomainRuntimeStatsError }}
当前展示 {{ visibleMailDomainRuntimeStats.length }} / {{ sortedMailDomainRuntimeStats.length }}
{{ mailDomainGroupLabelMap[item.domain] }}{{ item.domain }} 扩展
冷却中 {{ formatDuration(item.cooldown_remaining_sec || 0) }}
最近使用: {{ item.last_used_at ? formatMainlandDateTime(new Date(item.last_used_at * 1000)) : '未使用' }}
尚未参与运行,等待首次分配。
注册: {{ item.pick_count || 0 }}
成功: {{ item.success_count }}
异常: {{ item.fail_count }}
当前还没有域名运行时统计数据,开始注册后这里会显示各主域名的成功/异常计数与冷却状态。

Cloudflare 身份鉴权 (全局)

获取提示:登录 Cloudflare 后,访问 https://dash.cloudflare.com/profile/api-tokens 获取 Global API Key。

基础域名解析与邮件托管 (全局通用)
通用步骤 1 域名托管与 NS 获取

说明:提取上方填写的“发信域名池”,在 CF 创建托管档案并分配专属 NS 地址。获取后,请务必前往您购买域名的平台修改 DNS 服务器。

通用步骤 2 激活 CF 电子邮件服务

说明:在您的域名 NS 修改生效后点击此按钮。系统将自动校验解析状态,开启 CF 企业邮局,并注入接收邮件所需的 MX 和 TXT 记录。

一键串行 激活邮件服务 + 推送 CF + 绑定 Catch-All

适合 NS 已生效后一次性完成邮件链路配置;中途任一步失败会停止后续步骤。

1 校验 NS 并激活邮件服务
2 推送发信主域至 CF
3 绑定 Catch-All 到 Worker
域名状态与 NS 结果反馈
{{ item.domain }}
{{ item.name_servers[0] }}
{{ item.name_servers[1] }}
{{ item.msg }}

多级域名泛解析模式

开启后将自动使用指定域名层级;Generator.email 会在当前候选域名前追加随机子域。

自建域名模式首次使用请填写好上方发信域名池后点击下方推送按钮;Generator.email 不需要 CF 推送。

当前模式不支持此功能!仅限 cloudflare_temp_email, freemail, imap, cloudmail, generator_email。

批量删除 CF 托管域名

仅删除你在下方填写的域名,不会直接拿发信域名池整批删除。

这里填你要从 Cloudflare 删除托管的域名,不会自动读取上方发信域名池。

Child Zone 子域委派 / Child Zone

批量生成子域邮件 DNS,支持筛选、使用和删除记录。

子域名列表 ({{ childZone.items.length }})
Child Zone 日志
{{ line }}
第 {{ childZone.page }}/{{ childZoneTotalPages }} 页,共 {{ filteredChildZoneItems.length }} 条
暂无子域名记录
已选 {{ (childZone.selected || []).length }} 个,可使用 {{ selectedChildZoneDomains.length }} 个。

基础发信设置

渠道专属参数

当前模式 Tempmail.lol

这是一个免费的公开临时邮箱 API。

系统已内置所有对接逻辑,无需您填写任何 API Key、账号或密码,选中后即可直接使用!

强烈建议:国内服务器请务必勾选左侧的【获取邮箱使用全局代理穿透】,否则极易获取失败!

当前模式 Temp-Mail.org

这是一个免费的公开临时邮箱 API

系统已内置所有对接逻辑,无需配置任何密钥,选中即可直接使用!

强烈建议:国内服务器请务必勾选左侧的【获取邮箱使用全局代理穿透】,然后开启节点切换,否则极易获取失败!

当前模式 CF 临时邮箱

若开启左边多级域名泛解析模式,必需部署魔改版:

github.com/wenfxl/cloudflare_temp_email_worker
当前模式 IMAP 接码
当前模式 本地微软邮箱库 (graph)
微软邮箱库:系统将从“微软邮箱库”提取账号。
※ 兼容账号密码格式导入,无Refresh Token可点击左侧微软邮箱库“去授权”。
无限裂变模式:系统将利用下方主号,自动生成无尽别名进行注册。
微软邮箱库分裂 开启后:将压榨微软邮箱库账号
G

Gmail OAuth 裂变控制

必须先在左侧API 模式选择Gmail_OAuth授权完毕后在回到此功能使用!
后缀生成器设置
当前模式 OpenAI-CPA 专属极简内存池邮箱

减少每日CF 10w触发限制问题,邮件内存储存60秒,阅后既焚,项目重启后会自动清空。

系统将自动开启本地服务接收,抛弃R2,D1,KV

注意:请务必确保上方填写的密钥与 CF Worker 变量中的 EMAIL_WEBHOOK_SECRET 严格一致!非公网域名环境访问面板请不要使用该邮箱

内存池专属流水线 (依赖上方全局配置)

操作说明:填写专属的 Worker 项目名。点击部署后,系统会自动拉取内存池版源码,注入上方 Webhook 密钥和本面板地址到 CF 边缘节点。此步骤随时可执行

操作说明:请务必在左侧全局面板完成“通用步骤2 (激活邮件服务)”后点击此按钮!系统将把该域名的所有邮件直接路由引流至此 Worker。

openai-cpa专属邮箱项目地址: 点击前往获取
当前模式 FviaInboxes.com

已完美接入 FviaInboxes.com

请在浏览器中访问 https://FviaInboxes.com/,F12打开开发者工具,点击Get Email,复制messages请求里的authorization:Bearer后面的字符串内容。

提示:建议务必开启左侧的【获取邮箱使用全局代理穿透】!

当前模式 Inboxes.com

这是一个免费的公开临时邮箱

系统已内置所有对接逻辑,无需您填写任何 API Key、账号或密码,选中后即可直接使用!

提示:建议务必开启左侧的【获取邮箱使用全局代理穿透】!

当前模式 temporarymail.com

这是一个免费的公开临时邮箱

系统已内置所有对接逻辑,无需您填写任何 API Key、账号或密码,选中后即可直接使用!

提示:建议务必开启左侧的【获取邮箱使用全局代理穿透】!

?

Gmail OAuth 2.0 自动化配置向导

Step 1: 创建项目与 API 启用

1. 访问 Google Cloud 控制台

2. 点击顶部项目选择器,选择 "New Project" (新建项目),命名为 OpenAI-CPA-Mail

3. 搜索框里搜索 "Gmail API" 然后点启用(ENABLE),启用过就点管理。

Step 2: 配置 OAuth 权限请求页面

这是最关键的一步,决定谁能授权你的程序:

  • 选择 左侧菜单 OAuth 权限请求页面->开始
  • 应用名称:随便起,比如 OpenAI-CPA
  • 用户支持电子邮件:填你自己的 Gmail 地址。
  • 开发者联系信息:填你自己的 Gmail 地址。
  • 出现内部和外部选择记得选择 "外部"

Step 3: 创建凭据 (Credentials)

1. 点击左侧 "目标对象" > "测试用户" > "Add users"。添加你自己的Gmail邮箱

2. 点击左侧 "数据访问" > "添加或移除范围" > "右边手动添加范围"。填入 https://www.googleapis.com/auth/gmail.modify,点击 “添加到表” 并 “更新”

3. 点击左侧 "客户端" > "创建客户端" > "选择桌面应用程序"。创建

4. 创建成功后,页面会弹出一个包含客户端 ID 和密钥的窗口。直接点击旁边的 “下载 JSON” 按钮。

5. 下载生成的 JSON 文件,改名为 credentials.json,下方上传。

Step 4: 最终激活授权

提示:将 Google 下载的 JSON 直接上传即可,系统会自动将其存入数据库,无需再手动操作服务器文件。

点击生成按钮并在浏览器完成登录,复制地址栏 code= 后的字符。

复制链接并在浏览器打开授权:

{{ gmailOAuth.authUrl }}
当前模式 Freemail API

本项目极速接收邮件

开启后,减少每日CF 10w触发限制问题,如果不需要开启该开关记得删除worker里的EMAIL_WEBHOOK_URL和EMAIL_WEBHOOK_SECRET变量。

注意:该密钥对应worker里的EMAIL_WEBHOOK_SECRET变量,worker里的EMAIL_WEBHOOK_URL填http://ip:8000即可 也就是本项目访问地址,结尾不需要反斜杠,但是要保证http://ip:8000是公网能访问就行,而不是本地的127.0.0.1。

必需部署魔改版才能使用该邮箱:

github.com/wenfxl/freemail
当前模式 CloudMail

本项目极速接收邮件

开启后,减少每日CF 10w触发限制问题,如果不需要开启该开关记得删除worker里的EMAIL_WEBHOOK_URL和EMAIL_WEBHOOK_SECRET变量。

注意:该密钥对应worker里的EMAIL_WEBHOOK_SECRET变量,worker里的EMAIL_WEBHOOK_URL填http://ip:8000即可 也就是本项目访问地址,结尾不需要反斜杠,但是要保证http://ip:8000是公网能访问就行,而不是本地的127.0.0.1。

若开启左边多级域名泛解析模式或使用上面的减少每日CF 10w触发限制问题,必需部署魔改版:

github.com/wenfxl/cloud-mail
当前模式 Mail Curl

请选择 Duckmail 转发到的目标邮箱类型。
必须先去左侧对应的邮箱菜单里填写好该平台的 API 密钥等参数并保存生效!

系统将通过此地址去您选择的平台拉取验证码。

提示:填入 API Token 即可直接使用;若填入 Cookie,系统可在 Token 失效时自动刷新。
当前模式 Generator.email

已接入 Generator.email

系统将请求获取邮箱,并提取验证码。

提示:此站可能存在强力的 Cloudflare 盾,建议开启“获取邮箱使用全局代理穿透”并使用优质代理。

只保留当前页面实际刷出的匹配后缀域名,支持 com / .com / com.cn。

仅显示当前页面实际刷出的候选域名,便于先看列表再配置。

{{ generatorEmailDomainsError }}

只过滤 Generator.email 当前页面实际刷出的候选域名。

当前模式 Tmailor.com

已完美接入 Tmailor.com 解密接口

请在浏览器中访问 https://tmailor.com/,点击Access Details,复制初始Access Token字符串填入下方。

提示:建议务必开启左侧的【获取邮箱使用全局代理穿透】!

模式: LuckMail 接码

绑定标签: {{ config.luckmail.tag_id || '未对账' }}

手动囤号控制台

Tools

提示:若不勾选“购后打标”,新号将保留“未用”状态,随后可被自动化脚本通过“历史复用”逻辑随机抽走。

AI 资料增强 (Codex)

开启后系统将自主调用 AI 生成信息,并根据域名层级(当前: {{config.sub_domain_level + 1}} 级)自动脑暴。

AI 增强已关闭,将使用本地随机策略

HeroSMS 手机接码 前往官网

当前项目: {{ config.hero_sms.service }} 实时库存 (按价格升序)
国家 / ID 单价 ($) 余量 (个) 操作
{{ item.name }}
ID: {{ item.country }}
${{ item.cost }} {{ item.count }}
低于此值停止任务
超过此价不买号
失败多少次后彻底放弃
单个号等多久超时

SmsBower 手机接码 前往官网

当前项目: {{ config.smsbower.service }} 实时库存 (按价格升序)
国家 / ID 可选线路 (点击卡片直接选用)
{{ item.name }}
ID: {{ item.country }} 总库存: {{ item.total_count }}
低于此值停止任务
超过此价不买号
低于此价不买号
失败多少次后放弃
单个号等多久超时

5SIM 手机接码 前往官网

当前项目: {{ config.fivesim.service }} 实时库存
国家 / Code 可选线路 (点击卡片直接选用)
{{ item.name }}
Code: {{ item.country }} 总库存: {{ item.total_count }}
低于此值停止任务
超过此价不买号
低于此价不买号
失败多少次后彻底放弃
单个号等多久超时

基础代理设置

基础请求代理地址,如 http://127.0.0.1:7897

批量代理池

独立于 Clash 池,按列表轮换代理;启用后优先于 `warp_proxy_list`。

支持 `http://...`、`https://...`、`socks5://...`、`socks5h://...`;未写协议时默认按 `socks5h://` 解析

VPNGate 内置代理池

单容器共用出口;启用后与批量代理池、Clash 独享池互斥。按分钟刷新,不按次刷新。

共享出口 低内存候选 {{ config.vpngate_proxy_pool.max_candidate_nodes || 50 }} 429: {{ config.vpngate_proxy_pool.rotate_on_429.threshold }}/{{ config.vpngate_proxy_pool.rotate_on_429.window_minutes }}min 邮箱: {{ config.vpngate_proxy_pool.rotate_on_email_discard.threshold }}/{{ config.vpngate_proxy_pool.rotate_on_email_discard.window_minutes }}min
基础设置
代理地址、换 IP 周期和低内存上限
保存配置后生效
分钟
分钟
0 表示关闭缓存
0 表示不限制
bytes
熔断换 IP 规则
三套计数独立;任意熔断触发或换 IP 后会同步清空三套计数
429: {{ config.vpngate_proxy_pool.rotate_on_429.threshold }} 邮箱: {{ config.vpngate_proxy_pool.rotate_on_email_discard.threshold }} 线程: {{ config.vpngate_proxy_pool.rotate_on_thread_count.threshold }}
该规则只暂停拉新并等待现有 worker 结束,一律不截断运行中 worker;drain 超时兜底会清理 stale active 标记并强制换 IP。
IP 类型筛选
换 IP worker 处理策略
默认关闭时:暂停拉新,等待现有 worker 跑完再换 IP;开启对应项后:该类型换 IP 会额外截断未进入提交阶段的运行中 worker。
分钟
active worker 标记长时间不归零时,清理 stale 标记并兜底换 IP。
运行状态
{{ vpngatePool.status?.running ? 'Running' : 'Stopped' }}
代理端口
{{ vpngatePool.status?.proxy_ok ? 'OK' : 'DOWN' }}
管理端口
{{ vpngatePool.status?.ui_ok ? 'OK' : 'DOWN' }}
当前代理
{{ vpngatePool.status?.proxy_url || config.vpngate_proxy_pool.proxy_url }}
当前 IP
{{ vpngateState().masked_ip || vpngateState().current_ip || '暂无' }}
IP 类型
{{ vpngateState().ip_type || 'other' }}
429 计数
{{ vpngate429Count() }} / {{ config.vpngate_proxy_pool.rotate_on_429.threshold }}
邮箱计数
{{ vpngateEmailCount() }} / {{ config.vpngate_proxy_pool.rotate_on_email_discard.threshold }}
线程计数
{{ vpngateThreadCount() }} / {{ config.vpngate_proxy_pool.rotate_on_thread_count.threshold }}
临时黑名单
{{ vpngateBlacklistCount() }}
换 IP 原因
{{ vpngateState().rotate_reason || '无' }}
代理运行指标
活跃/峰值
{{ vpngateProxyStats().connections?.active || 0 }} / {{ vpngateProxyStats().connections?.active_peak || 0 }}
接入/拒绝
{{ vpngateProxyStats().connections?.accepted_total || 0 }} / {{ vpngateProxyStats().connections?.rejected_total || 0 }}
SOCKS5/HTTP
{{ vpngateProxyStats().requests?.socks5_total || 0 }} / {{ vpngateProxyStats().requests?.http_total || 0 }}
成功/失败
{{ vpngateProxyStats().requests?.connected_total || 0 }} / {{ vpngateProxyStats().requests?.failed_total || 0 }}
已转发 {{ formatBytes(vpngateProxyStats().relay?.bytes_total || 0) }} · chunks {{ vpngateProxyStats().relay?.chunks_total || 0 }} · idle {{ vpngateProxyStats().relay?.idle_timeouts || 0 }}
DNS Cache
缓存条目
{{ vpngateProxyStats().dns?.cache_entries || 0 }} / {{ vpngateProxyStats().dns?.cache_max_entries || 0 }}
Hit / Miss
{{ vpngateProxyStats().dns?.cache_hits || 0 }} / {{ vpngateProxyStats().dns?.cache_misses || 0 }}
命中率
{{ vpngateDnsHitRate() }}
查询成功/失败
{{ vpngateProxyStats().dns?.query_success || 0 }} / {{ vpngateProxyStats().dns?.query_failed || 0 }}
失败分类
{{ item.label }} {{ vpngateFailureCount(item.key) }} 暂无失败
最近失败:{{ vpngateProxyStats().failures?.last?.reason || '无' }} · {{ vpngateProxyStats().failures?.last?.protocol || '-' }} · {{ vpngateProxyStats().failures?.last?.target || '-' }}
{{ vpngateProxyStats().failures?.last?.error || '' }}
候选节点{{ vpngatePool.nodes.length }} 个
{{ node.id || node.ip }}
{{ node.country || node.country_short || '未知' }} · {{ node.ip_type || 'other' }}
{{ node.ping || node.latency_ms || 0 }}ms
暂无候选节点

Clash 节点智能池

Clash 实例集群中控

{{ clashPool.mode === 'docker_pool' ? 'Docker 集群' : clashPool.mode === 'linux_single_core' ? 'Linux 单核心' : clashPool.mode === 'local_gui' ? '本地 GUI' : '未知模式' }} 当前订阅:{{ selectedClashSubscription.name || ('订阅 ' + selectedClashSubscription.id) }} {{ clashPool.message || '暂无运行说明' }}
实例名称
运行状态
宿主机端口映射 (Proxy / API)
{{ins.name}}
{{ins.status === 'running' ? 'Running' : ins.status}}
{{ins.ports || '暂无端口'}}
暂无容器实例运行,请先配置集群规模并同步
{{ clashPool.subscriptions.length }} 条
{{ formatClashSubscriptionLabel(sub) }}
当前订阅
{{ sub.url }}
暂无已保存订阅,右侧直接新增即可。
当前策略组
{{ activeClashGroup.name }}
当前节点:{{ activeClashGroup.current }}
有效节点池:{{ getClashHealthyCount(activeClashGroup) }} 个 本次测速已自动保存 {{ clashPool.delayResults[activeClashGroup.name].healthy_nodes.length }} 个
目标实例:{{ clashPool.target === 'all' ? '当前主控制端' : ('clash_' + clashPool.target) }}
URL:{{ clashPool.delayResults[activeClashGroup.name].test_url }}
节点
延迟
操作
{{ row.nodeName }}
当前节点
{{ row.result.delay }} ms {{ row.result.message || 'error' }} 未测

云端库存

云端分批获取 {{ cloudFetchState.completed }}/{{ cloudFetchState.total || cloudFilters.length }}
{{ cloudFetchState.loading ? ('当前:' + activeCloudFilterLabel) : cloudFetchState.message }}
已选 {{ selectedCloud.length }}
云端启用
{{ inventoryStats?.cloud?.enabled || 0 }}
CPA 平台
{{ inventoryStats?.cloud?.cpa || 0 }}
{{ inventoryStats?.cloud?.cpa_active || 0 }} 存活 {{ inventoryStats?.cloud?.cpa_disabled || 0 }} 失效
Sub2API
{{ inventoryStats?.cloud?.sub2api || 0 }}
{{ inventoryStats?.cloud?.sub2api_active || 0 }} 存活 {{ inventoryStats?.cloud?.sub2api_disabled || 0 }} 失效
Image2API
{{ inventoryStats?.cloud?.image2api || 0 }}
{{ inventoryStats?.cloud?.image2api_active || 0 }} 存活 {{ inventoryStats?.cloud?.image2api_disabled || 0 }} 失效
总计推送
{{ inventoryStats?.cloud?.total || 0 }}
类型 远端凭证 (账号) 当前状态 额度用量大盘 最后检查 操作
暂无云端账号数据或未勾选平台
Sub2API Img2API CPA {{ showCloudPlaintext ? acc.credential : maskEmail(acc.credential) }}
存活
失效
已禁用
{{ acc.details.window_stats?.requests ?? acc.details.requests ?? 0 }} req {{ (acc.details.window_stats?.tokens ?? acc.details.tokens ?? 0) >= 1000 ? ((acc.details.window_stats?.tokens ?? acc.details.tokens ?? 0)/1000).toFixed(1) + 'K' : (acc.details.window_stats?.tokens ?? acc.details.tokens ?? 0) }} A ${{ Number(acc.details.window_stats?.standard_cost ?? acc.details.standard_cost ?? 0).toFixed(2) }} U ${{ Number(acc.details.window_stats?.user_cost ?? acc.details.user_cost ?? 0).toFixed(2) }}
5h
{{ acc.details.codex_5h_used_percent }}% {{ (acc.details.codex_5h_reset_at || '').substring(5, 16).replace('-', '/') }}
7d
{{ acc.details.codex_7d_used_percent }}% {{ (acc.details.codex_7d_reset_at || '').substring(5, 16).replace('-', '/') }}
PLAN: {{ acc.details.cpa_plan_type }}
总额: {{ acc.details.cpa_total }} 剩余: {{ acc.details.cpa_remaining }}
周限额 剩余 {{ acc.details.cpa_primary_remain_pct }}%
代码审查周限额 剩余 {{ acc.details.cpa_codex_remain_pct }}%
{{ acc.details.plan_type || 'Free' }} 总额度: {{ acc.details.quota }}
{{ limit.feature_name }}
{{ limit.remaining }} {{ limit.reset_after.substring(5, 16).replace('T', ' ') }}
{{ acc.account_type === 'cpa' ? '等待右侧测活获取数据...' : '暂无用量缓存' }}
{{ acc.last_check || '-' }}

批量导入 Team Token

支持以下两种导入格式 (每行一个): ▶ 格式一:access_token eyJhbGciOiJSUzI1NiIs... ▶ 格式二:access_token + Cookie (开启超速妙,用 ---- 分隔) access_token----Cookie... 超速妙必读:获取完整 Cookie 教程-超速模式最大允许4线程,正常账号不要开启该选项,无法邀请人的号才开启超速妙 1. 请前往 https://admin.openai.com/ 完成登录。 2. 按 F12 打开开发者工具,切换到 Network (网络) 面板。 3. 刷新页面,找到 overview/tokens 的接口请求。 4. 在 Request Headers (请求标头) 中找到 Cookie 字段,复制后面那一长串完整内容。

Team 团队账号库

# 解析邮箱 Access Token & Cookies 操作
暂无 Team 库数据,请点击右上角导入
{{ index + 1 }} {{ showTeamsPlaintext ? team.email : maskEmail(team.email) }}
{{ showTeamsPlaintext ? team.access_token : 'eyJhbGciOi...' }}
Cookie: {{ showTeamsPlaintext ? team.cookies : '******' }}

CPA 仓管中心 前往项目地址

保留仅注册成功账号 CPA 专属

开启后,即使未获取到 Token 的“半成品”账号也会强行入库,方便您后续手动登录提取。

排除 add-phone 半成品

开启后,注册成功但 OAuth 最终卡在 add-phone 时,会从本地半成品库删除。

设为 0 时将跳过库存巡检,直接按单次补发量执行补货,不再获取云端全量账号数据。

Sub2API 仓管 前往项目地址

开启后使用下方单选的 Sub2API 代理 ID 推送;关闭后继续使用本地专属代理池。

Sub2API 远程代理

先手动获取线上代理,再单选一个固定 proxy_id。

当前已选 proxy_id: {{ config.sub2api_mode.remote_proxy_id }}

填写接口地址和 API Key 并保存后,点击「获取线上代理」以同步数据。

保留仅注册成功账号 SUB 专属

防止因 Sub2API 绑定失败导致账号丢失。开启后将保留所有注册成功的原始账密。

排除 add-phone 半成品

开启后,注册成功但 OAuth 最终卡在 add-phone 时,会从本地半成品库删除。

设为 0 时将跳过库存巡检,直接按单次补发量执行补货,不再获取云端全量账号数据。

仅用于 Sub2API 推送与导出。0 行 = 不带代理,1 行 = 固定代理,2+ 行 = 按顺序轮转。

新账号推送参数

账号并发上限
提高账号调度频率
数值越小越优先使用
0 = 不计费

仅对 OpenAI OAuth 账号生效。启用后并发数将作为该账号 WS 连接池上限。

image2api 仓管 前往项目地址

Telegram 机器人通知

* 系统在推送消息时会自动走全局配置里的网络代理

邮箱脱敏
密码脱敏
可用变量: {email} (自动适配脱敏开关), {password} (自动适配脱敏开关), {time} 时间。
可用变量: {success_rate} 成功率, {success} 成功数, {target} 目标数, {failed} 失败数, {retries} 拦截数, {pwd_blocked} 密码受阻, {phone_verify} 出现手机, {elapsed_time} 总耗时, {avg_time} 平均耗时。

数据库存储引擎 修改后需点左下角重启项目后生效

代码与容器更新

查看宿主机仓库与远端差异,支持抓取远端状态,并可一键同步代码后重建 Docker 容器。

{{ gitSync.error }}
{{ gitSync.deployMessage || '宿主机 helper 已接管 Docker 重建,正在等待服务恢复...' }}
当前运行版本:{{ appVersion || 'N/A' }}
目标 Commit:{{ gitSync.deployExpectedCommit || 'N/A' }}
轮询次数:{{ gitSync.deployPollAttempts || 0 }}
当前分支
{{ gitSync.data?.branch || 'N/A' }}
跟踪分支
{{ gitSync.data?.tracking || 'N/A' }}
提交差异
落后 {{ gitSync.data?.behind ?? 0 }} / 超前 {{ gitSync.data?.ahead ?? 0 }}
工作区状态
{{ gitSync.data ? (gitSync.data.is_clean ? '干净' : `有 ${gitSync.data.dirty_count || 0} 处改动`) : '无数据' }}
最后一次提交
Commit
{{ gitSync.data?.last_commit?.full || gitSync.data?.current_commit || 'N/A' }}
时间
{{ gitSync.data?.last_commit?.date || 'N/A' }}
说明
{{ gitSync.data?.last_commit?.subject || 'N/A' }}
未提交改动预览
{{ line }}
操作输出
{{ line }}
暂无执行输出。你可以先点“刷新状态”看当前仓库状态,或者抓取远端状态后再决定是否需要一键同步并更新容器。
一键同步会在宿主机项目目录执行 Git 同步,并通过宿主机 helper 调用 Docker Compose 重建容器;未提交改动会被覆盖。

杂项与安全控制

请妥善保管此密码,热重载后立即生效

设置过大(>1000)可能导致浏览器严重卡顿

默认 15 秒,最小 15 秒,最大 3600 秒;输入过小会自动回到 15,超过 1 小时会自动限制为 3600。

开启后,不再进入无密码接管流程,直接放弃,如果开启了接码,将节省 HeroSMS 接码成本。

并发与时延微调

email 保持当前 · phone 启用手机首发
conservative 保守丢弃 · fork_retry 先重试
0 不限制 · 仅多线程 · 最大 50
仅协议多线程 · 均摊
~
关键请求前随机等待 · 单位 ms
~

SSO 单点登录注册

静默模式

开启后 SSO 流程不向实时运行日志和普通打印输出内容。

SSO 页面探测

默认关闭,只使用固定 authorize/continue 接口;接口变更排障时再开启。

LLDAP 创建后探测

写入临时身份后轮询确认用户可见;LLDAP 同步慢或偶发 401 时开启。

LLDAP 写入错峰

多线程时按 worker 序号错开写入 LLDAP;单线程自动不等待。

LLDAP 最大错峰秒数

限制 worker 序号错峰上限;默认 15 秒。

FirstFactor 401 重试次数

/api/firstfactor 返回 401 时额外重试次数;默认 1 表示再试一次。

FirstFactor 401 延迟秒数

每次 firstfactor 401 后等待再试的秒数;默认 2 秒。

SSO 全局并发上限

限制同一进程同时执行 SSO 注册数;0 不限制,低配 IdP 建议 6-8。

SSO 回环熔断次数

同一条 OIDC 错误回环连续重复多少轮后直接失败退出;建议 3-4。

当前类型
{{ selectedSsoTypeInfo.name }}

{{ selectedSsoTypeInfo.description }}

{{ item.label }}
{{ item.value }}
🔐
请选择 SSO 类型

选择后这里会展示该类型的接入信息与后续需要补充的配置项。

常规量产模式边界控制

~
保留仅注册成功账号 常规模式专属

开启后,即使未获取到 Token 的“半成品”账号也会强行入库,方便您后续手动登录提取。

排除 add-phone 半成品

开启后,注册成功但 OAuth 最终卡在 add-phone 时,会从本地半成品库删除。

保存 IMG 账号到本地 常规模式专属

开启后,常规模式注册成功会自动将 image2api 凭证写入本地数据库。