saltyrtc-meta icon indicating copy to clipboard operation
saltyrtc-meta copied to clipboard

Protocol description and organisational information for SaltyRTC implementations.

SaltyRTC

Join our chat on Gitter

SaltyRTC is an end-to-end encrypted signalling protocol. It offers to freely choose from a range of signalling tasks, such as setting up a WebRTC or ORTC peer-to-peer connection, or simply to exchange arbitrary data over the established transport in a secure manner. SaltyRTC is completely open to new and custom signalling tasks for everything feasible.

In this repository, you can find...

  • The SaltyRTC Signalling Protocol.
  • The SaltyRTC WebRTC Task Protocol to set up a secure WebRTC peer-to-peer connection by using SaltyRTC's end-to-end encryption techniques.
  • The SaltyRTC ORTC Task Protocol to set up a secure ORTC peer-to-peer connection.
  • The SaltyRTC Relayed Data Task Protocol to set up a secure channel for exchanging arbitrary data by using SaltyRTC's end-to-end encryption techniques.
  • The SaltyRTC Chunking Specification used by SaltyRTC's WebRTC task. However, the specification can also be used as a generic message chunking solution.

Implementations

If you have implemented a SaltyRTC client, task or server :+1: and you would like to add it to this list, we will gladly accept a pull request from you.

Clients and Tasks

Servers

Releases

When we release a new version of the protocol, a (new) task or the chunking specification, a tag will be added in the following format: protocol|chunking-<version> or for tasks task-<task-name>-<version>.

Note that specification versions are independent from each other. In case a new version of a specification breaks backwards compatibility to another specification, it will include a section stating how compatibility is affected.

Credits