This will be useful if you’re on a cruise with friends or family but don’t want to pay the excessive fees for the onboard WiFi internet. If you’re going transatlantic or transpacific, it’s also possible that internet isn’t available 100% of the time or it’s super slow during the day. It’s much easier to just leave your MacBook running in your cabin and install one of many popular free & open source XMPP clients from the AppStore / Google Play Store, such as
- aTalk (Android)
- ChatSecure (iOS)
- Conversations (Android)
These also support OTR and/or OMEO encryption, which only work on one device per user though.
As an XMPP server, I’ve used Prosody.
- To install with MacOS, use homebrew: brew tap prosody/prosody && brew install prosody
- Follow the prosody documentation to create a self signed certificate: https://prosody.im/doc/certificates. Use a .local domain.
- Depending on the WiFi, you might have to change from the default XMPP ports to some you’re allowed to use without purchasing internet access. These usually include 80 (HTTP), 443 (HTTPS) and 53 (DNS), as they can usually be accessed to purchase the internet in the first place (landing page, credit card details page etc). Prosody also has documentation for this under https://prosody.im/doc/http.
- Add your users manually with prosodyctl adduser johndoe@nomadcruise.local and give them random passwords
- Start prosody with prosodyctl start