Selfhost IM recommendation?

I found that the best IM for me is Syncthing. Syncthing has easy-to-use and cross-platform client. It’s P2P and encrypt with TLS. It does not require phonenumber or register. The discover server and relay server can be selfhost very easily. Users only need to download and run the binary and no domain name is needed. The only problem is that Syncthing is not an IM.
So is there such an IM app available? I want to chat with my friends and they have no tech skill. Signal is great but the official client doesn’t support custom server. It seems that I can’t run a Matrix homeserver without a domain name. Maybe there are some other choice? Thanks for any help!

This is janky, but I guess you guys could use a txt file (or amy readable document) to Syncthing. The problem with that is a sync issue. If you all 3 edit the file at the same time, I have no idea how that will be resolved.

Right now Signal is the easiest to use of all the reasonable secure messenger. The next best thing is probably Matrix-Riot combo as that could be set up by you and the system itself isnt so much intuitive.

“They have no tech skill” makes this a bit harder as many secure and self-hosted messengers require some level of technical skill…

Signal is a great choice of course. It provides strong, audited encryption, and it’s also easy to use which is very important if we want to make secure communication more popular among average smartphone users.

But if you definitely do not want to trust a centralized service, let’s explore the alternatives as well.

Matrix - is a domain name really required? Or is it only required if one wants to join the global Matrix federation? I’m somewhat sure that it’s possible to host a private homeserver without a domain name, please correct me if I’m wrong. Using raw IP addresses to connect to the server is a bit impractical, but you can use a dynamic DNS service to make connecting easier. Note that some clients may not have full support for end to end encryption. This is a potential pitfall of Matrix - end to end encryption is not enforced. Element (formerly known as Riot) should be a safe choice, although it’s rather resource-heavy.

Is Mumble any good? Does it have strong transit encryption? It does NOT have end to end encryption, so having one on one discussion is not recommended unless one can trust the server owner for 100%. Exactly 100%.

Various XMPP clients - I’m not familiar with these. Some technical skills may be required, and there’s a big drawback: encryption is not well defined. One must explicitly choose a client that supports (and preferably forces) strong encryption, and make sure that it’s always enabled. But people can choose bad clients, and can the server force the clients to use encryption? I’m afraid it can’t.

Rocket.chat is listed on privacytools.io and self-hosting is mentioned there. But it doesn’t apparently have well defined end to end encryption yet. Keybase was just removed from privacytools.io recommendations. I don’t remember if it could be self-hosted or not.

And then there’s the option of using decentralized messaging systems. Jami is listed on privacytools.io - it requires a central server but only for identity management and NAT traversal, so I’d call it weakly decentralized. Is it possible to actually self-host such a server?

Tox is a fully decentralized protocol that only uses other computers for bootstrapping but it’s apparently still considered experimental. It’s no longer listed on privacytools.io.

Retroshare is another fully decentralized P2P communication system and it might be a very good option between trusted friends, but it’s very technical as far as I can tell.

Then there’s Briar which is a high privacy messaging app, using Tor and mesh networking for everything. It’s only available for Android for now.

1 Like

Lol. It’s a good idea.

Signal is great but I have some problem with it. Telegram has been blocked in some region and Signal can be blocked easily, too. I do not want to use a service which may be blocked sooner or later.

Signal might find a way to bypass censorship, they did it in the past. But I would say the best thing for you would be P2P (Jami, Briar, TwinMe…) or Decentralized service.

Instead of self-hosting, you can also buy commercial Matrix (e.g. EMS) or XMPP (e.g. Conversations ) service, or just use some of free public not-so-popular servers

Signal is great but I have some problem with it. Telegram has been blocked in some region and Signal can be blocked easily, too. I do not want to use a service which may be blocked sooner or later.

So it’s not about trust but rubost and anti-censorship.

The first line in synapse’s doc ask me to set a domain so I thought a domain name is required… I’ll have a try, thanks!

Mumble is a voice chat system and I guess I can’t transfer files.

Conversation is a great XMPP client. But I failed to setup a jabber server. I’d give it another try.

Rocket.chat, zulip and Nextcloud may be useful. They are not IM but looks like they can be used as IM.

It’s possible. The bootstrap server, OpenDHT proxy and TURN server are configurable and can be selfhost. But it’s not easy. I need to compile something…

And the bootstrap node is hard encoded so I can’t selfhost it, though every peed can be used as a bootstrap server. If Jami can work in a similiar way it would may life easier.

Yeah… I tried it long time ago and do not want to try it again.

The Tor is a problem. If I want to communicate with my friends with briar, I have to help them setup tor…

I’m trying to selfhost Jami. I’s great but I hope they can make it easier to selfhost. And I wonder is it possiable to selfhost it on Windows…

I just realized cryptpad.fr has collaborative tools and self hostable (?) and can do syncing documents if you are into that. Their documents has chats, if I recall correctly. You can use a “document” as a “forum thread” in a way