However, I do not want to risk storing absolutely sensitive data (browsing history, auth cookies, credentials, etc) at some third party.
Everytime this comes up in HN comments, someone says that Firefox Sync can be self-hosted. And while this was true in the older versions of Firefox, it seems to me that self-hosting is currently neither supported nor documented. And it has been like this for at least since 2020[1][2]. It seems self-hosting is not a priority for Mozilla.
Is anyone actually self-hosting Firefox Sync? If so, how do you do it? How is it working for you? Any issues to be aware of?
[1]: https://github.com/mozilla-services/syncstorage-rs/issues/681 (opened on Jun 22, 2020)
[2]: https://github.com/mozilla-services/syncstorage-rs/issues/550 (opened on May 26, 2020)
I do hope that syncstorage-rs will become usable eventually and hopefully improve performance.
Note: contrary to your post, cookies are not synced.
It still uses the Firefox identities service, since I haven't bothered to try setting that one up myself. That means I need a Firefox/Mozilla account even with a self-hosted sync server, which isn't ideal.
Note that Mozilla do provide a script to delete all your data from their servers[1], in case you were using Firefox sync before going self-hosted.
I originally went through the setup instructions manually. Now I've created a Nix package[2] and NixOS module for it[3], which was an adventure by itself. I can now easily reproduce the setup, which I did while migrating my webserver to a different provider.
As for why I didn't try syncstorage-rs, it's rather petty, but the old syncserver was working well for me, and it doesn't yet support SQLite.
[0] https://github.com/mozilla-services/syncserver
[1] https://github.com/mozilla-services/syncserver#removing-mozi...
[2] https://git.sr.ht/~williamvds/config/tree/master/item/nix/pk...
[3] https://git.sr.ht/~williamvds/config/tree/master/item/nix/mo...
It does not really solve your problem for browser-history/credentials etc. But as long as you use a client that you verified you can be kinda sure the data is E2E encrypted and can't be read by Mozilla.
Also on a side note: To this day the weave protocol is one of the more (needlessly) complex protocols I ever implemented and I'm still not sure what problems some of the design decisions solve...
[1] github.com/mikescher/firefox-sync-client
FWIW Firefox says they do not have the capability to read your data: https://hacks.mozilla.org/2018/11/firefox-sync-privacy/
To Mozilla: fire your overpaid activist CEO Mitchell Baker and use the resulting funds to hire (back) the developers she got rid of, clean up the mess, get rid of the social justice nonsense and take back your place as a browser development organisation instead of a 'colours of change' peddler.
I stopped doing that after some time, it seemed too futile. Errors are hard to debug and you're on your own, plus I was not using it for passwords or CC, so it just wasn't worth it.
Shameless plug: https://vasvir.wordpress.com/2021/03/30/firefox-sync-server-...
TLDR: If you're OK with piggybacking on them for auth, it's straightforward, easy and lightweight. If you want to be fully self-sufficient and leak no data you need to either implement a replacement for fxa (seriously this would be appreciated and maybe less effort if you're coming in fresh) or host that whole machinery of microservices - this is where the head-scratching starts and you need some dedication for it.
I encourage other people to do it, and do go to whichever is more appropriate of the Matrix room or the GitHub Issues and engage when you hit things that are out of date, unclear, or broken.
I'd like to sync just bookmarks without joining the "Firefox ecosystem" or any other ecosystem.
Is there some bookmark sync extension with a self hosted sync solution or that will just sync via a (service similar to) Dropbox folder?
Edit: syncing via a git repo would be fine for example :)
I don't really understand how Mozilla continues to function at all as an org.
Simply because the URL of Firefox Sync hosting is hardcoded into the Firefox iOS app.
Hence thwarted my zeal to self-host Firefox Sync.
Heck, there is NOTHING configurable about Firefox iOS, not even an URL config:about.
I see there are bookmark sync extensions, but only bookmarks (and I didn't check if those extensions allow self hosting).
I suppose you could always run Firefox portable from a location that was Dropbox/Nextcloud/syncthing/whatever synced. Just don't run two instances at once, or the SQLite DBs will have a bad time?
Con: no „real“ Firefox Sync - Pro: no „real“ Firefox Sync - it works on any device with any browser, data is self-hosted
At that time i stoped selfhosting & using it :(
So self hosting isn't as necessary.