跳至主要内容

版本 0.8.x

概览

版本 0.8.x 是一个主要更新,引入了重要的安全增强功能、改进的服务器管理功能以及支持 SMTP 电子邮件的全面通知系统。此版本专注于加强安全性、提升用户体验,并提供更灵活的备份监控选项。

新功能

服务器管理增强

  • 自动持久化服务器 URL 和密码,用于收集备份
    • 用户可以通过两种方法更新 URL 和密码:

增强的备份监控

  • 新的 Backup monitoring 配置选项卡,支持与 Duplicati 服务器兼容的间隔设置
    • 支持自定义间隔(例如,“1D12h”)
    • 在收集备份日志期间,从 Duplicati 配置自动更新逾期间隔
    • 建议: 在 Duplicati 服务器中更改备份作业间隔后运行收集,以同步 duplistatus 配置
    • 通知模板现在使用 {backup_interval} 而不是 {backup_interval_value}{backup_interval_type}

NTFY 设备配置

  • 二维码生成,用于自动设备配置,以便从 duplistatus 接收通知
    • 在应用程序工具栏中右键单击 View NTFY Messages 按钮
    • 设置 → NTFY 设置 中单击“配置设备”按钮

改进的备份收集

  • 自动检测 HTTP/HTTPS,连接尝试顺序为:HTTPS → 带自签名证书的 HTTPS → HTTP 回退
  • 用于在 Collect Backup Logs 界面中选择服务器的下拉列表,用于直接进行特定服务器的收集
  • 现在接受主机名中的多个地址(逗号分隔)(必须共享相同的密码和端口)
  • Dashboard (table)设置 → 备份监控设置 → 服务器 中添加了单服务器备份收集按钮
  • 批量收集功能,用于所有具有有效配置(URL 和密码)的服务器

增强的通知系统

  • SMTP 电子邮件通知支持:

  • 每个备份作业的通知配置:

    • 设置 → 备份通知 中进行单独的通知偏好设置
    • 当 NTFY 或电子邮件未正确配置时,显示视觉指示器(灰色图标)
  • 区域设置支持:

    • 创建了一个新的环境变量 LANG 来设置应用程序中的区域设置
    • 现在通知和日志中的日期和数字格式是可预测的

🔒 安全增强功能

CSRF 防护

  • 基于会话的身份验证,具有强大的会话管理功能
  • 对所有更改状态的 API 请求强制执行 CSRF 令牌验证
  • 会话在 24 小时后自动过期;CSRF 令牌每 30 分钟刷新一次
  • 在保持与外部 API 兼容性的同时,确保了针对跨站请求伪造的保护

最小化明文密码

  • 密码只能通过用户界面设置;没有 API 端点暴露存储的密码
  • 明文密码操作在整个系统中被最小化

对敏感数据的高级加密

  • 敏感数据加密(例如密码、SMTP 凭证)使用 AES-256-GCM
  • 主密钥自动生成并安全存储在 .duplistatus.key
  • 使用 100,000 次迭代的 PBKDF2 进行密钥派生以加强安全性
  • 验证身份验证标签,并在使用后安全清除内存
  • 主密钥文件权限被严格设置为 0400 以实现最大保护

用户界面改进

  • 增强的应用程序样式,采用新的配色方案和图标以提高可用性
  • 现代设计系统,具有改进的状态指示器
  • 彩色图标和进度指示器,用于更好的视觉反馈
  • 设置选项卡被重命名以方便使用
  • 简化的 API 交互和改进的用户体验

文档更新

  • 全面文档,使用 Docusaurus 进行改进的导航和搜索
  • 增强的 API 文档,具有详细的端点描述
  • 更新的用户指南,涵盖新功能和安全增强
  • 安装指南,具有改进的设置说明
  • 开发人员文档,供贡献者使用

技术改进

  • 增强的 Next.js 配置,具有改进的性能和用户体验
  • 优化的包分割,以减少预加载警告
  • 改进的错误处理,用于连接问题和 API 交互
  • 重构的备份设置管理,以更好地处理配置
  • 增强的会话管理和 CSRF 保护,适用于 API 交互
  • 改进的数据库迁移和模式更新
  • 多个错误修复和代码简化

🚀 迁移说明

从版本 0.7.x

此版本包括显著的安全增强和新功能。当从版本 0.7.x 升级时:

  1. 自动数据库迁移: 应用程序将自动迁移您的数据库模式以支持新功能
  2. 主密钥生成: 将为敏感数据加密生成新的主密钥
  3. 会话管理: 现有的会话将被使无效,新的 CSRF 保护会话将被建立
  4. 配置更新: 一些配置密钥已被更新以支持新功能
  5. 模板更改: 变量 {backup_interval_value}{backup_interval_type}{backup_interval} 替换。默认模板将被自动调整,但自定义模板将不会被迁移。请检查您的模板。

安全考虑

  • 主密钥文件: 确保 .duplistatus.key 文件被正确备份和保护
  • 文件权限: 主密钥文件将具有受限的权限(0400)以确保安全
  • 密码加密: 现有的密码将使用新的加密系统进行加密

🐛 错误修复

  • 修复了相对时间格式,以返回时间差小于 15 秒 的 "刚刚"
  • 改进了缺失环境变量的错误处理
  • 增强了连接测试和验证
  • 修复了各种 UI 不一致性,并改进了用户反馈

此版本在安全性、可用性和功能性方面代表着一个重要的进步。我们推荐升级以利用新的功能和安全增强。