I’m looking to try self-hosting an XMPP server for my family to use as a secure communication platform. I realize that end2end encryption with XMPP doesn’t seem as strong as something like Matrix but my self-hosted Matrix server has been very unreliable.
I’m looking for recommendations and resources. I’v considered running Prosody and Openfire but both of them look like a pretty involved installation process with plenty of room to fuck up. Does anyone know of something similar to matrix-ansible-install for an XMPP server? Should I be looking at something besides Prosody or Openfire?
Please, no YouTube tutorials. I prefer written instructions.
Who told you this bit of misinformation? OMEMO e2ee on XMPP is significantly “stronger” than what Matrix does (which is a watered down version).
Snikket mentioned below is probably the easiest to get started with.
Nobody told me this, it was just lack of information on my part. Matrix makes a big deal about end2end encryption but Prosody and Openfire don’t seem to put that point out front.
Why would they? They are not selling snakeoil 😏
On a more serious note: e2ee is a client feature, so it makes little sense for server software to highlight it.
Is there a client for Android that you would recommend which implements OMEMO?
Conversations from F-Droid is pretty solid.
If you are using Snikket, use the Snikket app. It has OMEMO enabled by default. Otherwise I think Cheogram is good, see: https://joinjabber.org/docs/apps/#
You can use Snikket with other servers too, there is no restriction or special sauce. It’s mostly a fork of Conversations.
Prosody and Openfire are servers while end-to-end encryption happens on the client side (that’s why it’s called end-to-end). It would be kind of strange if a server implementation talks about E2EE. The OMEMO protocol only needs server features which are widely implemented. Maybe there is an ancient XMPP server implementation out there that doesn’t support it, but you will be fine with Prosody, Snikket, ejabberd or anything else really.