Commit Graph

232 Commits

Author SHA1 Message Date
Maple
d6ca27b0a3 chore: bump version to v10.2.2 v10.2.2 2026-07-26 13:40:35 +08:00
CyreneNight
cfac1693d1 Merge pull request #92 from PVE-Tools/10.2.1
chore: bump version to v10.2.1
2026-07-26 13:39:48 +08:00
Maple
937ba82e56 fix(it87): 锁定 IT87_REPO_REF 为 PGP 签名提交 SHA,改用 git init+fetch 支持 SHA
- config.sh: IT87_REPO_REF 设为 81ae4a610ea763fa7f8cd195e712c41f33207264
- it87_install_dkms/it87_install_direct: git clone --branch → git init + fetch
  避免 git clone --branch 不支持任意 commit SHA 的问题
2026-07-26 13:34:32 +08:00
Maple
56188182cb fix(it87): 添加 backup_file 备份、mktemp 临时目录、DKMS 格式兼容及 read -r
Inline fixes:
- it87_read_fan_rpm: 添加 rpm 为 local 变量,((count++)) → ((++count))
- it87_detect_version: grep/awk 兼容逗号和斜杠分隔的 dkms status
- it87_install_dkms: 清理时同时移除精确克隆目标
- it87_disable_autostart/it87_uninstall: 修改配置前调用 backup_file

Nitpick fixes:
- config.sh: 添加 IT87_REPO_REF 锁定克隆版本
- it87_install_dkms/it87_install_direct: clone 命令支持 --branch
- it87_install_direct: /tmp/it87-build → mktemp -d
- 所有 read 命令添加 -r 参数(SC2162)
2026-07-26 13:29:39 +08:00
CyreneNight
91f13d23a2 Merge branch 'main' into 10.2.1 2026-07-26 13:15:07 +08:00
CyreneNight
3fbb5017d8 Delete dist directory 2026-07-26 13:13:59 +08:00
Maple
034b184730 chore: bump version to v10.2.1 2026-07-26 13:13:07 +08:00
CyreneNight
660fbc9e31 Merge pull request #91 from PVE-Tools/beta-v10.2
feat: improve bootstrap downloads for v10.2.0
2026-07-11 20:31:47 +08:00
Maple
dbd3888dac feat: improve bootstrap downloads for v10.2.0 2026-07-11 20:20:02 +08:00
Maple
e1341b26ba chore: bump version to v10.1.0 2026-07-08 15:56:55 +08:00
CyreneNight
e0ca8555c5 Merge pull request #90 from PVE-Tools/beta-v10
Fix version comparison and streamline bootstrap file downloads
2026-07-08 15:55:31 +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
1520744bc9 fix: strip pre-release suffix in version comparison
sort -V treats "-beta" suffix as lexicographically greater than plain
version, causing 10.0.0-beta to appear newer than 10.0.0.
Strip -beta/-alpha/-rc before comparing to fix this.
2026-07-08 15:06:40 +08:00
CyreneNight
efb1d0804d Merge pull request #89 from PVE-Tools/beta-v10
Bump version to v10.0.1 and add CVE fixes and enhancements
2026-07-08 15:01:15 +08:00
Maple
c932028f5b chore: update docs, images, CI configs and script initialization hints
- lib/core.sh: update script initialization prompts
- intel-sriov/intel-legacy/intel-gvtg/nvidia: minor refinements
- Docs: update README, CLAUDE.md and images
- CI: sync beta-release and release workflow configs
- self-update: update version check logic
2026-07-08 14:36:37 +08:00
Maple
389536dfcc fix: cve-fix.sh - remove double pause, idempotent blacklist, drop_caches gating
- Remove pause_function from all leaf action functions (menus handle it)
- Module blacklist: trailing newline guard before appending
- rmmod_and_drop_caches: only flush when modules actually unloaded
- Batch mitigation: check grub_add_param and update-grub return values
- Final message reflects actual success/failure state
2026-07-08 14:22:22 +08:00
Maple
94ca8d142d fix: cve-fix.sh hardening - idempotency, error checks, read -r, kernel detection
- module blacklist: idempotent dedup + write error checks + caller return gating
- module restore: rm error check before success log
- GRUB update-grub/grub-mkconfig: fail closed on all 3 call sites
- menu reads: read -p -> read -rp (SC2162)
- kernel detection: build date is heuristic only, handle unknown state (rc=2)
2026-07-08 14:17:20 +08:00
Maple
74cc60176c feat: add Copy Fail and Dirty Frag LPE fixes 2026-07-08 14:04:57 +08:00
Maple
9d3b17daed feat: v10.0.1 — 安全中心新增 CVE 漏洞修补 (Januscape CVE-2026-53359)
新增 src/modules/09-security/cve-fix.sh:
- 漏洞检测:嵌套虚拟化状态 + 内核版本综合评估
- 临时修补:grub_add_param 禁用 kvm_intel/kvm_amd 嵌套虚拟化
- 升级内核修补:引导至内核管理模块安装已修复内核
- 恢复嵌套虚拟化:grub_remove_param 移除禁用参数
- CVE 修补主菜单:集成到安全中心第 3 项

Januscape 是 KVM/x86 shadow MMU use-after-free 漏洞,影响 2010~2026 全部内核版本
修复参考: https://github.com/V4bel/Januscape
2026-07-08 13:57:16 +08:00
Maple
b4b53a8723 chore: bump version to v10.0.0 v10.0.0 2026-07-08 13:47:51 +08:00
CyreneNight
b1c83cad0e Merge pull request #88 from Mapleawaa/beta-v10
Fix release issues and improve code quality for v10.0.0-beta
2026-07-08 13:45:22 +08:00
Maple
1fc80ec3ca fix: cpupower 安全写入与 upgrade-pve 强制升级确认加固
- cpupower.sh: modprobe 失败时跳过驱动写入;backup_file 失败时中止;tmpf 添加 local 并检查 mktemp
- upgrade-pve.sh: 强制升级的 y/N read 替换为 confirm_high_risk_action (FORCE-UPGRADE)
2026-07-08 13:41:21 +08:00
Maple
413f0e0e66 fix: 修复审查机器人第二轮反馈 — 回归问题与遗漏边界
- upgrade-pve.sh: 拆分 apt update && dist-upgrade 短路逻辑为独立检查
- intel-legacy.sh: dpkg -i 失败时不再误报成功/锁定包
- cpupower.sh: /etc/modules 备份守卫改用布尔标志,避免重复备份
- popup.sh: 移除 restore_proxmoxlib 中与 reinstall 内部重复的日志
- iommu.sh: disable_pass 添加 /etc/modules backup_file;grub_add_param 失败时 early return
- init.sh(08): backup_file 失败时中止黑名单清理并提示
2026-07-08 13:34:34 +08:00
Maple
0b0b20ed5e fix: 修复审查机器人发现的代码问题 — 安全规范与代码质量
- GRUB管理: raw sed 替换为 grub_add_param/grub_remove_param 幂等助手 (iommu/igpu-shared)
- 高风险确认: 9处 ad-hoc read/confirm_action 统一替换为 confirm_high_risk_action
- 配置备份: sysfs.conf/etc/modules/pve-blacklist.conf 修改前添加 backup_file()
- 临时文件安全: 5处硬编码 /tmp 路径替换为 mktemp (intel-legacy/cpupower/ssh-hardening)
- Bug修复: snapshot 后置自增双计数、grub return 0 掩盖失败、firewall stderr 重定向
- 变量作用域: cpupower GOVERNOR 泄漏与重置、backup/snapshot local -a vmids
- 跨模块依赖: tunes/img-import/init.sh 添加注释或替换为同模块函数
- CI增强: pr-validation 新增 dist/PVE-Tools.sh shellcheck 步骤
- 守卫添加: cpu_add() 添加 block_non_pve9_destructive + confirm_high_risk_action
2026-07-08 13:12:28 +08:00
CyreneNight
52695054b4 Merge pull request #87 from Mapleawaa/main
Refactor PVE-Tools.sh into modular structure with CI updates
2026-07-08 12:36:46 +08:00
Maple
107cc85507 fix(release): 修正安装命令格式和域名 2026-07-08 12:01:49 +08:00
Maple
4bd11dafc3 chore(release): 移除二进制编译,只发布原始 Shell 脚本 v10.0.0-beta4 2026-07-08 11:53:02 +08:00
Maple
fda4ee7d9d fix(release): 用 ssc 替代 shc,pipe 模式无 ARG_MAX 限制 2026-07-08 11:49:51 +08:00
Maple
b12179b084 fix(release): shc 静态编译解决 glibc 版本不匹配问题
- release.yml: CFLAGS=\

Signed-off-by: Maple <Mapleawa07@outlook.com>
v10.0.0-beta2
2026-07-08 11:45:32 +08:00
Maple
747bef9808 chore: bump version to v10.0.0-beta for release test v10.0.0-beta 2026-07-08 11:38:44 +08:00
CyreneNight
a599a0f190 Merge pull request #1 from Mapleawaa/beta-v10
Beta v10
2026-07-08 11:32:24 +08:00
Maple
78b8891794 chore: 移除 Playwright MCP 临时文件,添加到 .gitignore
清理 .playwright-mcp/ 工作区临时文件并加入 gitignore,
防止开发过程中的临时测试文件被意外跟踪。
2026-07-08 11:18:26 +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
CyreneNight
d9cd6ee39e Merge pull request #86 from Mapleawaa/main
feat: v9.0.0 重大更新 — 镜像源重构、CoolerControl集成、垃圾清理系统、磁盘直通增强、Web文档站移除
2026-06-20 22:51:15 +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
dec829cae5 docs: 修复README.md中的格式和占位内容
1. 移除了多余的数字占位符4
2. 修正了警告块的Markdown语法格式
2026-06-20 17:01:12 +08:00
Maple
ee64dc2c80 Merge branch 'main' of github.com:PVE-Tools/PVE-Tools-9 2026-06-20 17:00:31 +08:00
Maple
5aabc20cea docs: 更新站点logo与README内容
1. 更新vitepress配置中的站点logo为svg版本
2. 替换README中原停更公告为恢复更新公告
3. 调整README中原项目介绍文本与注释格式
2026-06-20 16:59:03 +08:00
CyreneNight
c755fa0953 Update README with Go version migration details 2026-05-23 18:43:21 +08:00
CyreneNight
846f7c7794 Revise Shell version update announcement
Updated caution notice regarding Shell version updates.
2026-05-23 18:41:11 +08:00
Maple
f658b9a2b8 docs: add Telegram group link and update README content
1. 新增官方Telegram群信息到赞助页面和页脚、README
2. 调整README中关于项目停更的描述,改为暂缓开发而非终止
3. 移除冗余的Go重构警告提示
2026-05-22 21:24:46 +08:00
Maple
df967c5dd2 chore: update repo references from Mapleawaa to PVE-Tools 2026-05-16 16:19:57 +08:00
CyreneNight
93737b4497 Announce transition from Shell to Go version
Updated README to announce the end of Shell version updates and the transition to a Go-based version.
2026-05-15 20:41:58 +08:00
CyreneNight
0ab5174226 Update README with Shell version maintenance notice
Announce the end of new feature development for the Shell version and introduce the Go version reconstruction plan.
2026-05-15 20:41:23 +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
CyreneNight
dd0ef027ac Revise project status warning in README
Updated warning message regarding project rewrite in Go.
2026-05-13 12:30:06 +08:00
CyreneNight
f3b31e90c2 Fix warning message formatting in README.md 2026-05-13 12:29:37 +08:00