After the arrest of Pavel Durov, I wanted to move from Telegram to something end-to-end encrypted. I know Signal is pretty good, but I think it is better to have our messages in my own server.
I have already looked in XMPP, but it required SSL certs and I did not have the mood to configure them.
Do you know any other selfhosted messaging service for a group of 4-5 friends, or an easy way to configure an XMPP server? Or shall I use Signal after all (I don’t really care that much about being selfhosted, I just thought it would be more privacy friendly)?
UPDATE: I managed to set up an XMPP server using prosody with the SSL certs. We have been testing it with my friend and it seems to go well.
If setting up TLS is too much work, better stay with a service. Signal is nice.
TL;DR - use Signal.
Re: self-hosting – go for it! The DIY route is an excellent learning experience, so this is the way to go if you want your own privacy-friendly chat service. There’s quite a lot to achieving “privacy” and “security” though (heck, even defining these is challenging)… have you self-hosted before? How important are service quality / speed / reliability, backups, mobile + desktop? Will the folks you want to chat with use/like it too?
Re: Signal – definitely check out this app as well. They (the Signal Foundation) take privacy very seriously. Messages are only stored on devices running Signal, and they are ephemeral by default. Actually, that’s a good thing to consider: How important are durable / offline archives of your chats, useful with other tools (like
grep
?). Signal makes offline archiving difficult by design (for the sake of security/privacy).Note that Signal is technically self-hostable, but I gather this is very difficult.
I self-host Nextcloud and I use Talk. I don’t love it, but I do find it useful for some things. Flipping on Nextcloud is pretty easy, but it is challenging to make it secure, reliable, fast, etc. And you still have to convince others to use it.
SSL certs is so easy with let’s encrypt, that really shouldn’t be a blocker.
If you want something easy I think you have your answer with Signal
What about p2p messengers?
IMO, Briar is the best option. I recently started a project to connect users in the Briar private groups and forums. We just need to get enough users active to get the network effect working for us and not against us.
Most people use either Matrix or XMPP. Both work.
There is a nice overview of chat protocols here: https://www.messenger-matrix.de/
I mostly use matrix as of today. I think it’s alright. It’s a bit difficult to explain encryption and device verification to other people… I think that could be designed better. But apart from that it works very well. So does XMPP which I’ve used before that. Have a look at the messenger matrix and all the options before deciding on an ecosystem. I’d take one of the friends and do some evaluation before dragging the whole group in. You can do that with some pre-existing servers before learning how to host the server part.
And btw: With most of them you can just use some public servers. You should do that unless you’re willing to put in the effort to maintain an own server. That’d give you complete control over the infrastructure… But it’s also a liability to maintain a server, do the updates etc for a group of friends and maybe years to come… End to end encryption will keep the content of your messages private, anyways. (If you use it.)
https://snikket.org/ is the easy to configure XMPP server, but it still needs SSL certificates. But that’s fairly easy to do with Snikket AFAIK.
Or you could simply ask the Snikket developers to host a server for you for a small fee. If you are US or Canada based https://jmp.chat/ is also a great service, and it includes a free Snikket server as an add-on.
Simplex is an option, you can host your own servers and it has crossplatform GUI + CLI
I think it’s pretty cool, and it’s pretty easy to set up (there are a lot of options you may wanna look at though)
something end-to-end encrypted.
required SSL certs and I did not have the mood to configure them.
…right…
Did you look into snikket? It’s XMPP-in-a-box.