arti/crates/tor-ptmgr
Nick Mathewson daf5ecc153 Bump crate versions in preparation for v1.1.5 release.
Generated with the following commands:

```
cargo set-version --bump minor -p tor-cell
cargo set-version --bump minor -p tor-linkspec
cargo set-version --bump minor -p tor-proto
cargo set-version --bump minor -p tor-netdoc
cargo set-version --bump minor -p tor-circmgr

cargo set-version --bump patch -p tor-cert
cargo set-version --bump patch -p tor-basic-utils
cargo set-version --bump patch -p tor-rpcbase
cargo set-version --bump patch -p tor-llcrypto
cargo set-version --bump patch -p tor-hscrypto
cargo set-version --bump patch -p tor-checkable
cargo set-version --bump patch -p tor-async-utils
cargo set-version --bump patch -p caret
cargo set-version --bump patch -p fs-mistrust
cargo set-version --bump patch -p safelog
cargo set-version --bump patch -p retry-error
cargo set-version --bump patch -p tor-error
cargo set-version --bump patch -p tor-config
cargo set-version --bump patch -p tor-events
cargo set-version --bump patch -p tor-units
cargo set-version --bump patch -p tor-rtcompat
cargo set-version --bump patch -p tor-rtmock
cargo set-version --bump patch -p tor-protover
cargo set-version --bump patch -p tor-bytes
cargo set-version --bump patch -p tor-socksproto
cargo set-version --bump patch -p tor-consdiff
cargo set-version --bump patch -p tor-netdir
cargo set-version --bump patch -p tor-congestion
cargo set-version --bump patch -p tor-persist
cargo set-version --bump patch -p tor-chanmgr
cargo set-version --bump patch -p tor-ptmgr
cargo set-version --bump patch -p tor-guardmgr
cargo set-version --bump patch -p tor-dirclient
cargo set-version --bump patch -p tor-dirmgr
cargo set-version --bump patch -p tor-hsclient
cargo set-version --bump patch -p tor-hsservice
cargo set-version --bump patch -p arti-client
cargo set-version --bump patch -p arti-rpcserver
cargo set-version --bump patch -p arti-config
cargo set-version --bump patch -p arti-hyper
cargo set-version --bump patch -p arti
cargo set-version --bump patch -p arti-bench
cargo set-version --bump patch -p arti-testing
```
2023-06-01 10:03:05 -04:00
..
examples Draft: Pluggable transport manager 2022-11-28 13:52:21 -05:00
fuzz tor-ptmgr: Fix fuzzer compilation. 2023-03-13 07:28:55 -04:00
src Use ErrorReport - run rustfmt 2023-01-30 18:52:32 +00:00
Cargo.toml Bump crate versions in preparation for v1.1.5 release. 2023-06-01 10:03:05 -04:00
README.md doc: consistent summary line for the READMEs 2022-12-20 14:31:47 +01:00

README.md

tor-ptmgr

Manage a set of anti-censorship pluggable transports.

Overview

This crate is part of Arti, a project to implement Tor in Rust.

In Tor, a "transport" is a mechanism used to avoid censorship by disguising the Tor protocol as some other kind of traffic.

A "pluggable transport" is one that is not implemented by default as part of the Tor protocol, but which can instead be added later on by the packager or the user. Pluggable transports are typically provided as external binaries that implement a SOCKS proxy, along with certain other configuration protocols.

This crate provides a means to manage a set of configured pluggable transports

Limitations

TODO: Currently, the APIs for this crate make it quite tor-specific. Notably, it can only return Channels! It would be good instead to adapt it so that it was more generally useful by other projects that want to use pluggable transports in rust. For now, I have put the Tor-channel-specific stuff behind a tor-channel-factory feature, but there are no APIs for using PTs without that feature currently. That should change. (See issue arti#666)

TODO: The first version of this crate will probably only conform to the original Tor pluggable transport protocol, and not to more recent variants as documented at pluggabletransports.info

Feature flags

Additive features

  • tor-channel-factory: Build with support for a ChannelFactory implementation that allows this crate's use with Tor. (Currently, this is the only way to use the crate; see "Limitations" section above.)

  • full -- Build with all the features above.

Experimental and unstable features

Note that the APIs enabled by these features are NOT covered by semantic versioning guarantees: we might break them or remove them between patch versions.

  • experimental-api -- build with experimental, unstable API support.

  • experimental -- Build with all experimental features above, along with all experimental features from other arti crates.

License: MIT OR Apache-2.0