{"id":19635134,"url":"https://github.com/saltyrtc/saltyrtc-server-python","last_synced_at":"2025-04-28T07:31:59.622Z","repository":{"id":8211633,"uuid":"57252623","full_name":"saltyrtc/saltyrtc-server-python","owner":"saltyrtc","description":"SaltyRTC signalling server implementation.","archived":false,"fork":false,"pushed_at":"2022-03-14T15:01:50.000Z","size":588,"stargazers_count":60,"open_issues_count":11,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-21T15:17:04.272Z","etag":null,"topics":["python","saltyrtc","server","signaling"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saltyrtc.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-27T22:19:34.000Z","updated_at":"2024-12-18T00:11:25.000Z","dependencies_parsed_at":"2022-08-06T22:01:06.167Z","dependency_job_id":null,"html_url":"https://github.com/saltyrtc/saltyrtc-server-python","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltyrtc%2Fsaltyrtc-server-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltyrtc%2Fsaltyrtc-server-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltyrtc%2Fsaltyrtc-server-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltyrtc%2Fsaltyrtc-server-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saltyrtc","download_url":"https://codeload.github.com/saltyrtc/saltyrtc-server-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251271310,"owners_count":21562523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","saltyrtc","server","signaling"],"created_at":"2024-11-11T12:23:58.150Z","updated_at":"2025-04-28T07:31:59.291Z","avatar_url":"https://github.com/saltyrtc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"SaltyRTC Signalling Server\n==========================\n\n|CircleCI| |codecov| |PyPI| |Gitter|\n\nThis is a SaltyRTC server implementation for Python 3.6 or 3.7 using\n`asyncio`_. (Note that currently Python 3.8+ is not supported! We recommend\nusing Python 3.7.)\n\nNote\n****\n\nOn machines where Python 3 is not the default Python runtime, you should\nuse ``pip3`` instead of ``pip``.\n\nPrerequisites\n*************\n\n.. code-block:: bash\n\n    sudo apt-get install python3 python3-pip\n\nWe recommend using `venv`_ to create an isolated Python environment:\n\n.. code-block:: bash\n\n    pyvenv venv\n\nYou can switch into the created virtual environment *venv* by running\nthis command:\n\n.. code-block:: bash\n\n    source venv/bin/activate\n\nWhile the virtual environment is active, all packages installed using\n``pip`` will be installed into this environment.\n\nTo deactivate the virtual environment, just run:\n\n.. code-block:: bash\n\n    deactivate\n\nIf you want easier handling of your virtualenvs, you might also want to\ntake a look at `virtualenvwrapper`_.\n\nInstallation\n************\n\nIf you are using a virtual environment, activate it first.\n\nInstall the module by running:\n\n.. code-block:: bash\n\n    pip install saltyrtc.server\n\nThe dependency ``libnacl`` will be installed automatically. However, you\nmay need to install `libsodium`_ for ``libnacl`` to work.\n\nCommand Line Usage\n******************\n\nThe script ``saltyrtc-server`` will be automatically installed and\nprovides a command line interface for the server.\n\nRun the following command to see detailed usage information:\n\n.. code-block:: bash\n\n    saltyrtc-server --help\n\nAll command line options are also available as environment variables by\nprefixing them with `SALTYRTC_SERVER_` and the upper case command name,\nfollowed by the option name in upper case. For example:\n`SALTYRTC_SERVER_SERVE_PORT=8765`.\n\nQuick Start\n-----------\n\nGenerate a new *private permanent key*:\n\n.. code-block:: bash\n\n    saltyrtc-server generate /path/to/permanent-key\n\nRun the following command to start the server on any address with port `8765`:\n\n.. code-block:: bash\n\n    saltyrtc-server serve \\\n        -p 8765 \\\n        -tc /path/to/x509-certificate \\\n        -tk /path/to/key \\\n        -k /path/to/permanent-key\n\nAlternatively, provide the options via environment variables:\n\n.. code-block:: bash\n\n    export SALTYRTC_SERVER_SERVE_PORT=8765 \\\n           SALTYRTC_SERVER_SERVE_TLSCERT=/path/to/x509-certificate \\\n           SALTYRTC_SERVER_SERVE_TLSKEY=/path/to/key \\\n           SALTYRTC_SERVER_SERVE_KEY=/path/to/permanent-key\n    saltyrtc-server serve\n\nDocker\n------\n\nYou can also use our `official Docker images`_ to run the server:\n\n.. code-block:: bash\n\n    docker run \\\n        -v /path/to/cert-and-keys:/var/saltyrtc \\\n        -p 8765:8765\n        -it saltyrtc/saltyrtc-server-python:\u003ctag\u003e serve \\\n        -p 8765 \\\n        -tc /var/saltyrtc/x509-certificate \\\n        -tk /var/saltyrtc/key \\\n        -k /var/saltyrtc/permanent-key\n\nThe above command maps port `8765` of the server within the container to port\n`8765` on the host machine.\n\nOf course it is also possible to use environment variables to provide the\noptions, as explained in the previous section.\n\nContributing\n************\n\nIf you want to contribute to this project, you should install the\noptional ``dev`` requirements of the project in an editable environment:\n\n.. code-block:: bash\n\n    git clone https://github.com/saltyrtc/saltyrtc-server-python.git\n    cd saltyrtc-server-python\n    pip install -e .[dev]\n\nBefore creating a pull request, it is recommended to run the following\ncommands to check for code style violations (``flake8``), optimise\nimports (``isort``), do a static type analysis and run the project's tests:\n\n.. code-block:: bash\n\n    flake8 .\n    isort .\n    MYPYPATH=${PWD}/stubs mypy saltyrtc examples\n    py.test\n\nReporting Security Issues\n*************************\n\nPlease report security issues directly to one or both of the following\ncontacts:\n\n-  Danilo Bargen\n\n   -  Email: mail@dbrgn.ch\n   -  Threema: EBEP4UCA\n   -  GPG: `EA456E8BAF0109429583EED83578F667F2F3A5FA`_\n\n-  Lennart Grahl\n\n   -  Email: lennart.grahl@gmail.com\n   -  Threema: MSFVEW6C\n   -  GPG: `3FDB14868A2B36D638F3C495F98FBED10482ABA6`_\n\n.. _asyncio: https://docs.python.org/3/library/asyncio.html\n.. _venv: https://docs.python.org/3/library/venv.html\n.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/\n.. _libsodium: https://download.libsodium.org/doc/installation/\n.. _official Docker images: https://hub.docker.com/r/saltyrtc/saltyrtc-server-python\n\n.. |CircleCI| image:: https://circleci.com/gh/saltyrtc/saltyrtc-server-python.svg?style=shield\n   :target: https://circleci.com/gh/saltyrtc/saltyrtc-server-python\n.. |codecov| image:: https://codecov.io/gh/saltyrtc/saltyrtc-server-python/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/saltyrtc/saltyrtc-server-python\n.. |PyPI| image:: https://badge.fury.io/py/saltyrtc.server.svg\n   :target: https://badge.fury.io/py/saltyrtc.server\n.. |Gitter| image:: https://badges.gitter.im/saltyrtc/Lobby.svg\n   :target: https://gitter.im/saltyrtc/Lobby\n.. _EA456E8BAF0109429583EED83578F667F2F3A5FA: https://keybase.io/dbrgn\n.. _3FDB14868A2B36D638F3C495F98FBED10482ABA6: https://keybase.io/lgrahl\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltyrtc%2Fsaltyrtc-server-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaltyrtc%2Fsaltyrtc-server-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltyrtc%2Fsaltyrtc-server-python/lists"}