Skip to main content

A SaltyRTC compliant signalling server.

Project description

Travis codecov PyPI Gitter

This is a SaltyRTC server implementation for Python 3.4+ using asyncio.

Note

On machines where Python 3 is not the default Python runtime, you should use pip3 instead of pip.

Prerequisites

$ sudo apt-get install python3 python3-pip

We recommend using venv to create an isolated Python environment:

$ pyvenv venv

You can switch into the created virtual environment venv by running this command:

$ source venv/bin/activate

While the virtual environment is active, all packages installed using pip will be installed into this environment.

To deactivate the virtual environment, just run:

$ deactivate

If you want easier handling of your virtualenvs, you might also want to take a look at virtualenvwrapper.

Installation

If you are using a virtual environment, activate it first.

Install the module by running:

$ pip install saltyrtc.server

The dependency libnacl will be installed automatically. However, you may need to install libsodium for libnacl to work.

Command Line Usage

The script saltyrtc-server will be automatically installed and provides a command line interface for the server. Run the following command to see usage information:

$ saltyrtc-server --help

Contributing

If you want to contribute to this project, you should install the optional dev requirements of the project in an editable environment:

$ git clone https://github.com/saltyrtc/saltyrtc-server-python.git
$ cd saltyrtc-server-python
$ pip install -e .[dev]

Before creating a pull request, it is recommended to run the following commands to check for code style violations (flake8), optimise imports (isort) and run the project’s tests:

$ flake8 .
$ isort -rc .
$ py.test

Reporting Security Issues

Please report security issues directly to one or both of the following contacts:

Changelog

3.0.1 (2019-01-02)

  • Fix forward the timeout close code as an int to event callbacks.

3.0.0 (2018-12-18)

  • Use the timeout close code (3008) when a client does not respond to a ping message (major)

  • Add support for Python 3.7

  • Various task queue improvements resulting in more robust client handling

  • Fix to not send a ‘disconnected’ message when a responder has been dropped via ‘drop-responder’

  • Fix to prevent the initiator from relaying messages to a responder client which is in the process of being dropped

  • Fix to not accept new incoming connections when closing the server

2.0.1 (2018-08-20)

  • Fix to prevent creating two path instances with the same path string

  • Various improvements to logging messages

2.0.0 (2018-07-16)

Important: Make sure you’re using Python >= 3.4.4 and that your clients support the disconnected message before upgrading.

  • Add support for the disconnected message (major)

  • Fix potential invalid order of messages when dispatching a send-error

  • Fix the id field’s value in the send-error message

  • Fix a few potential race conditions

1.0.2 (2017-11-15)

  • Fix do not accept unencrypted ‘client-auth’ messages from the initiator.

1.0.1 (2017-07-25)

  • Fix to handle new libnacl exceptions.

1.0.0 (2017-03-24)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saltyrtc.server-3.0.1.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

saltyrtc.server-3.0.1-py34.py35.py36.py37-none-any.whl (33.9 kB view details)

Uploaded Python 3.4 Python 3.5 Python 3.6 Python 3.7

File details

Details for the file saltyrtc.server-3.0.1.tar.gz.

File metadata

  • Download URL: saltyrtc.server-3.0.1.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for saltyrtc.server-3.0.1.tar.gz
Algorithm Hash digest
SHA256 c44d362b507707c0fe10b36ad9e8536686212f0cf10b043e806ed3697932e4d6
MD5 608227949276dd2a5b9785dfa87aafb2
BLAKE2b-256 82117d4c2f50d051e31117c196f483a35f6a05f514cc0169271bef40bc763b91

See more details on using hashes here.

File details

Details for the file saltyrtc.server-3.0.1-py34.py35.py36.py37-none-any.whl.

File metadata

  • Download URL: saltyrtc.server-3.0.1-py34.py35.py36.py37-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3.4, Python 3.5, Python 3.6, Python 3.7
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for saltyrtc.server-3.0.1-py34.py35.py36.py37-none-any.whl
Algorithm Hash digest
SHA256 1f1c2d7c3055d85138315245a4c58e6ded5b79f35075110bce5fa37c3dccb856
MD5 a88cf80df584b6f61ff6f364f4e17778
BLAKE2b-256 c8653b64447b4b0f9067e4c92f9cab7611f48626bd469f0eda50a8abe86eb520

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page