Skip to content

My own implementation of Discord's DAVE protocol, using OpenMLS, Python and Rust.

License

Notifications You must be signed in to change notification settings

FayeDel/openmls_dave

Repository files navigation

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.

This also uses black, isort and ruff 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)

About

My own implementation of Discord's DAVE protocol, using OpenMLS, Python and Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published