可运营的多平台账号批量注册平台,支持 OpenAI / Grok / Kiro / Gemini 等平台的全自动注册、OAuth Token 获取、积分系统与多用户管理。
部署比较复杂,不可直接食用,需要进行配置你们自己的仓库以及 hf账号密钥,以及git仓库密钥,以及 cf 的密钥~ 在就是其他的参数配置~ 建议喂给 ai 进行适配~ 小白不建议玩耍哦~
| 层级 | 技术 |
|---|---|
| 后端 | Go 1.25 / Gin / GORM / PostgreSQL |
| 前端 | Vue 3 / Vite / Pinia / TailwindCSS |
| CI/CD | GitHub Actions → GHCR Docker 镜像 + GitHub Release |
| 部署 | Docker Compose(主服务器)+ HuggingFace Space(Worker 节点) |
| 负载均衡 | Cloudflare Worker(路径前缀路由 + 保活) |
用户浏览器 ──→ Nginx (443) ──→ Vue SPA
│
└──→ Go 后端 (:8000)
│
├── TaskEngine(任务调度,弹性 Worker 池)
│ │
│ └── POST → CF Worker
│ │ 路径前缀路由
│ ├── /openai/* → HFNP 节点池
│ ├── /grok/* → HFGS 节点池
│ ├── /kiro/* → HFKR 节点池
│ └── /ts/* → HFTS 节点池
│
├── HFSpaceService(弹性管理:健康检查、扩缩容、CF 同步)
├── WebSocket(实时日志推送)
└── PostgreSQL(用户/任务/结果/积分/Space 状态)
regplatform/
├── cmd/
│ ├── server/ # 主服务入口
│ ├── openai-worker/ # OpenAI Worker 二进制(部署到 HFNP)
│ ├── grok-worker/ # Grok Worker 二进制(部署到 HFGS)
│ └── grpctest/ # gRPC-web 调试工具
├── internal/
│ ├── config/ # 配置加载(Viper)
│ ├── model/ # GORM 数据模型
│ ├── service/ # 业务逻辑(TaskEngine、HFSpaceService 等)
│ ├── worker/ # 平台 Worker 实现(OpenAI/Grok/Kiro)
│ ├── handler/ # HTTP 路由处理器
│ ├── middleware/ # JWT 鉴权、CORS、限流
│ ├── dto/ # 请求/响应数据结构
│ └── pkg/ # 内部工具库
├── web/ # Vue 3 前端
├── services/
│ ├── aws-builder-id-reg/ # Kiro 注册微服务(→ HFKR)
│ └── turnstile-solver/ # Turnstile 求解微服务(→ HFTS)
├── cloudflare/ # CF Worker 源码
├── HFNP/ # OpenAI HF Space 模板
├── HFGS/ # Grok HF Space 模板
├── HFKR/ # Kiro HF Space 模板
├── HFTS/ # Turnstile HF Space 模板
├── macmini/ # Mac Mini 本地部署配置
├── scripts/ # 部署脚本(HF Space 批量部署/弹性管理)
├── Dockerfile # 主服务容器构建
├── docker-compose.yml # 本地开发编排
└── docker-compose.prod.yml # 生产部署编排
| 平台 | 注册方式 | HF Space | Release Tag |
|---|---|---|---|
| OpenAI | Go HTTP(Sentinel PoW + PKCE OAuth + Auth0) | HFNP | inference-runtime-latest |
| Grok | Go HTTP(gRPC-web + Turnstile + Server Actions) | HFGS | stream-worker-latest |
| Kiro | Python(AWS Cognito + Camoufox 浏览器自动化) | HFKR | browser-agent-latest |
| Gemini | Python(Camoufox 浏览器自动化) | HFGM | gemini-agent-latest |
| Turnstile | Python(Camoufox + Patchright 求解) | HFTS | net-toolkit-latest |
- Go 1.25+
- Node.js 18+
- PostgreSQL 16+
- Docker & Docker Compose(生产部署)
# 1. 克隆项目
git clone https://github.com/your-username/regplatform.git
cd regplatform
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env,配置数据库连接等
# 3. 启动后端
go mod tidy
go run cmd/server/main.go
# 4. 启动前端(另一个终端)
cd web && npm install && npm run dev# 启动(含 PostgreSQL)
docker-compose -f docker-compose.prod.yml up -d- 访问
http://localhost:8000,进入登录页面 - 点击「注册」,创建第一个账号(第一个注册的用户自动成为管理员)
- 进入后台管理面板,配置系统设置(邮箱服务、验证码求解等)
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
DATABASE_URL |
是 | - | PostgreSQL 连接串 |
JWT_SECRET |
是(生产) | change-me-in-production |
JWT 签名密钥(生产环境 ≥32 字符) |
PORT |
否 | 8000 |
服务监听端口 |
GIN_MODE |
否 | release |
Gin 运行模式(debug/release) |
DEV_MODE |
否 | false |
开发模式(启用 dev-login 端点) |
ADMIN_USERNAME |
否 | 空 | 指定管理员用户名(该用户注册时自动成为管理员) |
SSO_SECRET |
否 | 空 | SSO 对接密钥(可选,用于外部系统集成) |
REDIS_URL |
否 | 空 | Redis 连接串(为空则使用内存缓存) |
JWT_EXPIRE_HOURS |
否 | 72 |
JWT 过期时间(小时) |
CORS_ORIGINS |
否 | 空 | 允许的跨域来源(逗号分隔,如 https://a.com,https://b.com;开发模式下允许所有来源) |
以下配置在管理后台「系统设置」中配置:
| 配置项 | 说明 |
|---|---|
yydsmail_base_url |
YYDS Mail 临时邮箱 API 地址(用于接收注册验证码) |
gptmail_api_key |
GPTMail 邮箱服务 API Key |
gptmail_base_url |
GPTMail 服务地址 |
turnstile_solver_url |
Turnstile 验证码求解服务地址 |
cf_bypass_solver_url |
Cloudflare Bypass 求解服务地址 |
yescaptcha_key |
YesCaptcha API Key |
openai_reg_url |
OpenAI 注册服务 URL |
grok_reg_url |
Grok 注册服务 URL |
kiro_reg_url |
Kiro 注册服务 URL |
default_proxy |
默认代理地址 |
new_user_bonus |
新用户注册赠送积分数 |
max_threads_per_user |
每用户最大并发线程数 |
max_target_per_task |
每任务最大目标数 |
- 用户通过用户名和密码注册、登录
- 密码要求:至少 8 个字符,包含大写字母、小写字母和数字
- 接口限流:注册 3 次/分钟,登录 10 次/分钟(基于 IP)
- JWT Token 认证,支持 Cookie /
X-Auth-TokenHeader /Authorization: Bearer三种传递方式 - 管理员规则:
- 第一个注册的用户自动成为管理员(
Role=100, IsAdmin=true) - 也可通过环境变量
ADMIN_USERNAME指定管理员用户名
- 第一个注册的用户自动成为管理员(
保留了 SSO 登录接口 GET /api/auth/sso,可用于与外部系统(如 New-API)集成。需配置 SSO_SECRET 环境变量。
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/auth/register |
用户注册(限流 3/min) |
| POST | /api/auth/login |
用户登录(限流 10/min) |
| GET | /api/auth/sso |
SSO 登录(可选) |
| GET | /api/auth/dev-login |
开发模式登录(仅 DEV_MODE=true 时可用) |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/auth/me |
当前用户信息 |
| GET | /api/init |
批量初始化加载 |
| POST | /api/tasks |
创建注册任务 |
| POST | /api/tasks/:id/start |
启动任务 |
| POST | /api/tasks/:id/stop |
停止任务 |
| GET | /api/tasks/current |
当前任务 |
| GET | /api/results |
注册结果列表 |
| GET | /api/results/:taskId/export |
导出结果 |
| GET | /api/credits/balance |
积分余额 |
| POST | /api/credits/redeem |
兑换码兑换 |
| GET/POST/PUT/DELETE | /api/proxies |
代理管理 |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/admin/users |
用户列表 |
| POST | /api/admin/credits/recharge |
充值积分 |
| GET/POST | /api/admin/settings |
系统设置 |
| GET | /api/admin/hf/overview |
HF Space 概览 |
| POST | /api/admin/hf/spaces/deploy |
批量部署 Space |
| POST | /api/admin/hf/spaces/health |
健康检查 |
| POST | /api/admin/hf/autoscale |
弹性管理 |
| POST | /api/admin/hf/sync-cf |
同步 CF Worker |
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /ws/logs/:taskId/stream |
SSE 实时日志 |
| GET | /ws/logs/:taskId |
WebSocket 日志 |
Worker 节点部署在 HuggingFace Space 上,通过 Cloudflare Worker 统一路由:
Go 后端 → POST → CF Worker
│ 路径前缀匹配
├── /openai/* → OPENAI_SPACES(HFNP 节点池)
├── /grok/* → GROK_SPACES(HFGS 节点池)
├── /kiro/* → KIRO_SPACES(HFKR 节点池)
└── /ts/* → TS_SPACES(HFTS 节点池)
后台管理面板提供完整的节点生命周期管理:
- Token 管理:添加/删除/验证 HF Token
- Space 管理:按服务类型和状态筛选,批量部署/删除
- 自动发现:扫描 Token 下的 Space 自动导入
- 弹性管理:自动扩缩容,健康检查,清理不可用节点
- CF 同步:自动更新 Cloudflare Worker 环境变量
push 到 main 分支后 GitHub Actions 自动构建:
| Job | 产物 | 分发方式 |
|---|---|---|
build-app |
Docker 镜像 | GHCR |
build-openai-worker |
inference-runtime.zip |
GitHub Release |
build-grok-worker |
stream-worker.zip |
GitHub Release |
build-kiro-reg |
browser-agent.zip |
GitHub Release |
build-gemini-reg |
gemini-agent.zip |
GitHub Release |
build-ts-solver |
net-toolkit.zip |
GitHub Release |
MIT License
本项目已在 LINUX DO 社区发布,感谢社区的支持与反馈。