Comment on Self-hosting messenger infrastructure
smiletolerantly@awful.systems 7 hours agoI unfortunately wouldn’t call it solved. I host XMPP and Matrix, (and a STUN/TURN server, and a Livekit server for the modern matrix calls…), and nothing is perfect.
Prosody is really great because it’s so no-nonsense. It doesn’t hog resources or choke up like matrix servers do if you suggest to them that maybe they could deliver this text message? :3 Oh, no, it’s “hold for 2 weeks despite the recipient being online” again? Ok…
But XMPP is still incredibly hard to recommend for me, because
- no way to read old chats on new devices, which honestly is close to a deal-breaker for many people, myself inclided. And
- apart from maybe monocles on android, the clients just suck ass. They’re bad. Their UI/UX is stuck 20 years ago, and that does matter.
Hence why I still mostly use Matrix… Even though it’s such a stupid, stupid protocol.
@smiletolerantly @lambalicious "no way to read old chats on new devices,"
If you're talking about unencrypted messages, then prosody's mod_mam (https://prosody.im/doc/modules/mod_mam) will store messages for a configurable amount of time and allow all devices to sync older messages.
If you're talking about encrypted messages, you have two choices. OMEMO is the standard means for encrypting XMPP messages, & only works in forward mode; you can't decrypt old messages. OpenPGP, however, decrypts old msgs.
smiletolerantly@awful.systems 6 hours ago
Yes, encrypted (otherwise what’s the point? 😄). I’ll admit I haven’t tried the PGP version yet. How’s client support? For OMEMO it’s pretty lackluster, from what I’ve heard not much different for PGP?
In any case, perfect forward secrecy is definitely a good thing / strength, but I’d like a way to re-encrypt messages from an old device, just as an example, during the setup process; or a standardized way to export all history; or just something beyond “either use worse or no encryption, or loose access to your history eventually”.