This repository contains multiple related crates implementing the lyrebird (obfs4) library, lyrebird binary, and Pluggable Transports in Rust (PTRS) library.
Crate | Description | Crates.io | Docs | MSRV |
---|---|---|---|---|
ptrs |
A library supporting implementation and integration of Pluggable Transport protocols. | 1.70 | ||
lyrebird |
Implementation of the Lyrebird Tor bridge and a forward proxy compatible with ptrs . |
1.77 | ||
obfs4 |
An implementation of obfs4 pluggable transport library in pure rust. | 1.77 | ||
o5 |
An implementation of o5 pluggable transport library in pure rust. | 1.77 |
The Minimum Supported Rust Versions (MSRV) for the various crates are listed above. These are ensured by test and build steps in the CI pipeline.
Once these crates reach a semi-stable state any changes to MSRV will be accompanied with a minor version bump. We will not increase MSRV on PATCH releases, though downstream dependencies might.
Along these lines, we won't increase MSRV just because we can: we'll only do so when we have a reason. (We don't guarantee that you'll agree with our reasoning; only that it will exist.)
Things to keep an eye on:
-
kemeleon
crate implementing the Kemeleon ML-KEM Key obfuscation algorithm(s). - PR implementating elligator2 for the
dalek
ed25519 library. PR Here
Dual licensing under both MIT and Apache-2.0 is the currently accepted standard by the Rust language community and has been used for both the compiler and many public libraries since (see Why dual MIT/ASL2license?). In order to match the community standards, ptrs is using the dual MIT+Apache-2.0 license.
Contributions, Issues, and Pull Requests are welcome!
These logos were generated using DALLE-3