I’m a DietPi and xx Network user. Everyone’s familiar with the former, so I’ll just quickly explain what the latter is: it’s a P2P network (green “cloud” in this picture below).
What that green cloud does is accept clients’ sent encrypted messages, mixes many of them, and stores them (encrypted). Recipient can download and decrypt messages immediately or later (no need to be online at the same time).
This way there’s no direct connection between clients and messages do not carry any user-identifiable metadata.
In this picture DietPi is the blue box with a reverse HTTPS proxy (mandatory) and the chat app (Speakeasy) which can be containerized or run as Node.js application. The chat app runs in the browser and uses WASM to communicate with xx Network. No user data is stored on the DietPi OS.
- Node.js Web app - Install own xx Network Speakeasy Web server | ArmchairAncap
- Docker container - GitHub - armchairancap/xx-speakeasy-container: Container image for local xx Network Speakeasy web server
Either way, the app is supposed to bind the loopback IP and some app port such as 127.0.0.1:3000.
It requires around 1 GB RAM and very little CPU.
This is done as usual - get a self-signed or Let’s Encrypt TLS certificate, setup a reverse proxy (NGINX, Traefik, etc.) and proxy
http://localhost:3000 (or other port you picked). I won’t go into detail here, generic HTTPS reverse proxy instructions for NodeJS apps ought to apply.
App users do not need to use the same server - the server is just a means to download the app code, so one user can connect to own DietPi server, another participant can connect to their own DietPi server.
Messages are mixed, served and stored encrypted in xx Network. The main purpose of running own app is to hide your IP address from Web app operator and make sure the app is not compromised, which is what we achieve by deploying our own on DietPi.
Some commercial apps own your application identity, collect metadata (such as your IP, phone number, etc.), and even can read message data. Speakeasy & xx Network don’t do any of that.
Some community chat apps cannot protect your metadata. Others do that, but require Tor and/or cannot store messages so all parties to a conversation must be online at the same time. xx Network doesn’t do that: messages are encrypted at the source, sender metadata is stripped in mixing, and messages are stored up to 21 days.
You may ask questions here in this thread and I’ll try to answer them.
Yes, you can join the public community channel. I can’t post more than 2 links (limit for new forum users) so if anyone’s interested I can share that in a reply.
When joining you’re prompted to create a unique identity. No email or anything else is required from you.
As you will see the current version (v0.3.4) is quite simple (like IRC). Attachments are coming in next release.