# 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 ``` ## 快速启动 ```bash # 编译 go build -o codex-pool.exe ./cmd # 运行 ./codex-pool.exe ``` ## 配置文件 创建 `config.json`: ```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` - 清空 ## 清理旧文件 如果已迁移到新结构,可以删除根目录的旧文件: ```powershell # 删除旧的 .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 ``` ## 开发 ```bash # 安装依赖 go mod tidy # 运行 go run ./cmd # 编译 go build -o codex-pool.exe ./cmd ``` ## 许可 MIT License