Very long.
It may lose some features
- LIveSync
- Conflict detection and resolution.
When using CouchDB, We can handle the tree of changeset in the replication, and resolving even in off the line.
- Dedupe chunks and keep low transfer amount.
And, of course, we have the limitation of JavaScript. It’s the plugin.
I tried WebRTC for peer-to-peer synchronization but some network denied.
HTTP is the simple and most penetrating protocol.
And I tried to make a plugin that as you said. As the complementary of Official “Sync” and Self-hosted LiveSync. Cloud Backup.
It would be very useful. I thought too.
But there are a few limitations, I realized it’s nonrealistic or may not be simple so much.
OneDrive, GoogleDrive, or other any drive may not accept the connections from obsidian by CORS limitations. If you want to access these hosts, need a proxy server to modify the request. To be secured, require
users to host the server.
A self-hosted WebDAV server can use this without request-modifying-proxies. But still, self-hosting is required.
And, currently, mobile Obsidian has the limitations that it can’t access the non-secure endpoint or self-signed endpoint. So self hosted server should be exposed globally. It’s should not be done in so easy and optimistic attitudes.
So, If I write the server software? It will be work well to synchronize everything.
But very hard to prove there’s nothing vulnerablities.
And, it may be harder than launching docker images of CouchDB and traefik(for reverse proxy).I writing this docs.