#tor #arti #async

tor-circmgr

Manage a set of anonymous circuits over the Tor network

28 releases (16 breaking)

0.16.0 Mar 4, 2024
0.14.0 Jan 9, 2024
0.13.0 Dec 4, 2023
0.12.0 Oct 31, 2023
0.0.0 Jun 24, 2021

#935 in Network programming

Download history 237/week @ 2023-11-24 228/week @ 2023-12-01 208/week @ 2023-12-08 149/week @ 2023-12-15 171/week @ 2023-12-22 103/week @ 2023-12-29 255/week @ 2024-01-05 335/week @ 2024-01-12 318/week @ 2024-01-19 114/week @ 2024-01-26 200/week @ 2024-02-02 204/week @ 2024-02-09 135/week @ 2024-02-16 340/week @ 2024-02-23 2079/week @ 2024-03-01 287/week @ 2024-03-08

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

MIT/Apache

4MB
61K 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

~24–38MB
~595K SLoC