Firstly: Yes, I like Synapse / Cinny / Element too…don’t hate me…but needs must when the devil drives…
For reasons that are too complex to get into (TL;DR: hodge podge of equipment from the dawn of time, from intransigent family members, complexity over HTTP vs HTTPS…they usual nonsense when you volunteer to become the family sysadmin) I’ve been looking at different methods for a persistent, family chat experience that I can “self host”.
Does anyone know much about Jami?
From what I can see, it has the following worthwhile features:
- FOSS/GPL
- Android, Windows, Linux, macOS and iOS.
- Text messaging ,group chats, video calls
- File sharing, E2EE etc etc
- It apparently works over a LAN with no Internet connection at all, which is particularly interesting to me.
- Federation not required.
- CA not required
- Transparent handoff with Tailscale
From what I can see, there’s a headless jami-daemon for Linux. Jami’s own docs specifically suggest putting an existing account on an always-online server to facilitate message exchange, with multiple servers possible for redundancy.
So…that’s…good.
OTOH, there isn’t a Synapse-equivalent central Jami server holding everyone’s accounts and rooms. Accounts and conversations are distributed across the participating devices, though as I said above, it looks like Jami does support an always-online daemon/device to improve message availability.
I dunno what to make of it. It seems…too good to be true.
Has anyone use it? Particularly, is the always-online jami-daemon actually dependable for store-and-forward behavior in practice?
I was never able to get it to work reliably. For those mentioning XMPP, Jami uses a serverless approach with a distributed hash table instead. In principle it has better privacy but in reality it’s flaky. IDK for sure if the flakiness comes from the DHT but either way I gave up. I might try again sometime.
I’ve been hammering it hard rn and it definitely is the Unified Push / DHT proxy. The instant those are disabled, it works reliably. So I may need to revise my position.
The thing that really caught my attention is the jami daemon
https://docs.jami.net/en_US/user/jami-for-servers.html
If I’m reading that right, it’s sort of like a headless instance that can store and forward. Additionally, it doesn’t require tail-scale / head-scale to do so (as jami has its own protocol). So no nonsense with domains, reverse proxy, certificate infrastructure or public chat service.
Ok…I think I have this narrowed down. Jami is fine…it’s just that the UnifiedPush / DHT proxy mode is ass. I was using SunUP for UnP. I might need to look at different solution or just accept running in background.
EDIT: tried Ntfy too; I’m 99.9% convinced it just cannot use UnifiedPush properly.
I would be very careful with it as it has a long history of being unstable and hasn’t had a security audit.
Honesty my recommendation would be to use Signal or Molly. While it isn’t the best from a anonymity perspective it is reliable and easy to understand and use
It’s 2026… Why do people insist on skipping the fact that XMPP exists?
Anyway. Just set up XMPP.
XMPP died along side XML. Outside of a few greybeards no one really uses it. I’m not sure why Lemmy seems to be so obsessed with a dead technology
TIL, XML ded
it’s really not reliable especially for non techies. plus it’s a real p2p so…
just setup XMPP
Yes, sadly I think you’re right. I played around with it a bit today…showed great promise…then uninstalled it and tried to do a fresh install and since then, nada.
https://snikket.org/ specifically for a small family server. Much lower maintenance and breakages than Matrix and thus less issues with the family.
Yeah…you know what? I’m going to try that. I’m sick of Jami and I am ready to burn Matrix to the fucking ground and piss on it’s ashes.
+1 for xmpp
I have tried it before, it’s neat, but notifications are not reliable since it is peer to peer (both devices need to be online for a connection), a bit like Briar if you’ve used that before. I don’t think it uses the Tor network, so it might be faster than Briar (but also less anonymous?)
I don’t have experience with the jami daemon though, so can’t comment if that solves the peer to peer issue.
I personally like Matrix the best, since you have federation, options for encrypted chats, self-host able with Continuwuity (or Synapse), lots of alternative clients for nearly every OS (even mobile Linux, you have Fractal! FluffyChat also works but it’s definitely oriented towards Android devices)
It sounds good but in practice it doesn’t work out; laptops sleep, people put their phones on airplane at night, whatever happens in life. The “best” solutions use some sort of cache-and-forward relay (thinking like DeltaChat relays, or I hear SimpleX is adding them) but I think most end up looking at Snikket (xmpp) or Matrix for the group management etc. on a central server. The Disroot group uses “Movim” which is XMPP highly customized to a social experience.
I use DeltaChat with friends and there’s a lot of things you can’t do because it’s essentially P2P with caching relays - like Jami, all control and data is stored on the device(s). If all you’re looking for is a Signal replacement it’s great (and why we use it), but if you want good group social controls you gotta go the central server route.
I think Jami here could do with caching relays like Delta has, could move this project to the next level.
I think that have that now, thus my interest
I like matrix too but am dealing with weird networking issues, across ancient devices. Issues around MatrixRTC, old android devices, using HTTP vs HTTPS and the like are making me not want to live on this world any more.
I like matrix too but am dealing with weird […] issues
The quintessential Matrix experience
Try Matrix, they said. It will be fun, they said.
…
They.
Lied.
Well, there’s also IRC and XMPP. Could those work better for older devices?
Dunno, but neither are encrypted, so don’t use them for anything sensitive.Signal is good if you want security, they’ve been audited a lot, but they are based in the U.S. which isn’t great.I’ve also heard of Stoat (formerly Revolt) and Fluxer, both are relatively new, but I would prefer Matrix over both since it’s more easily self-hostable (+ all those different clients to choose from!)
edit: I really didn’t know, but looks like XMPP does support encryption! (and it’s enabled by default on most clients!)
deleted by creator
Not only does XMPP support encryption, it does the same double ratchet encryption scheme which signal uses.
IRC supports TLS encryption. Many large networks don’t actually have it enabled or use self-signed certs because they still think it’s the 1990’s, but if you make your own server you can use TLS just fine.
So I’m doubly wrong! That’s kind of neat
neither are encrypted, so don’t use them for anything sensitive
I run XMPP - just wanted to say that all major XMPP clients (the ones I’m thinking of are Conversations, Monal, Dino and Gajim, among others) encrypt-by-default, you have to actively go out of your way to disable it per contact.
That’s actually pretty cool, I’ll be making an XMPP account then. Adding to my collection of chat apps!
Oh whoops, I didn’t know that! That’s kind of neat, didn’t know had encryption. I will amend my comment
I never tried deploying Jami, as I settled on XMPP for this use-case. But, let us know how it goes if you do try it! I haven’t seen many review it before so I’d be interested to hear your experience.
Postscript: it went terribly. That is…it worked perfectly on test devices / with test accounts. Then I thought "ok…this has potential! Then it shat the bed, in a way I couldn’t grok (and frankly, I didn’t have the energy to trouble shoot).
Then I thought “fine…clearly Jami is flaky. LiveKit and MatrixRTC are shitty with Synapse…I know X wants to video call Y…let me try a clean cut over to Continuwuity + Tailscale”.
…and now I hate everything and everyone.
So, that probably means I will try Jami again one more time and then just switch to Snikket.
The moral of the story is: I should have played with dollies as a kid instead of computers, because this exact pattern of fuckery has been the bane of my existence near on half a century now.
Le-fucking-sigh.
Fuck it; I’m going get Claude to set this up. “Claude, take the fucking wheel and make no mistakes.”
Ahhh, sorry to hear it :(
I should have play with dollies as a kid instead of computers
Probably we’d all be happier :)
So, that probably means I will try Jami again one more time and then just switch to Snikket.
Good luck! I hope it goes well
Unlikely…but I will try again. For fun









