XMPP and whatsapp bridge
from Im_old@lemmy.world to selfhosted@lemmy.world on 22 Apr 15:10
https://lemmy.world/post/14574200

Hello everyone! I currently selfhost a matrix server but, seeing everyone talking about xmpp, I decided to try again with that one. I did try about 8-9 years ago but couldn’t make it work (don’t remember the issue, probably pebkac).

My requirements are:

Would be nice if the server runs with docker images (but I see Prosody has the option so not an issue).

So basically I am a bit stumped only on the whatsapp bridge thing. I see some github repos for that but they all seem quite old.

Any help, pointers, suggestions would be appreciated.

Thanks!

#selfhosted

threaded - newest

wildbus8979@sh.itjust.works on 22 Apr 15:35 next collapse

As you’ve mentioned, I highly recommend you look at Prosody for the server. It is by far the easiest, but also really really good. The only thing ejabber might be better at is for extremely large deployments with failover and load balancing.

XMPP doesn’t use sip, it has its own protocol for voice and video calls (called Jingles). All servers, afaik, support it. On the other hand, SIP/RTP servers such as FreeSwitch and Asterisk do support Jingle bridging!

OMEMO and GPG support is purely a client side thing, so server support is irrelevant. Though some servers can be configured to refuse to pass unencrypted messages.

With XMPP bridges are usually implemented as external components (a feature built-into the XMPP standard). Slidge franeworm seems to be the latest and greatest in terms of external bridges: sr.ht/~nicoco/slidge/ a WhatsApp bridge is built using it: git.sr.ht/~nicoco/slidge-whatsapp

poVoq@slrpnk.net on 22 Apr 15:36 collapse

slidge.im/slidge-whatsapp/ Is what you want to use for WhatsApp right now. The Slidge gateway framework works best with Prosody currently, however to be honest Prosody’s Docker support isn’t great, but you can easily install it from a distribution repository.

There is the Prosody “distribution” called Snikket that does have well working containers, but it isn’t that easy to get it to work with Slidge currently. But maybe try it out with Snikket first, and if you like the normal use, you can try to recreate a similar setup with vanilla Prosody and the Slidge gateway.