Your SimpleX Server comes with a SMP server for sending/receiving messages and an XFTP server for transferring files and media.
In SimpleX, participants choose which servers to use for receiving messages and files. I receive through my private server, and you receive through your private server. Or we could both receive through the same private server. Or we could each use different public servers.
SimpleX servers function as queues. Servers only store messages until a client retrieves them, after which they are deleted. This means message histories are stored on client devices, so it is client devices that must be backed up to prevent loss of messages.
For detailed instructions on using SimpleX, check out the official docs.
-
Ensure your SimpleX Server is running, and health checks are passing.
-
Follow instructions in the Start9 docs for running Tor on your client device (phone/laptop).
-
Download and install the SimpleX app on your client device.
-
During initial setup of the app, if you choose to create a profile, do not create a SimpleX address. You can do this later, once you have configured your servers, since your server is included in your address.
The purpose of this profile is total anonymity. For this profile, you will receive messages through your self-hosted server over Tor, and you only permit sending messages to other .onion servers.
For sending messages to non-Tor servers, we recommend creating a separate profile entirely.
SimpleX can be configured many different ways, depending on your threat model and privacy goals, each with different tradeoffs.
-
If you did not create a profile during initial setup, create one now.
-
Navigate to
Settings > Network & servers
. -
For iOS users: Skip this step. For other platforms: Enable "Use SOCKS proxy".
-
Set
Use .onion hosts
to "Required" (this might be underSOCKS proxy settings
orAdvanced network settings
). This means that this profile can only send messages to other .onion servers. -
Finally, in
Advanced Network Settings
, setPrivate Routing
to "Never".
-
Navigate to
Settings > Network & servers > Message servers
. -
You will see some default receiving servers (e.g. smp1, smp2, smp3). It is recommended you delete them all to ensure you do not accidentally use them in the future. If you choose not to delete them, at least disable the "Use for new connections" setting on each of them. This will prevent them from being used without your explicit instruction.
-
Click "Add Server".
-
Tap "Scan QR Code".
-
Scan your SMP Server Address QR code, located in StartOS UI under
SimpleX Server > Properties > SimpleX SMP Server Address
. -
Click on the newly added server.
-
Click "Test server" and wait for the test to pass.
-
Enable "Use for new connections".
-
Navigate back and click "Save servers".
-
Navigate to
Settings > Network & servers > Media and file servers
. -
You will see some default receiving servers (e.g. xftp1, xftp2, xftp3). It is recommended you delete them all to ensure you do not accidentally use them in the future. If you choose not to delete them, at least disable the "Use for new connections" setting on each of them. This will prevent them from being used without your explicit instruction.
-
Click "Add server".
-
Tap "Scan QR Code".
-
Scan your XFTP Server Address QR code, located in StartOS UI under
SimpleX Server > Properties > SimpleX XFTP Server Address
. -
Click on the newly added server.
-
Click "Test server" and wait for the test to pass.
-
Enable "Use for new connections".
-
Navigate back and click "Save servers".
You can now create a SimpleX Address if you want, but you should not share the address publicly, as it will link the .onion URL to your identity. Remember, the purpose of this profile is total anonymity.