Crate tor_circmgr

source ·
Expand description

§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. 

Re-exports§

Modules§

  • Facilities to build circuits directly, instead of via a circuit manager.
  • hspoolhs-common
    Manage a pool of circuits for usage with onion services.
  • Types related to stream isolation
  • Code to construct paths through the Tor network
  • Code for estimating good values for circuit timeouts.

Structs§

Enums§

  • Represents what we know about the Tor network.
  • An error returned while looking up or building a circuit
  • An activity that can succeed or fail, and whose success or failure can be attributed to a guard.

Traits§

Type Aliases§

  • A Result type as returned from this crate.