30 releases (18 breaking)

new 0.18.0 Apr 30, 2024
0.16.0 Mar 4, 2024
0.13.0 Dec 4, 2023
0.12.0 Oct 31, 2023
0.0.0 Jun 24, 2021

#11 in #arti

Download history 370/week @ 2024-01-08 407/week @ 2024-01-15 136/week @ 2024-01-22 121/week @ 2024-01-29 268/week @ 2024-02-05 163/week @ 2024-02-12 107/week @ 2024-02-19 510/week @ 2024-02-26 2009/week @ 2024-03-04 634/week @ 2024-03-11 970/week @ 2024-03-18 1459/week @ 2024-03-25 953/week @ 2024-04-01 1385/week @ 2024-04-08 245/week @ 2024-04-15 221/week @ 2024-04-22

2,855 downloads per month
Used in 18 crates (6 directly)

MIT/Apache

4MB
64K SLoC

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 versioning[^1] 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.

[^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.

License: MIT OR Apache-2.0

Dependencies

~23–36MB
~567K SLoC