Skip to content

Releases: Lannamokia/vhdmount

1.7.5

Choose a tag to compare

@Lannamokia Lannamokia released this 22 Jun 01:45

VHD Mounter 1.7.0 → 1.7.5 Release Notes

发布周期:2026-04-23 → 2026-06-22


1. 新增功能

软件远程部署

  • 支持从管理端向机台下发 ZIP 软件包,机台自动下载、验证并执行安装脚本
  • 支持卸载任务,自动调用包内卸载脚本
  • 部署任务可在管理端创建、删除、查看实时状态
  • 传输端到端加密,密钥由机台 TPM 保护

RustDesk 远程桥接

  • 机台端集成 RustDesk 桥接服务,支持受控端会话集中授权
  • 远程控制行为可记录、可上报、可审计
  • 管理端「上报记录」新增 RustDesk 远程控制入口

管理端(Flutter)

  • 新增离线工具:更新签名密钥生成、清单打包签名、证书包生成
  • 支持多 TOTP 密钥管理与一键绑定系统验证器
  • 移动端响应式布局重构,底部导航重设计
  • 会话持久化与 Cookie 加密存储

2. 改进
  • 服务端高敏接口权限收紧,文件上传改为临时文件缓冲
  • 机台密钥注册流程统一,修复挂载失败与 EVHD 异常残留问题
  • VHD 挂载配置兼容性与错误提示改进
  • 文档系统迁移至 VitePress,新增管理员指南、客户端安装、FAQ、RustDesk 桥接与离线更新器文档

3. 迁移提示
  • 新部署的软件包默认安装到 C:\SOFT\<packageId>\
  • 使用 RustDesk 桥接需在 vhdmonter_config.ini 中启用 EnableRustDeskBridge
  • 服务端升级后请执行 npm run migrate
  • Flutter 管理端建议重新登录一次以完成 Cookie 迁移

1.7.0

Choose a tag to compare

@github-actions github-actions released this 22 Apr 22:22

1.7.0 (2026-04-23)


机台侧(VHDMounter / Updater)

VHD 挂载与卸载模块
  • 优化挂载和解除挂载逻辑,增加超时处理、输出结果记录与错误输出分析
  • 修复 NormalizeMountPoint 正则字符串转义错误,解决盘符路径(如 D:)无法正确识别的问题
  • 移除冗余依赖,精简挂载流程
机台日志上报模块
  • 新增机台日志实时上报链路:本地写入 machine-log-spool.jsonl,通过 WebSocket 上传到服务端
  • 修改 WebSocket 握手中的密钥派生逻辑,改用原始密钥协议
  • 移除旧版 VHDDebugger,统一使用新的日志通道
Maimoller HID 输入与系统菜单模块
  • 新增 Maimoller HID 系统菜单:支持 coin 键菜单呼出、系统信息查看、系统重启/关机
  • 新增 Maimoller 系统设置调整菜单:支持网络设置(DHCP / 静态 IPv4)和音频设置
  • 新增 HID 输入处理服务:支持 Maimoller 硬件按钮映射、Coin 长按检测、数字输入路由
  • 补充 AquaMai 第三方代码的 Apache 2.0 版权声明(MaimollerInputService.csMaimollerInputModels.cs
系统信息显示模块
  • 优化系统信息刷新逻辑,增加并发控制
  • 修复窗口状态管理问题
应用更新与安全模块
  • 添加应用更新负载大小验证,优化更新流程中的日志记录
  • 优化主程序更新后重新拉起功能,兼容 VHDMounter_Maimoller.exe 新命名方式
  • 添加 Windows 平台安全文本输入功能,优化密码输入逻辑
主窗口 UI 模块
  • 重构主窗口布局,优化状态显示和 VHD 选择器的结构

服务端侧(VHDSelectServer)

数据库与迁移模块
  • 引入 schema_version 迁移机制,统一数据库升级路径
  • 应用启动与 npm run migrate 走同一套迁移逻辑
审计日志模块
  • 添加审计日志文件轮转功能,优化日志管理与读取逻辑
  • 支持机台审计筛选与跳转
OTP 与认证模块
  • 支持 OTP 绑定密钥两步式轮换(prepare / complete
  • 优化状态接口,确保不暴露敏感信息
  • 改善用户登录提示文案
机台管理模块
  • 保留机台 ID 大小写
  • 统一启动关键词文案
时区处理模块
  • 增加 IANA 时区验证和归一化逻辑
CI / 构建模块
  • package-lock.json 纳入版本控制,修复 CI 中 npm ci 失败
  • Docker 镜像构建改为 tag 触发,推送 tag 名称和 latest 双标签到 DockerHub

管理员操作工具侧(Flutter 管理端 / VHDMountAdminTools)

Flutter 管理端 — 架构与平台
  • 重构为模块化多文件结构,完善测试与本地配置存储
  • 支持 Android / iOS 平台并优化移动端体验
  • 更新构建工作流,独立 Flutter 构建并添加 Android release 签名配置
Flutter 管理端 — UI 与体验
  • 重构 Flutter 端 UI
  • 添加 MiSans 字体,更新应用字体设置
  • 添加根路径跳转提示页,引导用户下载 Flutter 管理客户端
  • 优化文本复制功能,提升用户体验
VHDMountAdminTools — 离线工具
  • 默认 minVersion1.5.0 更新为 1.7.0

通用

测试与 CI
  • 补充 .NET、Flutter、Node.js 核心测试
  • 添加 GitHub Actions CI 测试工作流(test.yml
文档
  • 更新 README.md,重构组件概览与环境要求,补充新功能与使用说明
  • 删除旧版工作报告、审查计划及机台日志上报实施方案文档
合规
  • 补充 AquaMai 第三方代码的 Apache 2.0 版权声明
  • 新增 NOTICELICENSE-APACHE-2.0 文件
版本管理
  • 全仓库版本号统一为 1.7.0.csprojpackage.jsonpubspec.yamlapp.manifest

1.6.0

Choose a tag to compare

@Lannamokia Lannamokia released this 04 Apr 19:11
be80545

1.6.0 新增功能

安全加固与权限制升

  • EVHD 密码安全传递

    • 密码传递方式改为 stdin(ProcessStartInfo.RedirectStandardInput),避免密码出现在命令行参数中
    • 仅在进程启动立即写入后关闭流,大幅降低敏感信息泄露风险
  • 服务端跨域与会话安全

    • 新增 Origin 白名单校验,带 Origin 请求头的请求必须命中 allowedOrigins 列表
    • 会话 Cookie 设置 SameSite=Strict、Secure 随协议自动开启(防 CSRF 与跨域盗用)
    • OTP 二次验证有效期调整为 60 秒,查询 EVHD 明文前必须完成验证
  • 敏感信息日志清理

    • 新增敏感字段过滤与日志脱敏功能,避免密码、密钥出现在日志文件中
    • Updater 子进程输出透传与错误捕获增强,改善故障诊断

服务端功能与模块化增强

  • 新增核心模块

    • auditLog.js:操作审计日志记录(机台创建、删除、配置变更、管理员操作)
    • registrationAuth.js:机台注册证书鉴权逻辑(验证签名、提取证书信息)
    • securityStore.js:管理员密码哈希、Session Secret、TOTP 密钥的安全存储(运行时动态生成,不再硬编码)
    • validators.js:统一输入校验(machineId 格式、关键字长度、密码复杂度)
  • 机台公钥注册限流

    • 防止频繁注册请求导致的服务压力,新增速率限制与阈值校验
    • 注册公钥时同步记录证书指纹与主体信息
  • OTP 状态逻辑完善

    • 确保在缺失 otpVerified 时自动使用 otpVerifiedUntil,以验证时间戳判定有效期
    • 相应的单元测试与集成测试覆盖

数据库层全面重构

  • 配置规范化与多数据库支持

    • 移除顶层硬编码的 dbConfig,新增 normalizeDbConfig() 函数对参数进行非空与合法性校验
    • SSL 配置改为 rejectUnauthorized: true(强制校验证书)
    • 新增 withClient() 辅助方法,消除重复的 connect/release 样板代码
  • 幂等初始化与字段扩展

    • initialize() 改为幂等初始化:CREATE TABLE IF NOT EXISTS + ADD COLUMN IF NOT EXISTS
    • machines 表新增 registration_cert_fingerprint(VARCHAR 128) 与 registration_cert_subject(TEXT)字段,记录注册证书信息
    • 新增索引优化:idx_machines_machine_id、idx_machines_protected、idx_machines_last_seen、idx_machines_cert_fingerprint
    • 新增 update_updated_at_column 触发器,自动维护 updated_at 字段
  • 敏感字段保护

    • 所有 RETURNING 子句改为显式列列表,evhd_password 明文不再出现在查询结果中
    • 改为返回 evhd_password_configured 布尔值,与明文查询逻辑分离

加密 VHD 工具优化

  • 可执行文件路径解析与挂载点规范化

    • 新增可执行文件路径解析功能,优化进程查找逻辑
    • 挂载点规范化至绝对路径格式,避免路径解析歧义
  • 文件替换与删除支持

    • 扩展文件替换逻辑,支持文件删除标志(文件清单中标记为 deleted)
    • 优化本地目标目录查找,支持通配符与灵活的路径匹配
  • VHD 文件处理优化

    • 优化 VHD 与 EVHD 文件的扫描与过滤逻辑
    • 进程输出流处理重构,日志记录性能提升
    • 标准错误捕获与日志化改善,增强调试能力

容器与部署改进

  • Docker 数据持久化

    • PostgreSQL 数据目录改为 pgdata 子目录模式(/var/lib/postgresql/data/pgdata),兼容 bind mount 与 named volume
    • 脚本自动规范化路径,处理旧版兼容默认值
    • 新增权限检查与警告机制,防止挂载权限问题导致数据损坏
  • 健康检查与自修复

    • 新增 /api/health 端点,返回 { success, status, version, uptime, timestamp }
    • Docker HEALTHCHECK 指令增强(interval=30s、timeout=10s、start-period=60s)
    • 容器启动脚本增强,新增 repair_public_schema_ownership() 自动修复 PostgreSQL 对象权限
  • Compose 配置标准化

    • docker-compose.yml 与 docker-compose.external-db.yml 均新增 build: { context: . }
    • 健康检查端点与环境变量明确设置,不再依赖外部镜像

平台与工具升级

  • .NET 版本升级至 8.0

    • VHDMounter、Updater、VHDDebugger 从 net6.0 升级至 net8.0
    • RID 规范化:win10-x64 → win-x64(更广泛的兼容性)
    • 新增 Directory.Build.props,统一 solution 级别的构建属性
  • 管理工具替换与扩展

    • VHDMountAdminTools 全面取代已废弃的 UpdatePackagerGUI
    • Flutter 管理客户端完整集成,支持 TOTP 验证码扫码添加功能
    • vhdmount.sln 新增,统一管理所有 .NET 子项目(VHDMounter、Updater、VHDDebugger、VHDMountAdminTools)
  • CI/CD 流程对齐

    • GitHub Actions 工作流(build.yml)同步更新,.NET 版本、RID 与产物路径全面同步
    • 构建目标明确化,完整支持自包含单文件发布

文档与清理

  • 文档补充

    • 新增 CLI_GUIDE.md,说明命令行工具使用方式
    • VHDSelectServer/DOCKER_TROUBLESHOOTING.md:PostgreSQL bind mount 权限问题根因分析与解决方案
    • 更新主 README 关于 Docker 配置、API 与安全模型的说明
  • 仓库清理

    • 删除已废弃的 UpdatePackagerGUI、VHDSelectServer/public(旧版静态管理页)
    • 删除过时的 CLI 指南与批处理脚本(run_as_admin.bat、setup_task.bat)
    • 优化 .gitignore,补齐 .NET、Node.js、Flutter、Docker、证书密钥等忽略规则

1.6.0 Preview

1.6.0 Preview Pre-release
Pre-release

Choose a tag to compare

@Lannamokia Lannamokia released this 04 Apr 17:25

Full Changelog: 1.5.0...1.6.0-preview

1.5.0

Choose a tag to compare

@Lannamokia Lannamokia released this 18 Jan 23:21

更新日志 1.5.0

  • 提交数:8
  • 变更概览:16 个文件修改,1454 行新增,168 行删除

新增

  • 引入更新打包图形工具 UpdatePackagerGUI,完善离线分发体验

  • 增加更新相关组件与安全校验模块,以支持受控的本地更新流程
    改进

  • 构建与发布流程优化:恢复多项目依赖的独立还原;完善 CI 发布产物与版本流程

  • 本地构建脚本强化:打包时包含示例配置文件,提升可用性
    文档

  • 更新 README 至 1.5.0;修复重复条目与格式问题

  • 补充构建与发布说明以反映最新配置
    其他变更

  • 项目版本同步至 1.5.0,并更新相关工程文件

  • 更新 .gitignore 以适配新增产物与目录
    提交列表

  • 2026-01-19 d7741fc build: 添加配置文件并改进CI发布流程

  • 2026-01-19 1e41451 Merge branch 'main' of https://github.com/Lannamokia/vhdmount

  • 2026-01-19 82e29de ci: 更新构建工作流以恢复多个项目依赖

  • 2026-01-19 4e2b8b6 Fix formatting and duplicate entry in README.md

  • 2026-01-19 016535a docs: 更新README文档至v1.5.0版本

  • 2026-01-19 3b5a79b chore: 更新项目版本至1.5.0并同步相关文件

  • 2026-01-19 8499370 feat: 添加自动更新功能与GUI打包工具

  • 2025-12-24 34b6ba7 docs: 更新构建和发布说明以反映最新配置

1.4.0

Choose a tag to compare

@Lannamokia Lannamokia released this 18 Dec 23:37

VHD Mounter 1.4.0

亮点

  • 更稳健的游戏进程监控与前台切换,避免桌面暴露。
  • 新增致命错误阶段,显示 5 分钟后自动关机。
  • 移除关闭按钮,退出改为 2 秒内连续按三次 Del 键的安全退出。
  • 日志循环覆盖(10MB 上限)与 NXLOG U 盘自动日志拷贝。

新增与改进

  • 游戏监控与重启
    • 检测到游戏进程启动后,额外等待 5 秒确保窗口稳定,再切前台到游戏并最小化/隐藏主窗口,防止桌面暴露。
    • 异常退出进入“异常恢复”状态,自动重启;重启后同样延迟 5 秒再切回游戏。
  • UI 状态与交互
    • 阶段化 UI:预启动延时 → 准备游戏文件 → 应用本地更新 → 准备启动 → 更新并启动 → 异常恢复 → 错误提示。
    • 新增“错误”阶段:显示“运行发生错误,请联系管理员调阅日志”持续 5 分钟,然后执行系统关机。
    • 移除关闭按钮;退出方式改为在 2 秒内连续按三次 Del 键触发安全退出(卸载 VHD、停止加密 EVHD 挂载、退出程序)。
  • 日志与可观测性
    • vhdmounter.log 启用循环覆盖:超过 10MB 自动截断至 0 并从头继续写入。
    • 运行时每 5 秒扫描卷标为 NXLOG 的可移动设备;若存在且日志更新,自动拷贝到 NXLOG:\vhdmounter.log (按设备独立记录上次复制时间,避免重复写入)。
    • 详细过程信息仅写入文件日志,UI 展示简洁的阶段性提示。
  • VHD 挂载与盘符分配
    • 改进 DiskPart 操作与盘符处理流程,提升挂载/卸载的健壮性(处理已有盘符、启动目录搜索、启动脚本准备)。
  • 文档与最低要求
    • 更新 README:客户端阶段流程、日志策略、退出与防暴露策略。
    • 文档中明确加密算法变更与最低系统要求,便于部署与排障。

不兼容变更

  • 关闭按钮被移除;退出需在 2 秒内连续按三次 Del 键。
  • 启动与重启后增加 5 秒稳定等待再切前台,行为与时间点与旧版不同。
  • 详细状态信息不再在 UI 展示,仅写入日志文件。

升级建议

  • 以管理员身份运行客户端,确保 DiskPart 与挂载操作权限。
  • 如需现场采集日志,准备卷标为 NXLOG 的 U 盘;接入后日志会自动复制到根目录。
  • 确认系统满足 .NET 6 运行时与 README 中说明的最低系统要求。
  • 启用 EVHD 密钥下发时,按文档完成设备公钥注册与管理员审批流程。

提交列表(1.3.5 → 1.4.0)

  • 795d675 2025-12-12 docs: 更新文档以反映加密算法变更和最低系统要求
  • 1cacb7c 2025-12-19 feat(VHD挂载): 改进VHD挂载和盘符分配逻辑
  • 2e42a87 2025-12-19 feat: 优化游戏监控流程并改进UI状态管理
  • 5a5fd87 2025-12-19 docs: 更新README文档以完善客户端流程和日志策略

Diff 统计

  • 9 files changed, 1053 insertions(+), 403 deletions(-)

构建产物

  • 客户端: VHDMounter.exe (Windows 10/11)
  • 生成目标:win10‑x64 单文件(CI 工作流:Build VHD Mounter)
  • 日志:应用目录 vhdmounter.log (循环覆盖与 NXLOG U 盘自动拷贝)
  • 运行建议:以管理员权限运行客户端以确保挂载与脚本执行权限

Full Changelog: 1.3.5...1.4.0

1.3.5

Choose a tag to compare

@Lannamokia Lannamokia released this 12 Dec 04:58

Full Changelog: 1.3.0...1.3.5

Full Changelog: 1.3.0...1.3.5

1.3.0

Choose a tag to compare

@Lannamokia Lannamokia released this 10 Nov 05:08

Full Changelog: 1.2.1...1.3.0

Full Changelog: 1.2.1...1.3.0

1.2.1

Choose a tag to compare

@Lannamokia Lannamokia released this 07 Nov 00:54

-添加了EVHD加密容器的支持
-更新了Server的WebUI适配新功能

Full Changelog: 1.2.0...1.2.1

1.2.0

Choose a tag to compare

@Lannamokia Lannamokia released this 21 Oct 13:06
build: 更新项目版本至1.2.0

更新VHDMounter.csproj、build.yml和app.manifest中的版本号至1.2.0