I am searching for a selfhosted and secure (end to end encryption) chat platform for my family (5-20 users), possibly one i can host on a raspi.
Is matrix a good choice, or should i try something else?
Any Reason Signal doesn’t do it?
Selfhosted isn’t always the Best option
XMPP. It just works, requires very little resources, is stable and has decent clients.
I would go with Snikket instead of Prosody if I had been starting now.
Conversations on phones, Dino or Gajim on PCs, plus a conversejs install on the xmpp server, to allow web access when needed.
Conversations is easy for the family to figure out.
XMPP if you are loving the 90’s
IP was invented in the '70s. Sometimes older protocols that work are just fine.
Same with email.
Sick burns
Edible paper, lemon juice, and hair dryers.
My threat model is not that big :)
I guess you’re not a furry then.
licks the edible paper, but it tastes like plant
meows
Ideally, SimpleX (https://simplex.chat/). Session is nice, but less secure (https://getsession.org/). Delta Chat (https://delta.chat/en/) will be secure enough, and the most familiar visually. Lastly, XMPP is a great solution as well.
I know it’s not self hosted but why not Signal? Matrix is demanding on a SBC and your family would probably get the ‘unable to decrypt message, please re-verify keys’ error that happens in encrypted matrix group chats and Element does not have the best UI especially if you want your grandma to use it.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters IP Internet Protocol RPi Raspberry Pi brand of SBC SBC Single-Board Computer SSL Secure Sockets Layer, for transparent encryption TLS Transport Layer Security, supersedes SSL VPS Virtual Private Server (opposed to shared hosting) XMPP Extensible Messaging and Presence Protocol (‘Jabber’) for open instant messaging
5 acronyms in this thread; the most compressed thread commented on today has 7 acronyms.
[Thread #809 for this sub, first seen 16th Jun 2024, 15:45] [FAQ] [Full list] [Contact] [Source code]
XMPP is fantastic IMHO
If you want to support a great project and have great uptime check out conversations.im
I don’t recommend self hosting something you want available all the time. That being said everyone has different needs/uses 😊
I’ve been using matrix for years to this purpose, but moving to xmpp/prosody now
Can I ask why you’re switching?
No.
Yeah ok. First of all, because I can 😁. I mean z what’s good being an IT nerd if I can’t change stuff when I want?
Jokes aside, I’ve been reading more recently on matrix and looks like there are some security issues in the design of the app/protocol. I’m on mobile now, I’ll look for sources when I’m on pc. Also I don’t like that it is a server centric system (so data is primarily on the server instead of the clients). Also it takes more resources than I was expecting. For less than 10 users I can’t have less than 4gb of ram (on a dedicated debian server, running docker) or it swaps so much it kills the system.
So basically I’m testing out if xmpp is a better system for those issues.
Conversations being paid on the google play store is what’s stopping me from going xmpp… I can’t just say “message me via xmpp, you can use the Conversations app”. Now I’d have to explain what F-Droid is and why would they even get another app store and enable “unknown apps”. it’s not doable. I remember telling my mom to install Signal (before I got into self hosting) because I deleted whatsapp and she got angry like she worked for the zuck, saying “what do you mean you don’t use whatsapp” with an astonished face, started lecturing me on why I was destroying my social life… That just made me realize right now they probably wouldn’t download conversations either…welp I just wanted to share
I know exactly what you mean. Just for general information, I’ve found another android client that I think it’s better than Conversations. It’s called Monocles chat (and it’s on f-droid). On matrix/xmpp I install the whatsapp bridge. I can convert a few close family members but no way everyone. For me it’s an acceptable compromise. I get the close members to use my servers/apps, everyone else through the bridge so I can at least have all the chat in one place
Matrix or XMPP.
Is it fast on a raspberry pi?
Nothing is going to be fast on a raspberry pi.
minceraft
E2E is complicated, if you self-host for a group, having TLS and encrypting data at rest (storage) may be enough. Get a threat model. That being said, I would recommend snikket.org which is a superset of extensions over XMPP which is the open source IM that was the base of almost every app out there. Matrix and Rocket are both alright too. Depends too on your resources, synapse requires too much RAM (or so I heard)
Yes, XMPP with proper TLS on the server side and Conversations or one of its forks (preferably fetched from F-Droid) using OMEMO encryption should be good enough. If you are brave or paranoid, give Tox a try: https://tox.chat/
Except tox’s graphical clients aren’t maintained anymore
three main ones I’ve seen in this comment section are
• XMPP
• Matrix
• SimpleX
So all of these encrypt the conversations so not even the server admin can access them?
XMPP only does it with certain client extensions. And Matrix only does it when the rooms are set up this way. SimpleX does what you want, but is kind of unintuitive for the average user.
I say go with Signal, it does what you want and is idiot-proof.To be fair, pretty much all major XMPP clients have adopted OMEMO encryption, so doesn’t seem like much of an issue.
It is literally one setting in Matrix to force all rooms to only do encrypted messages.
Signal is pretty unintuitive when it comes to multiple devices per user, device transfers after a device has been lost,etc.
Signal is perfectly good under normal usage. Everything is unintuitive when it comes to extremes like losing your device.
Signal is annoying to use if you don’t have a smartphone you can trust, since they do not allow registration from desktop. So either an Android VM or Signal-cli. But maybe it was just a one-off bug that the desktop client didn’t bind to signal-cli for me. Still, the fact that you need an unofficial command-line application just to register makes it not exactly user-friendly.
I imagine that most people’s families will find Singal easier than using a CLI program anyway. It’s rare to find an entire family without typical cellphones.
Yea, but a typical cellphone is not as easy to make private as a typical laptop or desktop. Lineage has some tradeoffs and not accessible on all devices, and Graphene needs even more specific, quite expensive hardware!
Simplex chat would work
However, I wouldn’t host on a Raspberry Pi or even at home for that matter. Get a VPS and host it there. Linode even has a one click app install for Simplex Chat
Why not host at home?
To much risk and you won’t have as much uptime.