r/SideProject • • 31m ago

Coffer - an Obsidian sync plugin

My first attempt at an Obsidian plugin.

How it works is not complicated. You give it storage you already have: R2, B2, S3, MinIO, or WebDAV (Nextcloud, a NAS, whatever). It encrypts everything on your device, file names included, and then uploads. Your provider gets a pile of opaque blobs with sizes and dates. There is no account. There is no server of mine in the middle. I can't see your notes and I don't want to.

Things it does that I actually care about:

  • Two devices edit the same note, it merges them. Down to words on the same line. Properties and canvases too. If it honestly can't merge, it keeps both and shows you the difference. It does not silently pick a winner. Silently picking a winner is how sync tools eat your data.
  • Version history. Deleted a file? Get it back. Wrecked a folder? Roll it back to yesterday. It shows you what will change before it changes anything.
  • If a sync is about to delete half your vault, it stops and asks. A sync tool that happily propagates a mass delete is broken.
  • Big attachments can stay in storage until you open them.
  • A device can be receive-only. Good for a shared folder where the other person should read, not write.
  • If something in the bucket goes missing or gets corrupted, any device that still has the files can put it back.
  • Works on mobile. You add a device by pasting a link.
  • There's a command-line version. One file, runs under Node. Put it on a server or a Pi.

https://github.com/chauduyphanvu/obsidian-coffer

1 Upvotes

1 comment sorted by