rust-pt
A Rust-based framework for Tor Pluggable Transports.
The only actively maintained and hand-written Rust PT framework.
Typed errors. Modern architecture. Clippy-pedantic clean.
✨ We welcome new contributors and stars! ⭐ ✨
Why this matters?
- 1. The core code is human-written, quality guaranteed.
- 2. I am a contributor to Arti and rustls, so maintenance is guaranteed. tor-ptmgr is indeed a Rust implementation related to Tor, but it is a manager for the Tor server side and cannot implement PTs — though it is what you interact with. I am also a contributor to ptmgr and have read its source code; ptmgr is the Arti part I know best. Note that all the criticisms are only in the technical field. I respect every developer that I meantioned
- 3. Tor officially expressed the need for a Rust framework.
- 4. ptrs itself was never finished, and it stopped being maintained long ago, so it is unusable.
- 5. Unified architecture makes writing PTs in Rust KISS.
- 6. Reviewed by the authors of UAT (a QUIC-based PT) and ptrs-gesher.
- 7. Already publicly requested review on the mailing list. Some community members volunteered to review. Anti-censorship expressed interest, but due to workload, no review date can be guaranteed at this time.
- 8. ptrs-gesher makes heavy use of AI. While its authors consider AI-driven development. Therefore, if you care about AI, that is another reason. Besides, ptrs-gesher's framework is not ready yet: it is currently more of a collection of PTs than a framework, and you cannot use ready-made features such as ExtOrPort. But it must be acknowledged that the author of ptrs-gesher is a really good, friendly person. I genuinely respect them.
pt_err
Typed errors + derive macros
pt_tracing
PT-spec-compliant logging
pt_config
Env parsing + Config validation + derive macros
pt_core
ExtORPort + Other common implementation