I’m in a tailscale network with everyone I want to chat with if that changes anything.
Must be/have:
- Easy to roll out, not much harder/more involved than setting up something like discord ideally.
- Clients available on Windows and Android and Linux of course.
- Decentralized/Peer to Peer. I don’t want to set up a server computer but I will if I absolutely must. All devices behave as if they’re on the same LAN thanks to tailscale if that helps.
Would be nice to have:
- Groups and sub groups like discord.
- Stickers like telegram.
- Voice/Video chat. I would miss desktop streaming a bit but I could always fall back to Discord if I must.
Is there anything at all like that? There are so many options it’s kind of overwhelming.
I recommend Matrix, but it may be a little more work than you’re hoping for
So matrix will do everything on my list except being p2p is that right? That’s unfortunate but I’ll bite that bullet if I must.
Yes I believe so
I’ll give both of those a look. Briar looks very cool!
decentralized is the part that makes it hard to find. there are projects like briar (interesting project but very few features) and tox (had many features features but used to be quite unstable) and gnu jami (haven’t tried it in a decade) alongside others but tend to have a bunch of downsides. you can ignore some since you have a static list of contacts but you might want to look deep into them to learn the caveats.
what I recommend is xmpp. is very lightway and easy to setup and gives you all the features you listed (not all clients support stickers but some do) but you need a server for that (any small one would work tho). matrix works also good but it’s way more complex and more geared towards group chats
That’s a shame. I wonder why P2P isn’t a more popular feature. Having to run a server in 2025 is honestly a pain. My ISP wants an extra $50 a month for “business internet” if I want a static IP and to turn off the default “firewall”. Can’t even run a minecraft server off my own computer anymore, the internet is just accepted as being one direction now. You’re the consumer, of course you don’t need to run a server, that’s only for the likes of google and meta and X.
Also I don’t want to just leave something running all the time just in case someone wanted to message me.
why p2p isn’t popular
my guess is because is quite hard to get it right in a generalized way. as you mention it, most people approach the internet as just consumers (not by choice) and p2p breaks this model. it requires interest and knowledge to succesfully use it and poses many problems not found in the standard client-server model (open ports, nat, global discovery). while there are known ways of solving them, they usually require workarounds and tend to have downsides. i remember following the tox development for a while and it had to use a central server for push notifications because general usage was very battery hungry.
all of this problems make the projects quite niche so their development tends to be way slower than centralized one (usually sponsored by corpoations). they tend to lack user friendly interfaces and non-vital features so they fail to bring new users, specially non-technical ones. also, open source culture has been slowly going towards a corporate-friendly culture, making this type of software alien to many.
edit: formatting
p2p … poses many problems not found in the standard client-server model (open ports, nat, global discovery).
Tailscale breaks through that pretty well. It really does “just work” It is centralized but to the absolute minimum required to break through the barriers between you, creating as direct of a physical connection as possible. I’m hoping one day soon something like it will come standard. I’m surprised there isn’t an easy way to run matrix, but p2p over LAN. Tailscale could easily do the rest, including encryption.
I agree whole heartedly about the corporate-friendly culture point. Particularly the abrasive culture of everything related to Gnome, yuck.