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.63 | ||
lyrebird |
Implementation of the Lyrebird Tor bridge and a forward proxy compatible with ptrs . |
1.70 | ||
obfs4 |
An implementation of obfs4 pluggable transport library in pure rust. | 1.70 |
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.
MSRV can be changed in the future, but it will be done with a minor version bump. We will not increase MSRV on PATCH releases, though downstream dependencies might.
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:
- 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