Getting Started


If you just want to see a demo, you can try out our Demo Application.


If you want to try out SaltyRTC without much of a hassle, you can use our public server which is available at wss:// Do not use this server for production! We may decide to change the port, shut down the server, etc. Our server's public permanent key is f77fe623b6977d470ac8c7bf7011c4ad08a1d126896795db9d2b4b7a49ae1045 (hex-encoded).

The following sub-sections describe how to set up the SaltyRTC server for Python.


Install your own self-hosted server by following the instructions of the SaltyRTC Server for Python Readme.


Permanent Key

We highly recommend to generate a permanent key for the server.

saltyrtc-server generate <path-for-new-permanent-key>

The output contains the hex-encoded public permanent key which needs to be distributed to the clients.

TLS Certificate & Key

Although the SaltyRTC protocol is secure without TLS, we still recommend to supply a valid certificate for TLS as it helps to protect metadata. Generate it for your domain you want to use the server on.

The server can be restarted by sending a HUP signal to it after a new certificate has been generated (for example by Let's Encrypt's certbot).

During development, it's perfectly fine to omit the certificate.


Start the server by running the following command:

saltyrtc-server -v7 -c serve -sc <tls-certificate> -sk <tls-private-key> -k <saltyrtc-permanent-key>

The options -v and -c control the logging verbosity and format. Use the --help flag for details on options.


For this example, we'll explain how to embed the SaltyRTC JavaScript Client implementation in your JavaScript application.


Follow the instructions of the SaltyRTC JavaScript Client Readme.


To embed SaltyRTC's signalling in your application, you'll need to follow the usage instructions of the JavaScript client.

Set host and port according to the server you want to use. In addition, enable the tasks you want to execute (for example initiating a WebRTC peer-to-peer connection).

Don't forget that you'll need to exchange the authentication token from one client to another. We recommend using QR codes for mobile applications.