WebDAV 配置¶
HistorySync 使用 WebDAV 将浏览历史数据库备份并恢复到云端。任何兼容 WebDAV 的服务器都可使用,本页涵盖最常见的配置方案。
工作原理¶
- HistorySync 将
history.db(及可选的网站图标缓存)压缩打包。 - 使用原子化流式上传将归档文件上传到 WebDAV 远程路径 — 仅在上传成功后才替换旧备份。
- 自动保留最多
max_backups份副本,旧版本自动清理。 - 恢复时,HistorySync 下载所选备份并与本地数据库合并(或在
--replace模式下替换)。
快速配置(GUI)¶
- 打开设置 → WebDAV 云端备份。
- 填写以下字段:
- URL — 完整 URL(含路径),如
https://cloud.example.com/remote.php/dav/files/alice/ - 用户名 / 密码 — 你的 WebDAV 凭证
- 远程路径 — 备份子文件夹(默认:
HistorySync/) - 最大备份数 — 保留的快照数量(默认:10)
- 点击测试连接。
- 启用自动备份并设置间隔。
快速配置(CLI)¶
hsync config set webdav.enabled true
hsync config set webdav.url "https://cloud.example.com/remote.php/dav/files/alice/"
hsync config set webdav.username "alice"
# 如需预先写入密码,请在 GUI 中设置,或直接编辑 config.json。
# hsync config 当前不暴露 webdav.password 这个键。
hsync config set webdav.remote_path "HistorySync/"
hsync config set webdav.max_backups 7
hsync config set webdav.auto_backup true
hsync config set scheduler.auto_backup_enabled true
hsync config set scheduler.auto_backup_interval_hours 12
# 测试
hsync -b
各服务商配置指南¶
Nextcloud¶
Nextcloud 的 WebDAV URL 格式:
- 登录 Nextcloud。
- 进入设置 → 安全 → 设备与会话,创建一个应用密码(推荐,比使用主密码更安全)。
- 在 HistorySync 中使用上述 URL、你的 Nextcloud 用户名和应用密码。
- 可选:预先创建专用文件夹(如
HistorySync),并将remote_path设置为HistorySync/。
使用 Nextcloud 应用密码
应用密码意味着即使凭证泄露,也无法访问你 Nextcloud 账户中的其他内容。强烈推荐。
群晖 Synology DSM¶
在 Synology DSM 中启用 WebDAV:
- 打开控制面板 → 文件服务 → WebDAV。
- 启用 WebDAV 或 WebDAV HTTPS(强烈推荐使用 HTTPS)。
- 记录端口号(默认:HTTP 5005,HTTPS 5006)。
HistorySync URL 格式:
将远程路径设置为你有写入权限的共享文件夹,如 homes/alice/HistorySync/。
自签名证书
群晖默认使用自签名证书。解决方案:
- 在 DSM 中安装 Let's Encrypt 证书(推荐),或
- 设置 hsync config set webdav.verify_ssl false(仅适用于受信任的内网)
AList(通过 WebDAV 接入 S3 / OneDrive / Google Drive)¶
AList 是一个开源文件管理器,可将多种云存储服务暴露为 WebDAV。
使用 AList 的用户名和密码。将 remote_path 设置为配置的存储路径,如 OneDrive/HistorySync/。
Nginx WebDAV¶
自建 Nginx WebDAV 服务器:
location /dav/ {
root /var/webdav;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
create_full_put_path on;
auth_basic "WebDAV";
auth_basic_user_file /etc/nginx/.htpasswd;
}
HistorySync URL:https://<你的域名>/dav/
Apache WebDAV¶
<Location /dav>
DAV On
AuthType Basic
AuthName "WebDAV"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Location>
故障排除¶
"连接被拒绝" / "超时"¶
- 检查 URL — 确认协议(
https://)和端口正确。 - 验证服务器可从你的机器访问:
curl -u user:pass https://your-server/dav/。
"401 未授权"¶
- 仔细检查用户名和密码。
- Nextcloud:使用应用密码,而非登录密码。
- 确认账户对远程路径有写入权限。
"SSL: CERTIFICATE_VERIFY_FAILED"¶
- 服务器使用了自签名或过期证书。
- 修复证书,或执行
hsync config set webdav.verify_ssl false(仅限受信任内网)。
备份成功但恢复时显示无备份¶
- 检查
webdav.remote_path— 必须与备份时使用的路径一致。 - 运行
hsync restore --list查看hsync在服务器上找到的内容。
安全注意事项¶
- WebDAV 凭证使用 HKDF 派生密钥加密存储在磁盘上。详见安全架构。
- 始终使用 HTTPS — 纯 HTTP 会在传输过程中暴露你的凭证和历史数据。
- 在支持的服务商处优先使用应用专用密码,而非主账户密码。
- 如果存储空间有限,将
max_backups设置为较小的值。默认为 5。