Commit Graph

102 Commits

Author SHA1 Message Date
Maple
d8b3d9fbdf feat: release v11.0.0 Liino — menu framework, risk guards, CI gates
Unify all menus on lib/menu.sh (run_menu), harden GPU/GRUB writes with
two-tier confirms and markers, fix remote/self-update to Releases assets,
and close real CI quality gates with SHA256SUMS. Bump to 11.0.0 / Liino.
2026-07-28 14:43:58 +08:00
Maple
dbd3888dac feat: improve bootstrap downloads for v10.2.0 2026-07-11 20:20:02 +08:00
Maple
fce2285647 fix: source each module init.sh before sibling scripts
Previously find|sort loaded all .sh files globally, so cpupower.sh (c < i)
loaded before init.sh in the same module. Now each module directory loads
init.sh first, then the remaining files in alphabetical order.
2026-07-08 15:48:14 +08:00
Maple
a2da01efe7 refactor: simplify bootstrap to download dist single file only
Remove the per-module download fallback. Now that dist/PVE-Tools.sh is
committed to the repo, the bootstrap only downloads one file.

169 lines -> 73 lines
2026-07-08 15:18:00 +08:00
Maple
a8799d7ac0 fix: add dist/PVE-Tools.sh and missing cve-fix.sh to bootstrap
- Un-ignore dist/PVE-Tools.sh so it is available on GitHub raw for the
  bootstrap loader to download directly (faster single-file path).
- Add src/modules/09-security/cve-fix.sh to remote file list so the
  fallback per-module download path is complete.
- The bootstrap now has both download paths working.
2026-07-08 15:14:17 +08:00
Maple
886e82f0cb refactor: 模块化重构 — 拆分 lib/ 基础设施层与 src/modules/ 功能模块
PVE-Tools.sh 从 ~14,700 行单文件重构为 150 行入口点,
所有函数按职责拆分到独立文件,通过 source 机制加载。

lib/ — 基础设施层(零业务逻辑)
  config.sh: 全局变量与常量
  core.sh: 日志、UI、确认、备份、GRUB、进度条
  network.sh: 网络检测、镜像选择
  runtime.sh: 运行时守卫、main() 入口

src/modules/ — 功能模块(10 个目录)
  01-optimization  02-sources  03-boot-kernel
  04-gpu-passthrough  05-vm-container  06-networking
  07-storage-disk  08-tools-about  09-security  10-third-party

新增 build.sh(合并编译)和 dev.sh(开发 source 入口),
release.yml 新增构建步骤,CI 适配模块化结构。
2026-07-08 11:15:59 +08:00
Maple
6e62bca246 fix: 修复审查机器人发现的代码问题 2026-06-20 22:44:00 +08:00
Maple
d9468189d8 feat: v9.0.0 重大更新 — 镜像源重构、CoolerControl集成、垃圾清理系统、磁盘直通增强、Web文档站移除
- 镜像源系统重构为并行数组架构,新增智能镜像选择与通用下载函数
- 新增 CoolerControl 风扇控制工具一键管理(安装/更新/卸载)
- 新增完整垃圾清理系统(基础清理、备份修剪、快照修剪、孤立磁盘扫描)
- 磁盘直通能力大幅增强(整盘发现、存储控制器直通、NVMe直通、系统盘保护)
- 新增存储挂载向导,支持 ext4/xfs 分区一键挂载
- 新增安全中心菜单,整合安全相关功能
- 主菜单重组:新增「安全中心」「第三方工具」入口,移除已修复CVE模块
- 虚拟机高级操作拆分为聚焦型子菜单
- 移除内嵌 Web 文档站点,仓库更精简
- VERSION 升级至 9.0.0
2026-06-20 22:32:22 +08:00
Maple
df967c5dd2 chore: update repo references from Mapleawaa to PVE-Tools 2026-05-16 16:19:57 +08:00
Maple
740d1a5c6e release: v8.8.8 Shell版最终版本,项目归档转向Go重构
- Shell版本定格为最终版本,main分支停止功能更新
- 项目归档声明,后续维护转向Go语言重构版(beta-go)
- 文档站新增EOL归档公告横幅和归档说明页面
- 导航栏新增"归档说明"入口
- 更新日志同步至v8.8.8
- 版本号同步提升到8.8.8,代号更新为Coluccis
2026-05-15 20:40:25 +08:00
Maple
572fc1a81b fix(换源): 修复阿里云 Ceph 镜像 404 问题并升级至 v7.7.0
- 修复阿里云换源时 Ceph 镜像指向不存在地址的 BUG,改为使用官方 Ceph 源
- 优化换源功能日志提示,明确告知用户哪些源使用镜像站、哪些沿用官方源
- 同步更新 VERSION、UPDATE、Web/update.md
2026-05-09 20:45:39 +08:00
Maple
87eaa8182e feat: 升级至 v7.6.0 并新增腾讯云/阿里云镜像源
- 将版本号更新至 7.6.0,构建代号改为 Funa
- 新增腾讯云和阿里云公网镜像源选项,分别用于 Debian/安全更新和 Debian/安全/Ceph
- 优化镜像源选择逻辑,增加输入验证和错误处理
- 更新相关文档和更新日志
2026-05-07 22:46:00 +08:00
Maple
2bd646c746 feat(网络): 添加基于 MAC 地址的网卡命名绑定功能
实现通过 systemd .link 文件按 MAC 地址固定网卡命名,避免重启或硬件变更后网卡顺序变化导致网络配置失效。新增功能包括:
- 支持创建、删除和查看 MAC 绑定
- 自动检测并清理旧式 udev 规则
- 提供冲突检测与依赖检查
- 更新 README 和界面截图
2026-05-07 22:00:13 +08:00
Maple
c20e9666a6 Merge branch 'main' of github.com:Mapleawaa/PVE-Tools-9 2026-05-05 23:54:15 +08:00
Maple
9b3b07989b fix(copy_fail): 调整漏洞修复复查流程和文案
更新 Copy Fail 漏洞处理流程,将语义从"检测/缓解"调整为"修复复查/清理",适配漏洞修复后的使用场景
修改相关菜单选项和提示文案,强调升级后复查和清理临时阻断配置的重要性
更新版本号至 7.5.0 并同步文档
2026-05-05 23:54:09 +08:00
wsu2059q
dc4cf61ddf fix: 网络配置解析中的正则表达式可能的匹配问题 确保 address、gateway 等的识别 2026-05-01 20:13:51 +08:00
wsu2059q
2d1fc78a86 fix: 修复网络配置界面输出重定向问题 2026-05-01 19:59:48 +08:00
Maple
6448760743 fix(内核管理): 修复内核同步流程误装辅助包问题并统一包名识别逻辑
修复自动更新流程误把辅助包当作最新内核的问题,避免安装 `proxmox-kernel-libc-dev` 等非内核包
统一 `proxmox-kernel-*` 和 `pve-kernel-*` 的包名识别逻辑,确保菜单展示和安装使用同一套规范
调整可用内核列表筛选规则,只保留真实内核包,排除开发包和工具包
2026-04-30 22:40:19 +08:00
Maple
85ca4268d4 feat: 添加 Copy Fail 安全处置菜单选项
新增菜单选项9用于处理 Copy Fail 安全问题,包括检测、缓解和回滚功能
2026-04-30 20:55:16 +08:00
Maple
a8955b29ce feat(安全): 新增 Copy Fail 漏洞检测与缓解功能
新增 Copy Fail (CVE-2026-31431) 漏洞检测、风险评估与缓解入口,集成到内核管理菜单。主要包含以下功能:

- 综合内核版本、changelog 证据、内核配置、模块状态及 LXC/SSH 暴露面进行漏洞状态检测
- 新增两种自动临时缓解方式:禁用 algif_aead 或禁用 authencesn
- 新增手动处理说明和临时缓解回滚入口
- 保留现有内核同步更新流程,明确说明升级不等于修复
2026-04-30 20:44:35 +08:00
Maple
b4388d8ee3 docs: 更新文档域名和SEO配置
feat(web): 添加robots.txt和og-image.png
refactor(web): 重构config.mts优化SEO和sitemap
fix(web): 修复文档页面元信息缺失问题
chore: 清理.gitignore中的冗余规则
2026-04-28 21:45:46 +08:00
Cyrker
1a391ab917 fix(UPS监控): 兼容 NUT 驱动上报的 ups.realpower.nominal 字段
部分 NUT 驱动(如 APC HID)上报的是 ups.realpower.nominal(W),
而非 ups.power.nominal(VA)。旧逻辑两处问题导致此类设备的额定/当前功率显示为 -:

1. shell grep 过滤白名单只允许 ups.realpower:,把 ups.realpower.nominal: 这行
   过滤掉了,前端拿不到数据
2. JS 解析仅读取 ups.power.nominal,缺失即认为额定功率不可用,连带
   nominal × load% 的当前功率估算也无法进行

修复后优先读取 ups.realpower.nominal,缺失时 fallback 到 ups.power.nominal,
APC Back-UPS 等通过 usbhid-ups 接入的设备可正常显示额定功率与估算的当前功率。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 17:45:20 +08:00
Maple
e46df643ce chore: 更新版本至7.2.0并修改安装指南
- 修复用户找错脚本地址的问题
- 修复脚本无法识别小数点版本的问题
- 优化UPS监控集成策略
- 简化安装指南中的命令
2026-04-27 20:29:54 +08:00
Maple
b86447ec29 docs(SSH): 添加SSH连接教程链接并创建详细文档
添加了到优化菜单的SSH教程链接,并创建了详细的跨平台SSH连接指南文档。文档涵盖了Windows、macOS、Linux、Android和iOS系统的多种连接方法,以及常见问题解决方案和安全建议。
2026-04-26 13:34:52 +08:00
Maple
a1140be40c fix(UPS监控): 修复Perl插值问题并改进UPS集成策略
- 将反引号改为qx'...'以避免Perl变量插值问题
- 统一使用双引号处理字符串提高一致性
- 更新版本号至7.1.1
- 新增UPS诊断入口并优化监控逻辑
2026-04-26 13:04:55 +08:00
Maple
fa7a2236be feat: 更新版本至 7.1.0,优化 UPS 集成策略并新增诊断功能 2026-04-25 12:35:50 +08:00
Maple
b922b9f8d7 fix: 增加一系列防止用户误操作的修复和删除试删代码 2026-04-15 23:43:58 +08:00
Maple
61a0457233 feat: 更新 UPS 服务管理为基于 NUT 的支持,优化相关功能和提示信息 Closes #77 2026-04-10 18:16:52 +08:00
Maple
5f18ffba93 feat: 升级至 v7.0.0,史诗级大重构 2026-04-06 18:29:00 +08:00
Maple
7d61f1ebeb feat: 新增第三方软件市场、离线守卫与UPS服务管理,优化NVIDIA vGPU策略
- 新增 Modules 第三方软件市场,支持元信息识别与执行前风险确认
- 新增离线模式守卫,网络不可达时展示诊断信息并要求用户确认
- 移除 NVIDIA vGPU 自动配置流程,改为全屏警告并引导至文档
- 新增 NVIDIA 驱动说明文档,解释为何不建议自动化安装
- 温度监控新增 UPS 服务管理,不启用时自动停止 apcupsd 服务
- 重构文档站主页,新增开发计划页面与时间线组件
- 更新版本至 6.8.0
2026-03-19 00:44:27 +08:00
Mapleawaa
0f2b4d0792 Merge branch 'main' of github.com:Mapleawaa/PVE-Tools-9 2026-03-09 20:52:07 +08:00
Mapleawaa
b35d842489 fix(thermal): 修复概览布局并增强硬件状态显示
- 移除温控功能对右侧 `minHeight` 的强制拉伸,解决硬盘较多时 CPU/Memory 折线图被异常拉高的问题
- 重构恢复逻辑:通过 `apt-get install --reinstall` 重装官方包,避免多次补丁后 `.bak` 文件不纯净
- 为 CPU/NVMe/SATA 温度增加颜色显示,新增 NVMe 异常断电指标,并为 SATA SMART 提供异常断电兜底显示
2026-03-09 20:52:02 +08:00
Aethersailor
115f8f06b6 fix: 采纳审查意见避免清理持有内核并收敛变量作用域 2026-03-01 22:59:21 +08:00
Aethersailor
4dc2701e97 fix: 修复内核清理漏检 proxmox-kernel signed 包 2026-03-01 22:49:27 +08:00
Mapleawaa
2fa46952e5 docs: 移除已失效的Telegram群组链接
更新脚本头部信息,删除不再有效的 t.me/pvetools9 链接,保持联系方式的准确性。
2026-03-01 16:43:29 +08:00
Mapleawaa
43f644930c fix: 修复 PVE 9.1.5 版本识别误拦截问题
- 改进版本检测逻辑,优先从 `pveversion` 输出中提取 `pve-manager/x.y.z` 格式
- 保留 dpkg-query 作为备选方案,提高版本识别的稳定性
- 修复部分 PVE 9.1.5 环境下被错误触发“非 PVE9 风险确认/拦截”的问题
- 新增 `--i-know-what-i-do` 启动参数以绕过非 PVE9 环境的安全拦截
2026-02-25 21:22:31 +08:00
Mapleawaa
8f57cfea93 feat: 新增邮件通知引导与IMG导入功能,增强非PVE9防护
- 新增邮件通知自动化引导:配置数据中心From/root邮箱、Postfix SMTP中继(支持QQ/163/Gmail/自定义),可选测试邮件与ZFS ZED邮件选项
- 新增IMG镜像导入:自动扫描指定目录下的.img文件,支持转换为qcow2/raw格式并导入到指定虚拟机与存储,可选自动挂载
- 增强非PVE9环境防护:启动时强制风险确认,并拦截换源、更新、一键优化、升级等高风险自动化操作
- 硬盘直通列表新增ATA标识列,便于区分wwn信息不直观的硬盘
- 更新CI发布流程:修复tag匹配条件,改为push tag后自动创建GitHub Release
- 新增赞助页面(.github/FUNDING.yml、Web/sponsor.md)和NOTICE文件
- 更新TOS与ULA文档,拆分页面并优化内容
- 更新README中的文档链接与公告信息
- 删除不再需要的commits_full_with_files1.txt文件
2026-02-22 18:37:27 +08:00
Mapleawaa
0319ca8fcd chore: 更新版本号至6.5.0并同步更新日志
更新 VERSION 文件及脚本中的版本标识为 6.5.0。
同步 UPDATE 文件和更新日志,以反映新版本特性,主要包括新增 NVIDIA 显卡管理功能、优化无 GPU 环境交互以及添加许可同意界面。
2026-02-22 15:59:40 +08:00
Mapleawaa
fcc9ac93b1 feat: 新增法律条款与 NVIDIA GPU 管理功能
- 添加 TOS(服务条款)和 ULA(最终用户许可)文档,并更新导航配置
- 更新项目许可证为 LGPLv3
- 新增脚本启动时的法律条款确认机制
- 实现完整的 NVIDIA GPU 管理功能,包括直通、vGPU、驱动信息与切换
2026-02-22 15:54:36 +08:00
Mapleawaa
c9a059f562 feat: 新增磁盘/控制器/NVMe直通工具箱与引导配置辅助
新增RDM单盘直通功能,支持从/dev/disk/by-id/自动发现可直通整盘,并提供插槽可用性检查与--delete取消直通选项。新增控制器直通功能,可扫描SATA/SCSI/RAID控制器并展示其下磁盘映射,直通前自动检查IOMMU状态。新增关键安全机制,自动识别并拦截包含PVE系统盘的控制器直通,避免宿主机崩溃。新增NVMe直通功能,识别NVMe控制器并支持按需写入MSI-X重定位参数以提升兼容性。新增引导配置辅助,识别直通磁盘的UEFI/Legacy类型,并给出VM固件类型、机器类型与启动顺序建议。更新主菜单以集成新功能模块,并提升版本号至6.4.0。
2026-02-22 14:42:50 +08:00
GitHub Action
0110ba8c2a chore: update version to 6.3.1 2026-02-08 12:49:32 +00:00
Mapleawaa
61d560c94f feat: 自动移除 i915 及音视频驱动黑名单
在配置 iGPU SR-IOV 和 GVT-g 时,自动从 modprobe 配置文件中移除 i915、snd_hda_intel 和 snd_hda_codec_hdmi 的黑名单限制,确保相关驱动能正常加载。
2026-02-08 20:47:38 +08:00
Mapleawaa
36835fce16 chore: 更新版本号至 v6.3.0 并修复文档链接
1. 同步更新 VERSION 文件、主脚本及更新日志中的版本号为 6.3.0。
2. 修复文档中 Proxmox 官方链接缺少协议头的问题。
3. 在 VitePress 配置中启用 ignoreDeadLinks 以忽略死链检查。
2026-02-07 19:45:30 +08:00
Mapleawaa
f4482ce376 refactor: 重构 UI 视觉系统并升级颜色兼容性
1. 重构颜色初始化逻辑,支持 TTY 自动检测,通过 printf 定义 ANSI 变量以增强兼容性
2. 统一全脚本 UI 视觉风格,引入 UI_BORDER、UI_DIVIDER 等常量并优化色彩层级
3. 针对核显虚拟化及系统信息模块强化视觉警告提示,提升 noVNC 等终端的显示效果
4. 更新项目文档(核显直通、SR-IOV、PVE 升级教程)并修正脚本下载命令
5. 版本号升级至 v6.2.1
2026-02-07 19:40:25 +08:00
Mapleawaa
74f78c83b9 docs: 更新高级教程并集成 Giscus 评论系统
- 在文档站新增 CPU 调优、PVE 8 升 9、存储管理三篇深度教程
- 集成 Giscus 评论组件,支持在文档底部进行留言反馈
- 优化 PVE-Tools 脚本提示,增加指向详细文档的链接
- 在 PVE 升级流程中增加自动备份核心数据库的操作
2026-02-07 00:56:28 +08:00
Mapleawaa
dca31970c9 feat: 新增虚拟机与容器定时开关机管理功能
- 在脚本中新增定时任务管理菜单,支持对 qm 和 pct 进行自动识别与配置
- 实现基于 /etc/cron.d/ 的幂等配置管理,支持自定义开关机时间并自动重启服务
- 文档网站新增脚本下载源切换功能,支持多线路(Cloudflare/GitHub/CDN)选择
- 优化文档网站视觉效果,为标题及页脚添加渐变色与颗粒感质感
- 更新版本号至 6.2.0 并同步构建脚本与统计配置
2026-02-07 00:00:01 +08:00
Mapleawaa
dbf62340b3 refactor: 重构脚本菜单结构并引入 VitePress 文档
1. 重新组织 PVE-Tools.sh 的主菜单及二级菜单分类,使功能逻辑更清晰
2. 在 Web/ 目录下引入基于 VitePress 的官方文档,并优化构建脚本
3. 增强脚本更新提示界面,支持显示详细的 Markdown 格式更新日志
4. 修复 .gitignore 中路径匹配的格式问题
5. 在脚本中新增大量“图吧”风格的随机小贴士,提升用户体验
2026-02-06 22:28:54 +08:00
Mapleawaa
543e4b11b4 feat: 新增 Web 官方文档并优化脚本配置管理
1. 在 Web 目录下基于 VitePress 构建了全新的官方文档,包含使用指南、功能特性及 FAQ。
2. 为脚本新增了配置块安全管理函数 (`apply_block`, `remove_block`),支持带标记的幂等修改。
3. 引入了 GRUB 参数幂等管理函数,实现对 `/etc/default/grub` 配置的精准增删。
4. 优化了核显虚拟化 (SR-IOV/GVT-g) 的配置逻辑,自动处理驱动冲突并增强兼容性。
5. 更新了 `.gitignore` 以适配 VitePress 项目,并修正了部分脚本逻辑漏洞。
2026-02-06 22:28:39 +08:00
Mapleawaa
da52a04a27 feat: 优化 iGPU SR-IOV 配置以兼容 PVE 9.1 Closes #65
在 GRUB 参数中添加 module_blacklist=xe,防止 6.8+ 内核中新的 xe 驱动与 i915 驱动冲突,确保 SR-IOV 功能在 PVE 9.1 环境下正常运行。
2026-02-03 16:45:39 +08:00
Mapleawaa
6d6878557a fix: 优化磁盘休眠检测逻辑并更新版本
1. 在磁盘休眠检测中增加对 SAS 协议的判断,避免对 SAS 盘使用 hdparm 导致误报。
2. 将版本号从 6.0.0 升级至 6.0.1。
2026-01-20 19:37:33 +08:00