OneClickVirt 深度分析
项目概览
Star
• 说明: 348(比 Incudal 16 和 CLICD 175 都高)
Commits
• 说明: 955(非常活跃)
许可证
• 说明: GPL-3.0
技术栈
• 说明: Go + Vue 3 + MariaDB
部署
• 说明: Docker 一键 / 源码编译
API
• 说明: ✅ 完整 REST API(Swagger 文档)+ WebSocket
多语言
• 说明: 中英文双语
MCP
• 说明: ✅ 支持 AI Agent 接入
支持的虚拟化平台(8 个!)
Proxmox VE
• 实例类型: VM + 容器
• 说明: 你正在用的
Incus
• 实例类型: VM + 容器
• 说明: LXD 继任者
LXD
• 实例类型: VM + 容器
• 说明: 传统方案
Docker
• 实例类型: 容器
• 说明: 最广泛
Podman
• 实例类型: 容器
• 说明: 无守护进程
Containerd
• 实例类型: 容器
• 说明: K8s 底层
QEMU/KVM
• 实例类型: VM
• 说明: 纯 KVM
KubeVirt
• 实例类型: VM
• 说明: K8s 虚拟化
不仅仅是开 Windows! 这个项目是一个通用虚拟化管理平台,可以管理 VM(Linux/Windows)和容器。
核心功能
- 自动 NAT 端口映射 — 支持 6 种网络类型(NAT IPv4、独立 IPv4、纯 IPv6 等)
- 流量统计 — IP 级 + 接口级精确统计,每月自动重置
- 邀请码系统 — 非公开注册,用户等级配额
- 资源限制 — 实例数/CPU/内存/磁盘/带宽/流量配额
- 镜像管理 — 自带镜像种子,支持自定义
- WebSSH + VNC — 终端和图形界面访问
- 用户管理 — 多用户、角色权限
- API 文档 — Swagger 自动生成(/swagger/index.html)
对比 PVE 商业模块
虚拟化
• OneClickVirt: PVE + 7 个其他平台
• WHMCS + proxmoxVPS: 仅 PVE
开源
• OneClickVirt: ✅ GPL-3.0
• WHMCS + proxmoxVPS: ❌ ionCube 加密
API
• OneClickVirt: ✅ 完整 REST API + Swagger
• WHMCS + proxmoxVPS: ⚠️ 有限
NAT 映射
• OneClickVirt: ✅ 自动(6 种网络类型)
• WHMCS + proxmoxVPS: ⚠️ 需手动或模块支持
流量统计
• OneClickVirt: ✅ IP 级精确统计
• WHMCS + proxmoxVPS: ⚠️ 依赖 PVE 镜像/宿主机
用户管理
• OneClickVirt: ✅ 自研
• WHMCS + proxmoxVPS: ✅ WHMCS 完整系统
计费
• OneClickVirt: ❌ 自研(简单)
• WHMCS + proxmoxVPS: ✅ WHMCS 完整计费
支付
• OneClickVirt: ❌ 无
• WHMCS + proxmoxVPS: ✅ 几十种支付网关
工单
• OneClickVirt: ❌ 无
• WHMCS + proxmoxVPS: ✅ WHMCS 工单系统
发票
• OneClickVirt: ❌ 无
• WHMCS + proxmoxVPS: ✅ WHMCS 发票系统
前端
• OneClickVirt: ✅ Vue 3 现代 UI
• WHMCS + proxmoxVPS: ⚠️ WHMCS 前端
部署
• OneClickVirt: Docker 一键
• WHMCS + proxmoxVPS: WHMCS + 模块安装
社区
• OneClickVirt: ⭐⭐⭐⭐(348 star)
• WHMCS + proxmoxVPS: ⭐⭐(ModulesGarden)
优劣势总结
优势:
- 统一管理多个平台 — 一个面板管 PVE + Docker + Incus + LXC
- NAT 自动映射 — 比 PVE 模块手动配 iptables 强太多
- 流量精确统计 — IP 级,每月自动重置
- 开源可改 — GPL-3.0,可以二开
- API 完整 — 可以对接 WHMCS 或其他系统
- 活跃开发 — 955 commits,社区比其他项目活跃
劣势:
- 不能替代 WHMCS 计费 — 没有账单/发票/支付/工单
- 独立系统 — 不是 WHMCS 插件,需要自己对接
- GPL-3.0 — 二开必须开源
- 没有 WHMCS 模块 — 需要自己写
能否替代 PVE 商业模块?
可以部分替代,但不能完全替代。
能替代的部分:
- ✅ VM 创建/删除/启停
- ✅ NAT 端口映射
- ✅ 流量统计
- ✅ 镜像管理
- ✅ 用户管理
- ✅ 资源配额
不能替代的部分:
- ❌ WHMCS 计费(账单/发票/支付)
- ❌ WHMCS 工单系统
- ❌ WHMCS 用户中心
- ❌ WHMCS 促销/优惠码
最佳方案:OneClickVirt 做虚拟化管理层,WHMCS 做计费层,通过 API 对接。
整合方案(通过 API)
WHMCS(计费)←→ OneClickVirt API(虚拟化)←→ PVE/Docker/Incus(底层)
具体做法:
- 部署 OneClickVirt 面板
- 添加 PVE 节点(它原生支持 PVE)
- 写一个 WHMCS Server Module,调用 OneClickVirt API:
- Create → 调用 OneClickVirt 创建实例
- Terminate → 调用 OneClickVirt 删除实例
- Start/Stop → 调用 OneClickVirt 启停
- GetUsage → 调用 OneClickVirt 获取流量/CPU/内存
- WHMCS 继续负责计费、账单、支付
这是目前最理想的方案:
- 保留 WHMCS 的计费优势
- 用 OneClickVirt 替代 PVE 模块的虚拟化管理
- 获得 NAT 自动映射 + 流量统计 + 多平台支持
研究 OneClickVirt 的 API 文档,然后写一个 WHMCS 对接模块。目前替换掉pve商业模块最优解。
目前用的小米模型……有没有人研究过?替换掉pve商业模块?