arti/crates/tor-circmgr
Nick Mathewson 47041bd4ce Merge branch 'refactor_into_ownedchantarget' into 'main'
CircMgr: Refactor DirSpecificTarget constructor

See merge request tpo/core/arti!866
2022-11-18 15:21:46 +00:00
..
src Merge branch 'refactor_into_ownedchantarget' into 'main' 2022-11-18 15:21:46 +00:00
Cargo.toml circmgr: Make "specific-relay" non-experimental. 2022-11-18 08:53:47 -05:00
README.md circmgr: Make "specific-relay" non-experimental. 2022-11-18 08:53:47 -05:00
semver.md Move GuardMgr::new call to arti_client::TorClient 2022-11-14 15:50:07 +00:00

README.md

tor-circmgr

tor-circmgr: circuits through the Tor network on demand.

Overview

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

In Tor, a circuit is an encrypted multi-hop tunnel over multiple relays. This crate's purpose, long-term, is to manage a set of circuits for a client. It should construct circuits in response to a client's needs, and preemptively construct circuits so as to anticipate those needs. If a client request can be satisfied with an existing circuit, it should return that circuit instead of constructing a new one.

Compile-time features

  • specific-relay: Support for connecting to a relay via specifically provided connection instructions, rather than using information from a Tor network directory.

  • full: Enable all features above.

Experimental and unstable features

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

  • experimental-api: Add additional non-stable APIs to our public interfaces.

  • experimental: Enable all the above experimental features.

License: MIT OR Apache-2.0


  1. Remember, semantic versioning is what makes various cargo features work reliably. To be explicit: if you want cargo update to only make safe changes, then you cannot enable these features. ↩︎