Hello HN,
I'm a recent high school graduate and can't afford $8 per month for the official sync service, so I tried my hand at replicating the server.
It's still missing a few features, such as file recovery and history, but the basic sync is working.
To the creators of Obsidian.md: I'm probably violating the TOS, and I'm sorry. I'll take down the repository if asked. It's not ready for production and is highly inefficient; Not competition, so I hope you'll be lenient.
Impressive! It's fun to see the diversity of ways people sync/backup their Obsidian files. The nice thing about storing all your notes on your device is that it makes it possible to move and edit your Markdown files in many different ways. That diversity of solutions is what makes the ecosystem of Markdown tools resilient over the long term.
There are already a handful of tools that allow you to sync your notes for free, including Git, Syncthing, and some other options more specialized for Obsidian (see community plugins).
Obsidian is a small company, we're not VC backed (100% user-supported), so the Sync pricing helps us stay in business and keep the lights on. We also have a 40% educational discount on all our services[1] so you could be paying $4.80 instead of $8 :)
Reverse engineering things is a fun technical challenge, and also helps us find potential holes in our system. The main problems I see with your solution: 1. it could easily break in a future update to the app, 2. "Obsidian Sync" is a trademark, so you should consider renaming the repo otherwise it can be confused for an official tool — that would be my only request
[1]: https://help.obsidian.md/Licenses+and+payment/Education+and+...
On the other side, the alternatives are working well enough, so there is not much reason to release the server.
Like others have mentioned, your approach and ethos are a large part of why I decided to go all in on Obisidian, and that ethos is reflected in Sync. With Sync, everything is end-to-end encrypted and can be unsynced at any time without having to "export" anything or jump through hoops. Configuration is file-based and can be selectively synced, including themes. Beyond that, I can rest easy knowing that if Sync is ever down, I have all of my files right there.
When I downloaded Obsidian for the first time, I thought it was a shame that I didn't need to pay for it. So I was more than happy to find Sync and pay for the service to help what I see as a good company.
Kudos, and please keep up the good work.
I only wish that https://obsidian.md/sync made it more obvious that you can sync a local vault to the cloud. Emphasis on "You still own your data, no vendor lock-in" is a huge sell for users like me who are typically forced to choose between seamlessness vs. owning our data. I'm delighted to learn that Obsidian offers both.
And yet they haven't open sourced the app. That would be truly humane and long-term. As it is, it's just another proprietary app that, if it dies, can't be continued by the community.
I don't think monetary issues should be a concern with open sourcing the app - companies like Bitwarden, Gitlab, and New Vector (the company behind Matrix) are doing just fine with their open source products.
Renewed for my third year of Sync yesterday. While I could use other tools to sync (I mostly have markdown files in my vaults, so there's not a lot of data moving around), the quality of the sync service, and the ease of setting it up, makes me renew without thinking about it. And it's not easy getting me to pay for anything these days due to subscription fatigue, scam fatigue, and price hike fatigue.
So I was excited to see a obsidian HN post, and really didn't expect to see the CEO as the top post. Kudos to you.
I've been a sync customer more or less since I started using obsidian, mostly because I use the same vault on my phone plus a couple PCs.
But honestly, the sync has been disappointing. When I restructure folders or rename stuff, half the time the next time I open on a different device, it deletes shit. I can usually figure it out and recover from the sync log, that's a big trustbreaker.
- Insanely low input lag especially on mobile. Obsidian is FAST. When i'm out and about checking my shopping list, I have a tolerance for maybe 250ms of lag. That's it. You need to show me my data FAST. Notion is a basically a webapp which simply doesn't compete, asks you to re-login constantly. YOU DO NOT ASK A MOBILE USER to RELOGIN.
- Read-only mode: accidental taps instead of scrolls on mobile are a HUGE issue on Notion, especially when you're out and you're in a stressful situation and you need your notes fast. You can not afford an accidental edit. And you simply don't have to focus to carefully touch your smartphone to distinguish swipes from touches. Notion developers just don't get this. With Obsidian, when i'm ouside, i'm most likely in Read-only mode. You can still check checkboxes when in read-only mode, and that's perfect for a shopping list workflow.
- Standard format (markdown). I had tried for some time to automate my Notion backups and it just wasn't possible. With Obsidian, I have no issue using proprietary software because the backing store is Markdown. It integrates nicely with my storage practices. My obsidian files are backed up hourly to my rsync.net account which has 48 hourly snapshots. If I accidentally overwrite something 16 hours ago, I can recover it.
As long as Obsidian meets those 3 checkboxes for me, I'm happy to pay $10/month, $20/month, $30/month, whatever.
Haven’t had the logging out issue either on iOS.
Bootstrapped startups deserve my money and commendable leadership should be rewarded.
The sort of thing that could say; pull down markdown files inside a CI pipeline from the sync server which is probably better handled using Git for sync but it seemed like a fun challenge.
I've got most of a working implementation from trawling through minified Obsidian code with the debugger, which of course is now a little moot given the OP's project basically captures everything needed.
Anyway, one core problem I ran into was how to decrypt file blobs. I was dreading the amount of time I would have to waste trawling through all the bits required and then they just... tweeted it out: https://obsidian.md/blog/verify-obsidian-sync-encryption/
I'm sure it would be possible to reverse engineer with enough time of course but it's nice to see some "unofficially official" user script type stuff. It gives the perception (and I'm sure it's accurate) that they dogfood and tinker with their own stuff as much as anyone else in the community.
EDIT: Ah, I missed that Kepano had already shared that blog post below already but it's still a neat writeup
The $$$ of the service isn't the issue but making sure there is a good compliance option and self hosted to ensure that data doesn't leave boundaries and is stored securely on company servers.
If there was an option to have a paid self hosted option I would happily look at paying for that.
Really like the fact that Obsidian itself is free and you charge for native sync (and publishing, which I also use) to support ongoing development of this fantastic editor and ecosystem. Thanks.
@acheong08 if you want a Sync subscription I'll be happy to cover it.
Git(hub) may be an okay choice though. But there would be issues like no SSH support for Git on Mobile clients.
Dropbox or iCloud are solutions you could put on a blog for folks who have no interest in learning how to use a CLI.
$8/month is a bit steep, but I snatched $5/month early bird pricing and I consider that to be a lot more acceptable of a price.
Edit: worth pointing out there's a 40% discount for non-profits and students: https://help.obsidian.md/Licenses+and+payment/Education+and+...
It's also hard to do micro payments on the internet ironically, on that 8$ you can easily pay almost a dollar of fees. If that wasnt the case I expect we would have a much different internet...
You simply synchronize the folder as with the desktop apps. Works right of the box without any workarounds.
Obsidian is great, but I'm not paying over 90 bucks a year for a simple file syncing service I can build in less than an hour.
Maybe the publish feature is worth it, but I'm content with the ObsidianPublisher workflow I set up for now.
Actively working on that. It’s a feature I’ll need since I mess up *very often*
Almost the same with me.
Turning WIFI off and on again is easier on my Android, it triggers syncthing to sync. But that might also require you to have set the run conditions of syncthing accordingly.
Obsidian is not able to open a local folder on my machine stored in Windows Subsystem for Linux, which for me makes it a non-starter (my personal knowledge base is stored there).
I personally prefer the Notion UI but hate being locked into their cloud, so I created an offline-first Notion alternative [1]. Offline mode is totally free (no user registration required), and aiming to add cloud syncing tomorrow or so. Still in active dev so needs a lot of work, but wondering whether others might find this useful. Goal is to make it be able to seamlessly sync across multiple data sources, and also easily to publish files/folders (eg. can currently turn folders into APIs when synced to cloud).
When Obsidian launched, there was already a lot of hype building in the note-taking community around Zettelkasten and Roam Research. With Roam, basically any word in your note could immediately link to another note, and you could see backlinks in your notes prominently.
However, Roam was both expensive and online-only, so when Obsidian came out and it was: a) polished, b) provided most of the functionality of Roam, and c) was offline and plain-text (also unlike Notion), it was an immediate hit.
The other special feature Obsidian offered was easy and powerful customization. The major settings are actually core plugins that can be enabled or disabled (like daily journal, tagging, or slideshows). Plugins and themes are easily discovered and installed from inside the app, which has led to a vibrant and popular plugin community. All you need is one plugin to be indispensable for users to never leave.
> The nice thing about storing all your notes on your device is that it makes it possible to move and edit your Markdown files in many different ways. That diversity of solutions is what makes the ecosystem of Markdown tools resilient over the long term.
I had seen similar comments in the past, and it just made me like Obsidian even more.
I've been using Obsidian for a few months now and loving it, and I had been meaning to find a way to support them financially in their endeavors. They share the same values that I do about the longevity of my notes :) I just purchased a Catalyst license.
- (it's also customizable so it doesn't _have_ to be, but I happen to like pretty much the default features)
- it's free if you don't need their sync - I just save my vault on an iCloud drive, which is convenient to me, and publish to the web with my own tool
- it allows me to keep my files where I want them- it's available on every platform I use
- the UI is not distracting, and is Good Enough™
Tribalism.
https://github.com/remotely-save/remotely-save
It supports more than just S3 (as is listed in the README), its just what I use.
That said, what you made is pretty cool. I guess you're trying to replace the API/backend similar to Vaultwarden does with BitWarden paid service.
For me, its not that I can't afford $8 a month, its just that $8 is to me fairly steep for basic file storage and sync I get for free from some services. $12 a year would be a fair price to me. I get some of it goes to support Obsidian development, but still seems steep, $2-3 a month would be something I'd subscribe for.
I want a durable way to edit, sync, and preserve my notes, not just a pretty interface.
I'm happy to pay Obsidian for sync, but if they PM this to only one distribution channel and subsequently enshittify it, I don't want it. Stopping acheong08 would be a bad signal forewarning what's to come.
What happened to the $47000 you got from Apple [1]?
[1]: https://medium.com/bugbountywriteup/how-i-earned-47000-usd-a...
this looks like it might be a bit cleaner once it's all fleshed out...
First time I heard about CouchDB was many years ago. I bought an O’Reilly book about it, even. At the time MongoDB was gaining a lot of traction, and I think because of that many people overlooked CouchDB.
I recently remembered CouchDB because I have some projects that could potentially benefit from replication between multiple machines. And in the case of my projects I think the database level would be an appropriate place to do replication. Hence CouchDB is an interesting proposition for my projects.
I installed CouchDB on my laptop for the first time in ages, and started inserting documents into it with a third party library for Rust. So far it is working nicely.
I have been obsessed by it the past months. Coming from MongoDB the querying is a bit more limited, but I'd use it over MongoDB in a heartbeat. Very simple to host and even to set up multiple instances. Also CouchDB was embracing serverless before it was cool with their HTTP API.
Only issue is i could not sync with an old iphone running iOS 12.
I'm looking for a documentation tool with a decent GUI for editing documentation in, which is backed by git for tracking changes, without having to have git configured locally (for non-engineers).
I can sync my markdown files from place to place with ease, but what I really want is the ability to POST myserver.com/newpage and have it artificially inject a new Markdown file at the path I request.
This could be system agnostic, Obsidian, Logseq, and tons of other local markdown knowledge bases could benefit from this.
Should note I use Obsidian for a journal, so it's pretty much append-only.
Reverse engineering is fine. It certainly is from a moral point of view, and also from a legal one in a lot of jurisdictions.
TOS depend more on the fact that you’ll behave than on whether they can actually be enforced (most have unenforceable clauses).
> Reverse engineering is fine...from a legal [perspective] in a lot of jurisdictions
Sorry, what jurisdiction permits one to violate a contract against reverse-engineering?
This is a pretty big problem that can't be hand-waved away. Companies everywhere have mere copyright on some materials that they make available if you agree e.g., not to reverse-engineer the interface or distribute the materials, essentially hoisting copyright to contract. This is how Java has worked for decades.
> Reverse engineering is fine. It certainly is from a moral point of view
In this case, the server is how Obsidian funds their work, offering free and paid parts. They're clear about it up front; they don't entice you and switch terms after you're committed. So how is it morally justifiable in this case?
> most have unenforceable clauses
The "enforcement" is not that they win their case, but the threat that they can take you to court and force you to pay a lot of money to escape the contract, especially in cases where you have significant investments or income. Unless you're dedicated to being so irrelevantly small that no one cares, why waste time building IP you can't benefit from, or telling the world that you don't care?
For people starting out, I would recommend picking viable projects, i.e., relevant to others, not illegal, not on dying technologies. They can exemplify not only your skills but also your judgment, and introduce you to the whole lifecycle of OS development if they have any legs.
And it may be best to find an unoccupied niche; in this case, there are alternatives already (better to invent than re-invent). (Unless you aspire to being a giant-killer :)
That's in part why the standard young-entrepreneur pattern is to pick new applications of emerging technologies, particularly those that irreversibly disrupt old industries or build new markets.
In this case there are many note-taking applications with syncing server. The unique project today e.g., might be to update an existing sync alternative to maintain a semantic model and then publish semantic cross-references, or publish a results of AI queries over the evolving set of highly-trafficked semantic topics.
Brother, don't be a wimp. You're giving people an open-source plan B to a closed-source product. Do this with your head and middle fingers raised high. Do you think Richard Stallman apologized to HP for reverse-engineering their printer driver? No, he started the whole open-source movement.
If you're worried about legal consequences, learn what people used to do 20 years ago, which is use pseudonyms instead of their real names. Create a burner email, burner identity, new Github account, and give American tech corps the finger as you write what you want.
The two obsidian itself is very open and it's free for use. Those making demands to reduce price or make the project open source are just thankless. How do you plan to make the business sustainable? Someone has to pay developer salaries, right?
You want open source? Use MarkText, Zettlr. The company is generous enough to offer the main product for free.
Anyway, I decided to fork and make it work with v1.4.5. Enjoy https://github.com/acheong08/obi-sync/issues/19#issuecomment...