arti/crates/tor-circmgr
Nick Mathewson 47234655ce Turn StreamIsolation into a separate type.
Now that we have two kinds of isolation tokens (those set on a
stream, and those set by the stream's associated TorClient), we
need a more sophisticated kind of isolation.

This fixes the bug introduced with the previous commit, where
per-stream tokens would override per-TorClient tokens.
2021-10-25 12:32:18 -04:00
..
src Turn StreamIsolation into a separate type. 2021-10-25 12:32:18 -04:00
Cargo.toml Pass the guard manager down to the path selection functions. 2021-10-11 15:59:45 -04:00
README.md Move all crates into a `crates` subdirectory. 2021-08-27 09:53:09 -04: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.

Limitations

But for now, this tor-circmgr code is extremely preliminary; its data structures are all pretty bad, and it's likely that the API is wrong too.

The path generation code in this crate is missing a colossal number of features that you'd probably want in production: the paths it generates should not be considered secure.

License: MIT OR Apache-2.0