Centralized commercial IM providers are a real threat to our privacy. They often require users to run proprietary software, confirm their identity with SMS and give away control over their data.
We always have a freedom to take control back over our private communications.
In this tutorial, we will use XMPP as decentralized and open-source instant messaging system, OTR for end-to-end encryption and I2P network to anonymize our network activities.
I2P (Invisible Internet Protocol) is a universal anonymous network layer. All communications over I2P are anonymous and end-to-end encrypted, participants don't reveal their real IP addresses.
If you don't have I2P client already, go to i2pd.website, install and run it.
Install XMPP client
Make sure your client supports OTR encryption. In this tutorial we will use psi+.
Windows users can find downloads here.
In Debian/Ubuntu, run following commands:
sudo apt-get install psi-plus psi-plus-plugins
Psi+ will ask you to setup an account at the first run, just press cancel.
Configure XMPP client
Add I2P Socks5 proxy
Options -> Application -> Proxy settings -> press Edit -> press New -> create proxy "I2P socks", type Socks version 5, Host: 127.0.0.1, port: 4447 -> press Save
Options -> Plugins -> select "Client switcher plugin" in dropdown menu -> check "Load this plugin" -> check "For all accounts" -> choose Response mode: not implemented -> check "Deny iq time request"
Register an account
Account setup -> Add -> Enter your desired account name, check "Register new account" and press Add
Fill Server: i2p.rocks -> check "Manually specify Server Host/Port", then fill Host: ynkz7ebfkllljitiodcq52pa7fgqziomz4wa7tv4qiqldghpx4uq.b32.i2p, Port: 5222, select Proxy "I2P Socks". Press Next
Enter your username and long random password. Press Next.
Open Account Properties, Misc and set your resourse name "Manual" and enter some random string, like "null". Set STUN/TURN to "don't use".
You have successfully registered and set up your account.
Create OTR private key
Options -> Plugins -> select "Off-the-Record Messaging Plugin" -> check "Load this plugin" -> "My private keys" tab -> select your account and press "Generate new key".
Using OTR encryption
Later on, you will add new contacts and authenticate them with fingerprint verification. OTR button is a little lock in chat window, just above text input field.
i2p.rocks server is connected with all other XMPP servers in the Internet. It supports both I2P and Tor darknets for anonymous access.
Invite your friends and chat with REAL privacy!