Codex Console + Sub2API 完整部署指南:从注册到 API 中转的一体化方案

概述

本文档介绍如何部署 Codex Console(OpenAI Codex 自动注册管理系统)与 Sub2API(API 中转网关),构建从账号注册到 API 服务分发的完整自动化流程。

核心架构

  • Codex Console:负责自动注册 OpenAI Codex 账号,管理注册任务、账号池、邮箱服务

  • Sub2API:提供 API 中转服务,将注册的账号转化为可对外提供的 API 端点

  • 数据流:注册任务 → 获取账号凭证 → 自动上传至 Sub2API → 通过 API Key 分发服务


环境准备

服务器要求

  • 操作系统:Ubuntu 20.04+/Debian 10+ 或 CentOS 7+

  • 内存:建议 2GB 以上

  • 端口:需开放 8000(codex-console)、8080/6556(Sub2API,可自定义)

  • 代理:需要稳定的海外代理(HTTP/SOCKS5)

基础依赖安装

# 更新系统
apt update && apt upgrade -y

# 安装基础工具
apt install -y git curl wget vim

# 安装 Node.js(用于 CloudMail 等扩展服务)
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs

# 验证安装
node -v  # 应显示 v20.x
npm -v

Sub2API 部署

Sub2API 支持两种部署方式:Docker Compose(推荐,快速)或 二进制安装(生产环境,更灵活)。

方式一:Docker Compose 部署(推荐)

1. 安装 Docker

# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker && sudo systemctl start docker

# 验证
docker --version
docker compose version

2. 准备配置文件

mkdir -p /opt/sub2api && cd /opt/sub2api

# 下载配置文件
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/.env.example -o .env
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-compose.yml -o docker-compose.yml

3. 配置环境变量

编辑 .env 文件,设置以下关键参数:

# 服务器配置
SERVER_PORT=6556
SERVER_MODE=release
  
# PostgreSQL 配置(数据库自动创建)
POSTGRES_USER=sub2api
POSTGRES_PASSWORD=你的强密码
POSTGRES_DB=sub2api

# Redis 配置
REDIS_PASSWORD=

# 管理员账号
ADMIN_EMAIL=admin@sub2api.local
ADMIN_PASSWORD=你的管理员密码

# JWT 密钥(必须设置,否则重启后登录失效)
JWT_SECRET=$(openssl rand -hex 32)
TOTP_ENCRYPTION_KEY=$(openssl rand -hex 32)

# 时区
TZ=Asia/Shanghai

4. 启动服务

# 创建数据目录
mkdir -p data postgres_data redis_data

# 启动
docker compose up -d

# 查看日志(检查初始密码)
docker compose logs -f sub2api

# 如果 ADMIN_PASSWORD 留空,从日志获取自动生成的密码:
# docker compose logs sub2api | grep "admin password"

5. 访问与初始化

  • 访问 http://你的服务器IP:6556

  • 首次进入设置向导,配置数据库连接(使用上面设置的 PostgreSQL 参数)

  • 完成初始化后创建分组和 API Key

方式二:Linux 二进制安装(非 Docker)

适用于需要更精细控制的生产环境。

1. 安装 PostgreSQL 和 Redis

# Ubuntu/Debian
sudo apt install -y postgresql postgresql-contrib redis-server

# 启动服务
sudo systemctl enable postgresql redis-server
sudo systemctl start postgresql redis-server

2. 创建数据库

sudo -u postgres psql

# 在 psql 中执行
CREATE USER sub2api WITH PASSWORD '你的密码';
CREATE DATABASE sub2api OWNER sub2api;
GRANT ALL PRIVILEGES ON DATABASE sub2api TO sub2api;
\q

3. 一键安装脚本

# 下载安装脚本
curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/install.sh -o install.sh
chmod +x install.sh

# 运行安装(按提示输入端口等配置)
./install.sh

安装脚本会自动:

  • 检测系统架构

  • 下载最新版二进制

  • 创建 sub2api 系统用户

  • 安装 systemd 服务

  • 生成安全密钥

安装过程中的端口配置

运行 ./install.sh 时会交互式询问:

配置 Sub2API 服务监听地址
0.0.0.0 表示监听所有网卡,127.0.0.1 仅本地访问
服务器监听地址 [0.0.0.0]:

建议使用 1024-65535 之间的端口
服务器端口 [8080]: 6556

默认端口6556(可自行修改,如 8080、3000 等)

4. 启动与配置

# 启动服务
sudo systemctl start sub2api

# 设置开机自启
sudo systemctl enable sub2api

# 查看状态
sudo systemctl status sub2api

# 查看日志
sudo journalctl -u sub2api -f

# 查看监听端口(确认服务正常启动)
ss -tlnp | grep sub2api

访问 http://你的服务器IP:6556(或你配置的端口)进入 Web 设置向导。

5. 修改端口(如需调整)

如果安装后需要修改端口,编辑 systemd 服务文件:

# 查看服务文件位置
systemctl cat sub2api

# 编辑服务配置
sudo vim /etc/systemd/system/sub2api.service

# 找到 ExecStart 行,添加 --port 参数:
ExecStart=/opt/sub2api/sub2api --port 8080

  

# 重载配置并重启
sudo systemctl daemon-reload
sudo systemctl restart sub2api

或在环境变量中配置(创建 /etc/sub2api/.env):

SERVER_PORT=8080
SERVER_HOST=0.0.0.0

Codex Console 部署

1. 克隆与安装

cd /opt
git clone https://github.com/dou-jiang/codex-console.git
cd codex-console

# 安装 Python 依赖
pip install -r requirements.txt

# 或创建虚拟环境(推荐)
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env

编辑 .env 关键配置:

# Web UI 配置
APP_HOST=0.0.0.0
APP_PORT=8000
APP_ACCESS_PASSWORD=你的强密码

# 数据库(默认 SQLite 即可,也可配置 PostgreSQL)
APP_DATABASE_URL=data/database.db

# 代理配置(非常重要)
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890

3. 启动服务

前台调试模式

python3 webui.py --host 0.0.0.0 --port 8000

后台运行模式(生产环境推荐):

# 设置代理环境变量并后台运行
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
nohup python3 webui.py --host 0.0.0.0 --port 8000 > /var/log/codex.log 2>&1 &

Systemd 服务方式(开机自启):

sudo tee /etc/systemd/system/codex.service << 'EOF'
[Unit]
Description=Codex Console
After=network.target
  
[Service]
Type=simple
User=root
WorkingDirectory=/opt/codex-console
Environment="http_proxy=http://127.0.0.1:7890"
Environment="https_proxy=http://127.0.0.1:7890"
ExecStart=/usr/bin/python3 /opt/codex-console/webui.py --host 0.0.0.0 --port 8000
Restart=always

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable codex
sudo systemctl start codex

系统联动配置

1. Sub2API 端配置

在 Sub2API 管理后台完成以下步骤:

  1. 创建分组:左侧菜单"分组管理" → 添加分组(如 Codex

  2. 创建 API Key:左侧菜单"API 密钥" → 创建并复制 Key 备用

2. Codex Console 端配置

登录 Codex Console 后:

  1. 进入 设置Sub2API 服务

  2. 添加服务配置:

- 名称:Sub2API

- API URLhttp://你的Sub2API地址:6556

- API Key:粘贴上面复制的 Key

  1. 点击"测试连接"确认配置正确

3. 注册任务配置

注册 页面配置:

  • 邮箱服务:选择 Tempmail.lol(默认)或配置 Outlook/CloudMail

  • 注册类型:普通 / 子号

  • 注册后自动操作:勾选"上传到 Sub2API"

  • 分组:选择对应的 Sub2API 分组

4. 代理配置(关键)

Codex Console 必须使用代理才能成功注册:

方式一:全局代理(推荐)

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
python3 webui.py --host 0.0.0.0 --port 8000

方式二:动态代理配置

在 Web UI 的 设置动态代理配置 中启用并填写代理 API 地址。

IP 要求

  • 不支持中国大陆(CN)、香港(HK)、澳门(MO)、台湾(TW)IP

  • 推荐使用美国(US)、新加坡(SG)、日本(JP)等节点


常见问题与解决方案(试错总结)

在部署和注册过程中,可能遇到以下问题:

1. 注册失败:IP 地理位置不支持

现象IP 检查失败: HKIP 检查失败: CN

原因:OpenAI 限制特定地区 IP 注册

解决:确保代理节点为非限制地区(US/SG/JP 等),并在启动 codex-console 前设置代理环境变量

2. 注册失败:Failed to create account

现象:密码提交返回 400 错误 Failed to create account. Please try again.

原因

  • 临时邮箱被风控

  • 代理 IP 被标记

  • OpenAI 注册流程变更(新增手机号验证环节)

解决

  • 使用 Outlook 自建邮箱替代临时邮箱

  • 更换更干净的住宅代理

  • 关注 codex-console 版本更新以适配新流程

3. CloudMail 部署失败

现象wrangler deploy 卡在构建阶段或网络超时

原因:pnpm/npm 下载依赖时网络不稳定

解决

# 配置 pnpm 代理
pnpm config set proxy http://127.0.0.1:7890
pnpm config set https-proxy http://127.0.0.1:7890

4. Sub2API 连接成功但 API Key 无效

现象:测试连接显示"连接成功",但后续操作报错

原因:Sub2API 端未创建分组或账号

解决:在 Sub2API 后台先创建至少一个分组

5. 跟随重定向链失败

现象未能在重定向链中找到回调 URL

原因:OpenAI 注册流程已更新,当前版本未适配手机号验证环节

解决:当前版本暂无法自动完成全流程注册,建议手动注册后导入账号


结语

通过本文档的配置,你可以搭建一套从 Codex 账号自动注册到 API 中转的完整系统。核心要点在于:

  1. 代理是刚需:必须准备稳定、干净的海外代理,且启动服务前正确配置环境变量

  2. 邮箱选择:临时邮箱成功率低,建议部署 CloudMail 或使用 Outlook 账号池

  3. 风控应对:OpenAI 注册策略经常变动,需关注上游项目更新

系统部署完成后,可通过 Codex Console 批量创建注册任务,成功注册的账号会自动同步至 Sub2API,用户通过 Sub2API 生成的 API Key 即可调用 Codex 服务,实现完整的注册-中转闭环。

评论