Raising the Shields – Part 8: Prosody – My Own Instant Messaging Server For Family Communication

The next step in raising my shields against all sorts of three letter agencies spying on my data packets on the Internet has been to think about how I can protect myself better against spying on my instant messaging communication between my family members. In part one of this series I've already made the first and most important step by installing "Off The Record" (OTR), an end to end encryption for all sorts of instant messaging services. The server behind the service, however, was still property of a public company and hence my data packets were probably still routed half around the world ready for interception and collection of metadata (i.e. who communicates with whom and when). Time to change that as well.

XMPP is the protocol of choice for running your own instant messaging server as it is supported by quite a number of desktop and mobile messaging clients such as Pidgin that I'm already using. On the network side, one can choose from a number of different solutions and after looking around a bit I chose Prosody. On a Linux based system such as a Raspberry Pi it is straight forward to install as it is included in the software catalog. A "sudo apt-get install prosody", a few changes in the configuration file that are described on Prosody's web page and creating a TCP port forwarding rule in my DSL router was pretty much everything to get it working.

I've been trying it for a week now together with Pidgin and OTR encryption and it works like a charm and the three letter agencies have to work a bit harder now to intercept our family instant messaging traffic to collect metadata. And on the cost side it don't cost me a penny extra as I have the server running together with the Selfoss RSS server (see here and here) that runs on the same Raspberry Pi.