3.4 KiB
3.4 KiB
Codex Pool Backend
Codex Pool 后端服务 - 标准 Go 项目结构
目录结构
backend/
├── cmd/
│ └── main.go # 程序入口
├── internal/
│ ├── api/
│ │ └── http.go # HTTP 工具、中间件
│ ├── auth/
│ │ ├── s2a.go # S2A 授权逻辑
│ │ ├── rod.go # Rod 浏览器自动化
│ │ └── chromedp.go # Chromedp 浏览器自动化
│ ├── client/
│ │ └── tls.go # TLS 指纹 HTTP 客户端
│ ├── config/
│ │ └── config.go # 配置类型和加载
│ ├── database/
│ │ └── sqlite.go # SQLite 操作
│ ├── invite/
│ │ └── team.go # Team 邀请功能
│ ├── logger/
│ │ └── logger.go # 日志系统
│ ├── mail/
│ │ └── service.go # 邮箱服务
│ └── register/
│ └── chatgpt.go # ChatGPT 注册功能
├── config.json # 配置文件
├── config.example.json # 配置示例
└── go.mod
快速启动
# 编译
go build -o codex-pool.exe ./cmd
# 运行
./codex-pool.exe
配置文件
创建 config.json:
{
"port": 8088,
"cors_origin": "*",
"s2a_api_base": "https://your-s2a-api.com",
"s2a_admin_key": "your-admin-key",
"default_proxy": "",
"accounts_path": "accounts.json",
"concurrency": 100,
"priority": 30,
"group_ids": [1, 2, 3],
"mail_services": [
{
"name": "主邮箱服务",
"api_base": "https://mail.example.com",
"api_token": "your-token",
"domain": "example.com"
}
]
}
包说明
| 包 | 说明 |
|---|---|
cmd |
程序入口 |
internal/api |
HTTP 响应工具、CORS 中间件 |
internal/auth |
S2A 授权、浏览器自动化 |
internal/client |
TLS 指纹 HTTP 客户端 |
internal/config |
配置类型、加载函数 |
internal/database |
SQLite 数据库操作 |
internal/invite |
Team 邀请功能 |
internal/logger |
日志系统 |
internal/mail |
邮箱服务 |
internal/register |
ChatGPT 注册功能 |
API 接口
基础
GET /api/health- 健康检查GET /api/config- 获取配置
日志
GET /api/logs- 获取日志POST /api/logs/clear- 清空日志
S2A 代理
GET /api/s2a/test- 测试连接
邮箱服务
GET /api/mail/services- 获取配置POST /api/mail/services/test- 测试连接
Team Owner
GET /api/db/owners- 获取列表GET /api/db/owners/stats- 获取统计POST /api/db/owners/clear- 清空
清理旧文件
如果已迁移到新结构,可以删除根目录的旧文件:
# 删除旧的 .go 文件 (保留 go.mod, go.sum)
Remove-Item main.go, types.go, http.go, api_handlers.go, db_api.go, database.go, mail.go, codex-auth.go, browser-auth-rod.go, browser-auth-cdp.go, client.go, register.go, team-invite.go, log_stream.go, logger.go -ErrorAction SilentlyContinue
# 删除旧的 exe
Remove-Item codex-pool.exe -ErrorAction SilentlyContinue
开发
# 安装依赖
go mod tidy
# 运行
go run ./cmd
# 编译
go build -o codex-pool.exe ./cmd
许可
MIT License