I want to selfhost a messaging service for my family. It should be secure and have voice calling option, ideally. Thank you.
I want to selfhost a messaging service for my family. It should be secure and have voice calling option, ideally. Thank you.
Matrix. With its bridges you can “wire-in” networks like WhatsApp, Slack, Signal, Telegram, Discord, iMessage, SMS, e-mail, … and have a single app that interacts with them all. You can have a single group chat with users from all those networks participating and no one would be any the wiser.
From my experience (with Dendrite, not synapse, so keep that in mind), bridges create “fake” users to replicate your contacts on these platform as matrix users, and they are visible on the whole instance by all their users (but you might not be able to talk to them). Also, in puppeted mode (which is what you want to “replace” your app with matrix), only a single user can use the bridge at a time, so the other users cannot use it.
This is true but if you’re self-hosting it’s not that much bother to add additional copies of a bridge for other users (granted, it’s not ideal).
Bridges were not that easy to manage in my case (regarding process management, and ease of config deployment/reproductibility). It was on OpenBSD though, so your mileage may vary. And still, it leaks all of your contact informations to the other users of the server (like their phone number eventually), so definitely not suited for public instances.
Leaks contact information to the other users? Can you elaborate on that? I haven’t heard anything like that
That’s from my own experience. I had a self-hosted matrix server running with Dendrite, and the mautrix-whatsapp bridge running. The bridge was running in puppeted mode, so upon synchronizing contacts, the bridge created “fake” users on the matrix server, one for each of my whatsapp contacts. The matrix username of these contacts is (by default)
whatsapp_<phone_number>:domain.tld
. And these users are visible (at least) by other users on the same server. It was my own instance and I was the sole user so I didn’t really care. But when a friend of mine wanted to try matrix, I created an account for him on the server, and when he joined, he could see all the fake whatsapp/telegram/discord users created by the bridge on the server. And as the default username includes the phone number, he basically had access to my whole phone contact list in real time.Very interesting.
https://github.com/matrix-org/synapse/issues/8969 This may be of interest- it’s basically the same thing. Seems that before that patch was merged, bridge-created puppet contacts would show up in searches.
Of course that’s for Synapse not Dendrite. So it sounds like Dendrite never applied that same functionality.