Matrix Synapse Chat Server

Tonight, I successfully navigated a myriad of online instructions, and finally got my Matrix Synapse encrypted chat server working. So, now, my wife and I can have truly private, end-to-end encrypted chats, without relying on Facebook owned WhatsApp anymore, or servers owned and operated by anyone else.

There are plenty of instructions on how to get Synapse installed, but all of them are just a little bit incomplete. I ran into a few unexpected issues, which were all solved eventually by googling and reading multiple sets of instructions, and a dozen or so bug reports.

Synapse is an open source server that implements the Matrix protocol. It supports chat, voice, and video chat. Since I have my own server, I can issue login credentials to anyone I desire, Optionally, I can even open up my system for anyone to register, but I don’t think I want to do that right now.

If you want to try out Matrix, you can register for a free account at https://riot.im/app/ and use the matrix.org chat server. You can also install the Riot.im Android or iOS mobile apps, and use that to join in the conversation.

Surprisingly, by default, all chats in Synapse default to being unencrypted. Turning on encryption requires you to verify all the participants encryption keys (the only real way to guarantee there is no “man in the middle” intercepting your messages). That part is a pain in the rear, and it’s easily skipped, but the paranoid among us won’t skip over that part.

The problem mostly turned out to be a DNS SRV record I needed, and a website file I needed to create, /.well-known/matrix/server

root@usgaalw123:/var/www/html/.well-known/matrix# cat server
{ “m.homeserver”: {“base_url”: “https://matrix.whistl.us”

I may need to contribute to ethereal patch stream for matrix protocol decodes. Still readng about he protocol.