Live data from Hacker News

Modern messaging: Running your own XMPP server

codedge.de

121–130 of 156 posts

Re: Modern messaging: Running your own XMPP server

#121
post #111

Earlier quoted context omitted.

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

iirc, matrix started as attempt by Amdocs (in same org that I worked at) to give to telecoms their own messaging client that will be better than SMS in order to compete with OTT clients that they saw as "unfair" and "eating their revenue" hence, matrix by definition was born due to business reasons and not technical.

you may be mixing up Amdocs UC (which i ran) which was explicitly OTT-messaging-for-telcos… with Matrix, which is what the UC team did next. The point of Matrix is/was to replace the PSTN with a decentralised alt on the internet - so everyone (including Amdocs) could then go build cool stuff on top.

Re: Modern messaging: Running your own XMPP server

#123
post #20
post #14

Last time I tried this I couldn’t even find an iOS client that supported reactions. Hate on the complexity of Matrix all you like, but at least when you ask your family to use it, they get a modern experience and don’t feel like they’re giving up everything vs every other messenger they are used to.

I recently tried to move people over, and the iOS situation is bleak. It seems like notifications don't work at all in any app, which is a big problem for chat. Also, one of them (I think Siskin?) doesn't display sender name/avatar in group chats, so you can't tell who sent what. There's also some weird behavior with how E2EE works, which is causing me problems in group chats. Initially it worked, but now people are…

For (repliable) notifications on iOS, you need mod_cloud_notify server-side.

Re: Modern messaging: Running your own XMPP server

#125
post #111

Earlier quoted context omitted.

iirc, matrix started as attempt by Amdocs (in same org that I worked at) to give to telecoms their own messaging client that will be better than SMS in order to compete with OTT clients that they saw as "unfair" and "eating their revenue" hence, matrix by definition was born due to business reasons and not technical.

you may be mixing up Amdocs UC (which i ran) which was explicitly OTT-messaging-for-telcos… with Matrix, which is what the UC team did next. The point of Matrix is/was to replace the PSTN with a decentralised alt on the internet - so everyone (including Amdocs) could then go build cool stuff on top.

isn't matrix is direct continuation of amdocs uc with same team, your including ?

Re: Modern messaging: Running your own XMPP server

#126

I love XMPP. I've never missed a notification with it and I wished I switched back to it sooner rather than sticking with Matrix, I do wish it gets more love these days. I've been tempted to make my own desktop client and integrate VoIP with something like Mumble to achieve a Discord like experience with voice channels, but that's way beyond my pay grade.

Movim and Dino do multi-party jingle, aka voice and video group calls. Maybe you can contribute to improving it ;)

Re: Modern messaging: Running your own XMPP server

#127
post #113

Earlier quoted context omitted.

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

> I don't understand why everything has to be centralized/ routed through an intermediary. Well I do understand it, modern big corps wants to be that intermediary for various reasons, but thats a business reason not a technical one. centralized? no If you sign up for messaging on let's say Signal, do you really want your client to talk to Facebook, Google and dozens of other services? And do you want the users of you…

My idea is basically person to person comms. Why can't they just send messages directly to each other? I guess mobile can't do this and relies on polling (i.e. you can't expose a service running on the phone for security reasons). And when the group gets large enough, beyond say 3-4, sending messages to each recipient gets unwieldly

Re: Modern messaging: Running your own XMPP server

#128
post #118

Earlier quoted context omitted.

> It's not a send once and forget kind of thing, like XMPP, Signal and email. It's about keeping your chats synced on your server, and with any other server you happen to be federating with. It's Discord or Slack, except federated. That's not easy, and it's not simple, but it has huge advantages too. And huge disadvantages. I don't understand why everything has to be centralized/ routed through an intermediary. Well…

XMPP is a client/server model too, that needs to store messages for some configurable amount of time. What distinction are you trying to make here? There are very few peer-to-peer messengers.

Yeah peer-to-peer would be my idea. Send directly to each participants device, no third party involved, at least for the messaging part. So one less vector for attack. You'd probably want a central service for determining who's online.

Wouldn't work well for more than a few people, but not every conversation has group sizes that large.

Re: Modern messaging: Running your own XMPP server

#129
post #69

As much as I like the idea of XMPP, I don't have good experiences from interacting with it. Neither clients nor protocol/server level. I've written multiple parsers along the way, back in the days when there was nothing else and more recently for use in very constrained embedded contexts. I don't know how much has changed, but it was more complicated than I would have wished, seemingly designed more to check theoreti…

I have been running a family and friends XMPP server on a cheap VPS for almost 10 years and the only downtime we had was when the datacenter burned down (OVH, true story).

Re: Modern messaging: Running your own XMPP server

#130
> I assume the server is going to be run under xmpp.example.com and you all the following domains have been set up.

> [multiple A records]

"A" DNS records may be used for a fallback, but SRV records are the primary way to configure those [1, 2]. Also some of those can reuse an existing domain name, and some may not have any DNS RRs, but only be used as an internal JID.

> ejabberd is a robust server software, that is included in most Linux distributions.

Prosody [3] is another nice and popular option.

> Install from Process One repository

> Install from Github

Both ejabberd and Prosody are available from regular Debian repositories as well.

> Make sure the fowolling ports are opened in your firewall, taken from ejabberd firewall settings.

A port range is also needed for TURN, to use for relaying. And there is a typo.

> Clients I can recommend are Profanity, an easy to use command-line client, and Monal for MacOS and iOS.

Among relatively feature-rich and user-friendly ones (quite polished, supporting more recent standards, including voice calls with DTLS-SRTP, OMEMO), there are also Conversations for Android, Dino for Lignux (GUI), poezio for TUI (though that one has no voice calls). Setting converse.js (a Web client) may also be convenient (and done rather easily, at least with Prosody).

[1] https://www.rfc-editor.org/rfc/rfc6120.html#section-3.2.1

[2] https://xmpp.org/extensions/xep-0368.html

[3] https://prosody.im/

Post reply on HN