Skip to main content

OpenMLS bindings for Discord DAVE protocol implementation

Project description

openmls_dave

My own implementation of Discord Audio & Video End-to-End Encryption (DAVE) Protocol , using OpenMLS, Python and Rust.

I don't intentionally try to use this mainstream, this project mostly will serve as a learning experience with Rust, and OpenMLS.

This uses uv extensively, and uses ty to typecheck. This also uses maturin to compile Rust bindings, alongside PyO3 to interface with the py/pyi code.

(Admittedly, because of how my computer was setup I had to redo git credentials and I somehow nuked commit times for the first three commits after initial, but I digress)

This also uses black and isort for coding style.

There's no official documentation yet; this is a WIP (whenever I have time available) (I still need to look into DAVE's voice opcodes, etc.), and this README.md will be redone (eventually)

However, installation of this library is:

pip install openmls_dave

Features

  • MLS (RFC 9420) group key agreement
  • SFrame media encryption
  • Forward secrecy on membership changes
  • Full type hints (via .pyi)

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

openmls_dave-0.1.0.tar.gz (59.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openmls_dave-0.1.0-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

File details

Details for the file openmls_dave-0.1.0.tar.gz.

File metadata

  • Download URL: openmls_dave-0.1.0.tar.gz
  • Upload date:
  • Size: 59.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for openmls_dave-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fa8d7b5c475c842fbd473ca0f6ea638597b94b8f34a05040ae9a8d9c227836c9
MD5 5909e722bd2727c039c71b124e306d6f
BLAKE2b-256 5eb799ac23298eb1b00ae65fddbf49c6e9aa0d917437c91b9a613a84b0b93b5e

See more details on using hashes here.

File details

Details for the file openmls_dave-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: openmls_dave-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for openmls_dave-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cecf13c8b1b2b58c4ec642161f11eea4c494e59225eadd550f6afbb20dcf401d
MD5 f6b1fe742ce78cf31b8342fb13489686
BLAKE2b-256 39cc5a4e67e15cf2c1dd366e7b78c173529050ae0e1932b49363a7f8715de43f

See more details on using hashes here.

Supported by

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