Obsidian Sync to work p2p

Use case or problem

Sync vaults in a direct, p2p manner.

Proposed solution

Alright, so one way we can attenuate exposure of private data because they are kept on Obisian servers through Sync is to have the option implemented to enable peer-to-peer synchronisation.

This would work similarly to how Syncthing is now used to sync in a p2p manner i.e. if the user chooses so, Obsidian server will only work as a discovery service, while synchronisation will be done between user’s machines without ever going through Obsidian servers.

Everything else can remain i.e. p2p encryption, versioning, integration of changes in documents etc.

In this respect, data security and privacy will be enhanced, while the strain on Obsidian servers will also be attenuated, all the while keeping Sync closed-source and paid.

Also, a big problem will be solved by this approach with iOS/iPadOS users, as Syncthing cannot directly sync vaults right now because of that OS’ sandboxing. Instead, one must first sync and then manuall transfer files through the Files app, which is a pain.

If someone wants to check whether Obsidian servers do only work as discovery servers, one can check the packages that go to them and the packages that go between his machines. In theory, it should be obvious, especially if we’re talking about big vaults.

I don’t know if it is possible to take Syncthing’s code and implement it here, but it is a viable approach in order not to invent the wheel here, as this is already done.

Also, Syncthing allows for local network discovery and syncronisation, which is all neat.

Current workaround (optional)

Syncing with Syncthing or something similar, but versioning (especially integration of modifications inside documents) is terrible i.e. non-existent.

Related feature requests (optional)

3 Likes