Modern messaging: Running your own XMPP server

https://news.ycombinator.com/rss Hits: 9
Summary

Modern messaging: Running your own XMPP serverSince a years we know, or might suspect, our chats are listend on, our uploaded files are sold for advertising or what purpose ever and the chance our social messengers leak our private data is incredibly high. It is about time to work against this.Since 3 years the European Commission works on a plan to automatically monitor all chat, email and messenger conversations. If this is going to pass, and I strongly hope it will not, the European Union is moving into a direction we know from states suppressing freedom of speech.I went for setting up my own XMPP server, as this does not have any big resource requirements and still support clustering (for high-availabilty purposes), encryption via OMEMO, file sharing and has support for platforms and operating systems. Also the ecosystem with clients and multiple use cases evolved over the years to provide rock-solid software and solutions for multi-user chats or event audio and video calls.All code snippets written below work in either Debian os Raspberry Pi OS.Setting up your own XMPP serverThe connection from your client to the XMPP server is encrypted and we need certificates for our server. First thing to do is setting up our domains and point it to the IP - both IPv4 and IPv6 is supported and we can specify both later in our configuration.I assume the server is going to be run under xmpp.example.com and you all the following domains have been set up.TypeNameNotesAxmpp.example.comyour main xmpp server addressAconference.xmpp.example.comneeded for MUC (Multi User Chat)Aproxy.xmpp.example.comneeded for SOCKS5 proxy supportApubsub.xmpp.example.comneeded for publish/subscribe supportAupload.xmpp.example.comneeded for file uploadsAstun.xmpp.example.comneeded for audio&video callingAturn.xmpp.example.comneeded for audio&video callingFill in the IPv6 addresses accordingly.ejabberd is a robust server software, that is included in most Linux distributions.Install from Process One re...

First seen: 2025-10-06 13:05

Last seen: 2025-10-06 21:07