版本 0.8.x
概览
版本 0.8.x 是一个主要更新,引入了重要的安全增强功能、改进的服务器管理功能以及支持 SMTP 电子邮件的全面通知系统。此版本专注于加强安全性、提升用户体验,并提供更灵活的备份监控选项。
新功能
服务器管理增强
- 自动持久化服务器 URL 和密码,用于收集备份
- 用户可以通过两种方法更新 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 电子邮件通知支持:
- 在 设置 → 电子邮件设置 中配置 SMTP 服务器
- 为 NTFY 和/或电子邮件通知进行每个备份作业配置
- 使用现有的 设置 → 通知模板 进行 HTML 格式的模板
-
每个备份作业的通知配置:
- 在 设置 → 备份通知 中进行单独的通知偏好设置
- 当 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 升级时:
- 自动数据库迁移: 应用程序将自动迁移您的数据库模式以支持新功能
- 主密钥生成: 将为敏感数据加密生成新的主密钥
- 会话管理: 现有的会话将被使无效,新的 CSRF 保护会话将被建立
- 配置更新: 一些配置密钥已被更新以支持新功能
- 模板更改: 变量
{backup_interval_value}和{backup_interval_type}被{backup_interval}替换。默认模板将被自动调整,但自定义模板将不会被迁移。请检查您的模板。
安全考虑
- 主密钥文件: 确保
.duplistatus.key文件被正确备份和保护 - 文件权限: 主密钥文件将具有受限的权限(0400)以确保安全
- 密码加密: 现有的密码将使用新的加密系统进行加密
🐛 错误修复
- 修复了相对时间格式,以返回时间差小于 15 秒 的 "刚刚"
- 改进了缺失环境变量的错误处理
- 增强了连接测试和验证
- 修复了各种 UI 不一致性,并改进了用户反馈
此版本在安全性、可用性和功能性方面代表着一个重要的进步。我们推荐升级以利用新的功能和安全增强。