🔁 WebDAV Sync:通用、稳健的 WebDAV 同步插件

WebDAV Sync 是另一个 Obsidian 的非官方同步插件,类似于 Remotely SaveLiveSync

GitHub 仓库:

为什么需要另一个同步插件?

虽然社区中已有许多解决方案,但(基于个人经验)没有任何一个能完全满足我的需求(绝无歧视,皆基于事实):

  • Remotely Save:支持众多厂商,但目前处于维护停滞状态且存在大量 Bug(例如“deleted files come back”(已删除的文件会重新出现),你可以在 GitHub 上搜索同名 Issue 验证)。
  • Git Integration:对技术用户而言很理想,但作为日常同步方案过于沉重。
  • Syncthing Integration:优秀的 P2P 方案,但要求你的设备中至少有一台必须始终保持在线。
  • LiveSync:最为稳健,但需要自建服务器。

我还发现了 Nutstore Sync,这是一个优秀的同步插件,但专为 Nutstore 设计。于是我想到:为什么不把它做成通用型的呢?因此我将其 Fork,并进行了全面的重构,以消除厂商锁定、提升性能与稳定性。

如何安装?

该插件已提交至 Obsidian 官方发布仓库进行审查,以便纳入插件注册表。此流程可能需要数月时间。在此之前,你可以通过 BRAT 插件来安装:

  1. 进入 社区插件,搜索 BRAT
  2. 安装并启用它。
  3. 进入 BRAT 设置,点击 Add beta plugin,将 https://github.com/hesprs/obsidian-webdav-sync 复制粘贴到 Repository 字段中。
  4. 选择最新版本,点击 Add plugin
  5. 启用该插件,配置你的 WebDAV 服务,即可大功告成。

网络受限用户的安装方案

中国大陆地区的 GitHub 连接状况不佳。如果您遇到此类问题,请按照以下步骤手动安装插件:

  1. 使用 GitHub 加速网站(例如 此站)。
  2. 复制、粘贴并转换以下链接以进行下载:
    • https://github.com/hesprs/obsidian-webdav-sync/releases/latest/download/main.js
    • https://github.com/hesprs/obsidian-webdav-sync/releases/latest/download/manifest.json
    • https://github.com/hesprs/obsidian-webdav-sync/releases/latest/download/styles.css
  3. 在文件管理器中打开 <您的仓库>/.obsidian/plugins/,新建一个名为 webdav-sync 的文件夹。
  4. 将下载的这三个文件移动至该文件夹内。
  5. 打开 Obsidian,确保关闭“限制模式”(Restricted mode)。此时您应该能看到 WebDAV Sync 插件已可用。
  6. 注意:通过此方式安装的插件无法自动更新。建议您定期重复上述步骤以获取最新版本。

结语

尽管在我使用的过程中,该插件表现相当稳健,但为了预防意外数据丢失,建议在使用前 备份你的仓库

如果你认为我的工作有用,请给我一个 GitHub Star :star:!如有其他问题,欢迎在下方留言!

10 个赞

试了试,的确是非常好的插件:+1:可惜我的alist似乎有点问题,删除的时候同步会报错Method Not Allowed

这种情况比较少见。能否请您提供一下支持日志(路径:设置支持报告导出为笔记)?或者,您也可以直接在 GitHub 上提交一个 Issue。

找到问题了,是alist配置问题,和插件本身无关。

我配置的alist的删除行为是将其移到./回收站目录中,可能是由于alist配置的权限问题或是我未创建./回收站,alist在删除时会提示操作失败。因此webdav操作时会报错 Invalid response: 405 Method Not Allowed,我改为永久删除后就可以正常同步了。

非常好的插件,已star,抱歉叨扰。

note fast sync 你值得拥有,毫秒级的。比webdev好用多了。webdev同步都是几十秒,慢的很。

我搜索了一下,Note Fast Sync 与 LiveSync 非常相似。但对于大多数普通用户来说,搭建服务器并将其暴露到公共互联网涉及高昂的成本和较高的技术门槛。而 WebDAV 可能是对他们而言最易用的方式,因为目前已有部分免费的公共互联网服务可供选择。

已经使用,比 Remotely Save 新颖稳定,Remotely Save是很久没更新了。
解决了Remotely Save的下面问题:

  1. 文件名中间有空格,会同步错误
  2. 偶尔同步不成功,但不会提示,WebDAV Sync每次都同步成功。
  3. 只在最后简单提示同步的成功已否。WebDAV Sync 有个界面展示同步进度,和删除哪些文件,令人安心。

插件没有bug。

感谢您的反馈,很抱歉给您带来了困扰。我会尽快进行调试修复。


编辑:已解决。这本身并非 WebDAV Sync 的 Bug,而是该插件与另一款名为 paste-image-rename 的插件之间的兼容性问题。

是的插件没有bug,我误会了,抱歉。
作者很有耐心,更新速度很快,技术很好 :sparkling_heart:,插件 webdav sync v2.1版本已经很完美,推荐使用。

你好,我使用了,我要的就是这样的插件,能不能提个建议,加一个端到端加密呢,谢谢。

另外就是,能不能同步时可以把.obsidian这个文件夹也上传,现在的这个我试过了,跟坚果云一样,就算把规则添加了,也不能同步。

安装成功,连接检查也没问题的。但是同步失败

安装成功,连接检查也没问题的。但是同步失败,显示401

设置里排除规则:把".obsidian" 删了试试

401 是webdav服务器权限问题好像,和插件无关哦。你问问ai,把webdav服务器设置好

试过了,先排除,再添加,本质上就是fork,原来的坚果云插件,因为在原来的坚果云插件上我就试过不行。

我安卓手机和windows电脑,装这个插件 2.0、2.1、2.2三个版本,并且删除重装了很多次。
每次填上webdav服务器地址,账号,密码,都能用,没任何错误哦。

webdav sync 和 Remotely Save 这两个同步插件是没问题的。
我很早前在windows电脑上装webdav服务器,使用"Remotely Save"同步插件也遇到401或者404错误,就是访问权限配置,或者文件夹权限问题。问ai解决了。

你用的什么webdav服务器?

@minzihua @b09feng

回复如下:

  1. 401 错误通常由 WebDAV 服务商的速率限制引起。要消除此错误,请在设置中将 “速率与大文件设置” 下的 “最大并发 WebDAV 请求数” 调整为 1
  2. .obsidian 文件夹的同步支持将在 v2.3 版本中推出(编辑:已实现并发布)。
  3. 端到端加密 (E2E encryption) 是呼声最高的功能,其开发进度将追踪于 此 GitHub Issue

建议阅读 中文 README,特别是最后三个部分,其中包含了关于开发进度和注意事项的重要信息。

请求数调整为1就可以了