Skip to content

Releases

v0.5.0

Choose a tag to compare

@yjscloud yjscloud released this 06 Nov 10:07

本版完成项目更名为 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

Choose a tag to compare

@yjscloud yjscloud released this 05 Nov 09:29

修复「从 cloud 镜像建的模板开机停在 Boot failed: not a bootable disk」:Ubuntu 官方云镜像的 .img 实际是 qcow2,PVE 会按裸盘整块复制,系统盘第一扇区没有引导签名。现在上传时按文件头识别容器格式并校正后缀(.img → .qcow2),建模板前还会给出风险提示与预检。

新增「从链接下载镜像」:模板向导里填 URL,由 PVE 自己下载到所选存储的 import 目录,下完自动选为镜像来源。

详见 CHANGELOG.md。

v0.4.3

Choose a tag to compare

@yjscloud yjscloud released this 04 Nov 10:41

批量下发

  • 一次最多 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

Choose a tag to compare

@yjscloud yjscloud released this 03 Nov 13:07

这一版以手机端可用性为主,顺带把首屏体积压了一截。

修复

  • 手机上侧边栏打不开:顶栏左右两栏抢宽,汉堡按钮的位置被右侧那一排盖住,点上去命中的是状态点
  • 任一渲染错误都会变成整页白屏:兜底页自己也要取词,二次抛错把原始错误一起吞掉
  • 虚拟机 / 容器列表的「更多操作」被裁掉大半、点不中(操作列宽按桌面的 32px 按钮算,触屏放不下五个)
  • 控制台状态弹层在窄屏超出屏幕,左侧内容被截断
  • 手机抽屉继承了桌面折叠偏好,只剩一列图标
  • 容量预测卡标题被挤成一列单字、图表位置空出一大块

新增

  • 移动端控制台按键条:Esc / Tab / 方向键 / Ctrl+C / Ctrl+D / Enter 一键发送,VNC 另可唤起系统软键盘

变更

  • 词条按路由拆包,随页面按需加载(中英各 9 份)
  • 仪表盘图表懒加载,recharts(约 390KB)移出首屏
  • 登录页背景 PNG → WebP:1.5MB → 约 32KB
  • 移动端安全区、16px 输入框、触控目标与 hover 常显等整体适配

完整记录见 CHANGELOG.md。

v0.4.1

Choose a tag to compare

@yjscloud yjscloud released this 31 Oct 09:52

亮点

  • SSH 安全页不再每次打开都等一轮采集:前端缓存 5 分钟、保留 30 分钟;后端给本机日志与多机汇总加 2 分钟缓存和并发去重(多人同时打开只采一轮);「刷新 / 立即检测」带 refresh=1 强制重采。加载态只跟随当前作用域,看本机数据不必再等远程主机的 SSH。
  • 告警页补上日常操作:规则可按名称 / 目标 / 归属 / 指标搜索,支持一键全部启用 / 停用(只作用于自己有权修改的规则);「当前告警」底部显示未展开的条数,并可一键跳到完整历史。
  • 安全基线服务器区默认列表视图:横向比对分数与不合格项比翻卡片快;加载骨架跟随视图,不再「卡片闪一下再变表格」。手动选过卡片视图的保持原样。
  • 仪表盘:页头显示「更新于 xx」,从后台切回且数据已过期时自动刷新一次;KPI 卡新增迷你趋势线;资源分布可点进客户机列表并带上筛选。

修复

  • 容量预测图只画了面积,投影虚线与容量上限参考线不出现。
  • 归属指派后额度读数没有失效,被改派的人仍看到旧余量。
  • 本地可撤销的删除(告警规则)仍提示「不可撤销」。

其他

  • 图表配色统一到 CHART_TOKENS,随主题切换;容量预测图补上加载失败重试与读屏摘要。

完整记录见 CHANGELOG.md。

v0.4.0

Choose a tag to compare

@yjscloud yjscloud released this 31 Oct 08:40

归属与安全数据边界

  • 归属变更收敛到 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

Choose a tag to compare

@yjscloud yjscloud released this 28 Oct 06:22

新增

  • 对象级鉴权统一:控制台、整盘导出、重装、备份、模板转换、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

Choose a tag to compare

@yjscloud yjscloud released this 27 Oct 01:57

新增

  • 告警通知模板按指标分页签:邮件与飞书模板拆成内存 / 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

Choose a tag to compare

@yjscloud yjscloud released this 25 Oct 12:54

新增

  • 维护模式:设置页新增整站停服开关与维护公告(可预览)。开启后普通用户无法登录、所有接口返回 503 并落到公告页,WebSocket 一并断开;管理员不受影响,维护结束自动恢复正常。
  • 告警通知内容模板:邮件主题 / 正文、飞书卡片正文可自定义,内置 17 个变量,支持用未保存的模板试发送一条样例。留空仍用内置文案。
  • 告警推送来源开关:八类来源可单独关闭推送;关闭后该类告警不推送、不进历史、不计入工作台待办。
  • SSH 入口机多主机映射自动发现:自动读取入口机 haproxy 配置完成地址映射,只需填 SSH_FORWARD_LOG_HOST,无需逐台配置。

变更

  • 面板级配置(飞书机器人、AI 配置、告警推送开关)收紧为仅超级管理员可改。
  • 告警页重新分组,告警历史支持服务端搜索、排序与分页。
  • 重复提醒也写入告警历史并单独标记,历史条数与实际发信次数一致。

修复

  • 修复预览维护公告页时页面反复刷新的问题。
  • 修复维护期间登录页被误跳回控制台的问题。

v0.3.6

Choose a tag to compare

@yjscloud yjscloud released this 25 Oct 04:06

更新内容:

  • 新增「区域管理员」角色,可管理指派区域内的全部虚拟机/容器,不能管理用户与全局配置
  • 节点可见性:支持按用户/角色授权,特殊项目节点可对普通用户隐藏;创建时服务端强校验节点
  • 审计日志按用户隔离:非管理员只能看到自己的记录
  • SSH 审计还原真实来源 IP(frp/haproxy 场景)
  • FRP 公网端口区间可由管理员设置
  • 创建向导先选区域再选节点
  • Python 3.11+ 版本守卫与多项安全加固