Repository navigation
Releases
Releases · yjscloud/pvecenter
v0.5.0
本版完成项目更名为 pvecenter,并把证书管理升级为多厂商、ACME 与托管证书的完整签发 / 续期 / 多目标部署流水线。
主要更新
- 品牌统一:服务名、包名、镜像、环境变量、日志与安装目录统一为
pvecenter - 证书管理:腾讯云、阿里云、华为云免费证书,自有 ACME(泛域名 / 多域名)与手动上传的托管证书
- 自动续期:
sync → decide → issue / deploy / drop / notice流水线,失败退避、到期提醒与步骤耗时日志 - 多目标部署:本机目录、SSH 服务器、PVE 虚拟机(Guest Agent)、LXC 容器、PVE 节点(API 上传并重启 pveproxy)
- 站点管理:站点模板、证书清单、批量部署、状态同步与多目标编辑
- 修复:改名后旧 KDF 密文自动回退解密,PVE Token / SSH 私钥 / SMTP 口令 / TOTP 种子不再失效
- 文档:README 新增界面预览、功能截图与搜索关键词,更新社交预览图
发布后补入(2026-11-08)
- 新增:终端控制台「同步尺寸到客户机」 —— 虚拟机的终端模式走 serial0,串口不传窗口尺寸,客户机
ttyS0固定 80×24,vim/top这类全屏程序只能占左上角。终端工具栏新增按钮,确认后按当前网格执行stty rows X cols Y;它走输入通道,所以会先确认终端停在 shell 提示符上。 - 修复:控制台全屏只铺满一部分 —— 不再依赖
:fullscreen撑元素(Safari 与内嵌 WebView 会拒绝普通元素全屏),改由面板自己把外壳固定到视口;进出全屏后重新量尺寸,终端重算行列、VNC 重新缩放。 - 修复:多 PVE 下从链接建模板报
hostname lookup——download-url的节点在 JSON body 里,路由级按查询参数绑定连接的依赖取不到,请求落到「面板当前连接」。前端带上目标连接,后端按 body 里的节点补一次绑定。 - 文档:README 中英双语重写 —— 命令、配置项与结论一条没少,篇幅压掉约三成;补齐八个此前缺失的功能小节,并改掉配额与告警通道的过时说法。
完整变更见 CHANGELOG。
v0.4.4
修复「从 cloud 镜像建的模板开机停在 Boot failed: not a bootable disk」:Ubuntu 官方云镜像的 .img 实际是 qcow2,PVE 会按裸盘整块复制,系统盘第一扇区没有引导签名。现在上传时按文件头识别容器格式并校正后缀(.img → .qcow2),建模板前还会给出风险提示与预检。
新增「从链接下载镜像」:模板向导里填 URL,由 PVE 自己下载到所选存储的 import 目录,下完自动选为镜像来源。
详见 CHANGELOG.md。
v0.4.3
批量下发
- 一次最多 50 台,走
POST /api/vms/batch与/api/lxc/batch;每台仍复用单台创建的同一套逻辑,归属、审计、通知、创建时间保持一致。 - 批量命名模板
{name}/{i}/{i:02},展开结果实时预览;空名、重名在提交前拦住。 - 受理后按每台 UPID 并行轮询 PVE 任务,逐台显示成功 / 失败与原因;失败项不自动重试。
- 批量静态地址:按所选网段的空闲表逐台预填,可逐台修改;空地址、重复地址会报出具体台号;附加网卡固定 DHCP。
batch_id幂等:同一账号重复提交同一个键直接返回上次结果。
其它
- 创建入口合并为「快速 / 自定义」双模式,默认快速部署;管理员尚未定义规格时自动退回自定义。
- 配额读数区分作用域:管理员看到全平台护栏,普通用户只看到自己名下那一份。
安全
- 验证码接口按来源 IP 令牌桶限流。
- 飞书回调校验签名与时间戳,并对重复事件去重。
- 告警投递按规则与机器归属收紧,读不到账号表时只发给自己。
- 登录并发会话设上限,超出时撤销最旧的会话。
/api未知路径改为登录后才回 404,已存在的路径正确返回 405 +Allow。
v0.4.2
这一版以手机端可用性为主,顺带把首屏体积压了一截。
修复
- 手机上侧边栏打不开:顶栏左右两栏抢宽,汉堡按钮的位置被右侧那一排盖住,点上去命中的是状态点
- 任一渲染错误都会变成整页白屏:兜底页自己也要取词,二次抛错把原始错误一起吞掉
- 虚拟机 / 容器列表的「更多操作」被裁掉大半、点不中(操作列宽按桌面的 32px 按钮算,触屏放不下五个)
- 控制台状态弹层在窄屏超出屏幕,左侧内容被截断
- 手机抽屉继承了桌面折叠偏好,只剩一列图标
- 容量预测卡标题被挤成一列单字、图表位置空出一大块
新增
- 移动端控制台按键条:Esc / Tab / 方向键 / Ctrl+C / Ctrl+D / Enter 一键发送,VNC 另可唤起系统软键盘
变更
- 词条按路由拆包,随页面按需加载(中英各 9 份)
- 仪表盘图表懒加载,recharts(约 390KB)移出首屏
- 登录页背景 PNG → WebP:1.5MB → 约 32KB
- 移动端安全区、16px 输入框、触控目标与 hover 常显等整体适配
完整记录见 CHANGELOG.md。
v0.4.1
亮点
- SSH 安全页不再每次打开都等一轮采集:前端缓存 5 分钟、保留 30 分钟;后端给本机日志与多机汇总加 2 分钟缓存和并发去重(多人同时打开只采一轮);「刷新 / 立即检测」带
refresh=1强制重采。加载态只跟随当前作用域,看本机数据不必再等远程主机的 SSH。 - 告警页补上日常操作:规则可按名称 / 目标 / 归属 / 指标搜索,支持一键全部启用 / 停用(只作用于自己有权修改的规则);「当前告警」底部显示未展开的条数,并可一键跳到完整历史。
- 安全基线服务器区默认列表视图:横向比对分数与不合格项比翻卡片快;加载骨架跟随视图,不再「卡片闪一下再变表格」。手动选过卡片视图的保持原样。
- 仪表盘:页头显示「更新于 xx」,从后台切回且数据已过期时自动刷新一次;KPI 卡新增迷你趋势线;资源分布可点进客户机列表并带上筛选。
修复
- 容量预测图只画了面积,投影虚线与容量上限参考线不出现。
- 归属指派后额度读数没有失效,被改派的人仍看到旧余量。
- 本地可撤销的删除(告警规则)仍提示「不可撤销」。
其他
- 图表配色统一到
CHART_TOKENS,随主题切换;容量预测图补上加载失败重试与读屏摘要。
完整记录见 CHANGELOG.md。
v0.4.0
归属与安全数据边界
- 归属变更收敛到
ownership.transfer_*/forget_user:连带清快照标记、搬活动告警、复核穿透规则、作废缓存,审计保留previous - 批量指派(逐台鉴权、失败可重试)与指派理由(写审计);备份归属对账(只读)
- 备份生效归属改为「机器归属优先」;告警收件人要求「账号可用」;穿透规则按
guest_ref复核,改派即失效,可 relink - 指派弹窗统一(列表 / 详情一致):会跟随 · 不会跟随清单、改派二次确认、连带处理明细
性能与实时数据
- 指标 / 任务 WebSocket 改为单例采集 hub,多标签页共享一份数据
- 仪表盘汇总一条顶三条;列表支持轻量字段与 limit;快照页一次服务端汇总
- 限流合并数据库往返;metrics 查询恢复索引;新增
X-PVE-Calls/X-DB-Queries响应头 - 前端表格行 memo、曲线抽稀、WS 日志批处理、轮询错峰
修复
- 列表页指派缺少清单 / 理由 / 二次确认;批量指派接口未拦空用户名(可绕过批量清归属)
- 受管主机改派补理由与二次确认;多套 PVE 同号 VMID 不再串归属
- 改派提示不再断言「谁会失去可见性」;补 i18n 占位符校验
v0.3.9
新增
- 对象级鉴权统一:控制台、整盘导出、重装、备份、模板转换、vm-meta、任务日志统一按「这台机器归谁」判定,此前换成别人的 VMID 就能接管。
- 归属改派弹窗统一:虚拟机与容器共用一套,容器详情页补上了此前只在列表里才有的「指派归属」。
- 权限选择器按角色适用性置灰:不再出现「勾了不生效」。
- 跨连接定位优化:缓存「未命中」并对并发探测做单飞,批量打开无归属机器更快。
安全
- 授权链收紧:持
users.manage的账号不能再自我提权为 admin、不能重置超管密码、不能授予超出自己的权限;角色编辑与删除同样受限。 - 集群级列表接口按归属裁剪:
/cluster/resources、/cluster/tasks、/backups/stats、/storages/content不再泄露他人机器名、VMID、备份失败明细与存储卷名。 - 证书部署的 reload 命令不再经过 shell:仅允许
nginx/systemctl/caddy等(可加sudo前缀),复合命令在保存时即被拒绝。 - IP 地址池改为按归属合并写:非管理员不能改他人地址池、不能转赠归属、不能靠整表覆盖删掉别人的池。
- 控制台中转文件:作废只允许上传者本人或管理员。
升级注意
- 已有站点的重载命令若写成
systemctl reload nginx && echo ok这类复合命令,需要改成单条。 - 普通用户看到的备份成功率、任务列表、存储内容改为「自己名下机器」口径,数字变小属预期。
- 被委派的用户管理员只能管理权限不高过自己的账号(委派角色需带上被管理用户的权限集)。
v0.3.8
新增
- 告警通知模板按指标分页签:邮件与飞书模板拆成内存 / CPU / 硬盘 / 离线 / 备份五个页签,各页签独立编辑与试发送,发信时按触发的指标取对应模板;旧模板自动平铺,另留
*兜底。 - frp 真实 IP 接入指南:新增
docs/frp-real-ip.md,从 PROXY protocol v2 原理讲到入口机 haproxy 安装配置、frpc 代理写法、面板登记受管主机与排错步骤。
变更
- 虚拟机磁盘使用率与用量改为整机总量(累加真实文件系统),不再取最满分区。
- 审计日志关键词搜索移到服务端,可按来源 IP 全量匹配;详情改为行内展开。
修复
- SSH 真实来源还原补全:远程主机的失败来源、「主机登录审计」页的 last / lastb 明细此前都不还原,现在都会按时间对应入口机 haproxy 日志换回真实 IP;配不上的标
unresolved_from并在来源列显示「未还原」。 - 日志回溯改为跟随统计窗口按需加深(上限 24 小时),不再固定 6 小时。
- 每轮导入回填最近 24 小时内「来源还是入口机」的审计记录。
v0.3.7
新增
- 维护模式:设置页新增整站停服开关与维护公告(可预览)。开启后普通用户无法登录、所有接口返回 503 并落到公告页,WebSocket 一并断开;管理员不受影响,维护结束自动恢复正常。
- 告警通知内容模板:邮件主题 / 正文、飞书卡片正文可自定义,内置 17 个变量,支持用未保存的模板试发送一条样例。留空仍用内置文案。
- 告警推送来源开关:八类来源可单独关闭推送;关闭后该类告警不推送、不进历史、不计入工作台待办。
- SSH 入口机多主机映射自动发现:自动读取入口机 haproxy 配置完成地址映射,只需填
SSH_FORWARD_LOG_HOST,无需逐台配置。
变更
- 面板级配置(飞书机器人、AI 配置、告警推送开关)收紧为仅超级管理员可改。
- 告警页重新分组,告警历史支持服务端搜索、排序与分页。
- 重复提醒也写入告警历史并单独标记,历史条数与实际发信次数一致。
修复
- 修复预览维护公告页时页面反复刷新的问题。
- 修复维护期间登录页被误跳回控制台的问题。