简体中文 • Plugin Store • Polling • License
## Introduction Obsidian WebDAV Sync is a general-purpose syncing plugin for Obsidian via a WebDAV server. There's already a lot of plugins to sync your notes between devices. But when we have a look at the syncing plugin landscape, we can clearly see that each plugin has its own disadvantages that prevents you from using it: - [Remotely Save](https://github.com/remotely-save/remotely-save): full-featured syncing plugin, but currently unmaintained and full of bugs (like [deleted files come back](https://github.com/remotely-save/remotely-save/issues/985)). - [Syncthing Integration](https://github.com/LBF38/obsidian-syncthing-integration): a great way of P2P syncing, but requires both of your devices to be online, not 24/7. - [Live Sync](https://github.com/vrtmrz/obsidian-livesync): most robust solution in the room, but requires custom server setup. - [Git Integration](https://github.com/Vinzent03/obsidian-git): ideal for production-level collaboration and provenance, but not suitable for daily usage. - Vendor-specific Syncing Plugin (like [Nutstore Sync](https://github.com/nutstore/obsidian-nutstore-sync)): tailored experiences, but locked to a single vendor. Acknowledging that WebDAV would be the most convenient DIY solution for syncing, this plugin comes to provide a balanced experience of day-to-day convenience, easy setup, and the robustness that doesn't make your notes into a chaos. ## Ongoing Polling 📢 Here's ongoing polling about new directions in development! I recommend **everyone who sees this** participate in the 5-second anonymous polling to allow developers to obtain a fair result. - 🗳️ [Is `Smart Merge` worth the overhead?](https://github.com/hesprs/obsidian-webdav-sync/discussions/117) ## Features 🔄 **Reliable Bidirectional Syncing**: - This plugin syncs your vault with a WebDAV storage. - It does three-way comparison: remote state, local state, and recorded local & remote states of last sync - Then it follows a decision matrix for maximum precision and data integrity, detail see [this page](https://hesprs.github.io/projects/obsidian-webdav-sync#technical-breakdown). 🔀 **Auto Sync and Conflict Handling**: - The plugin supports automatically triggered sync as follows: - **Startup sync**: trigger a sync when Obsidian starts. - **Scheduled sync**: trigger syncs periodically. - **Real-time sync**: trigger syncs immediately when a change is detected. - The plugin supports conflict handling methods: - Smart merge - Latest survive - Use remote - Use local - Skip 🔐 **Client-side Encryption**: - This plugin supports encrypting your files before uploading. - It prevents unauthorized file access, and detects unintended file modification and movement at remote side. - The encryption pipeline assumes stricter threat model, and achieves **theoretically higher security, faster performance and smaller plugin size** than similar solutions (like Remotely Save), see detail in the [encryption specification](https://github.com/hesprs/obsidian-webdav-sync/blob/main/docs/encryption.md). ⚡ **Maximum Performance**: - Most sync operations are performed via parallelized network requests. - Real-time sync uses cached remote states by default, allowing it to complete syncing within seconds. - **10 times** smaller size than Remotely Save, **8 times** faster startup loading time. 🧰 **Detailed Config**: - The plugin allows users to adjust various parameters to adapt for various services: - **Max concurrent WebDAV requests**: deal with service rate limiting. - **Min time between WebDAV requests**: deal with service rate limiting. - **Skip large files**: handle low storage space. - **Max concurrent sync tasks**: control CPU and disk usage. - **Max concurrent throughput**: control memory usage and prevent crashes. 📦 **Production-Level Scalability**: - Handles vaults with more than 3000 files smoothly. - Load balancing and download chunking allows the plugin to handle gigabytes at once. - Large file downloading is resumable. 🎨 **Excellent UI and Observability**: - Four ways (modals, status bar, notices, logs) to keep you aware of the syncing progress. - File changes are rendered as a file tree to allow granular selective syncing. - Log utility outputs human-readable markdown documents. ## Install & Setup You can install it from Obsidian plugin registry: 1. Go to **Community plugins** and search for `WebDAV Sync` 2. Find the one made by `Hēsperus` 3. Install and enable it Configuration: 1. Enter WebDAV server URL 2. Enter account + credential 3. Click **Check connection** 4. Select remote directory 5. Start sync ## Common Questions