tor-linkspec: Descriptions of Tor relays, as used to connect to them.
tor-linkspec crate provides traits and data structures that
describe how to connect to Tor relays.
When describing the location of a Tor relay on the network, the
Tor protocol uses a set of “link specifiers”, each of which
corresponds to a single aspect of the relay’s location or
identity—such as its IP address and port, its Ed25519 identity
key, its (legacy) RSA identity fingerprint, or so on. This
LinkSpec type encodes these structures.
When a client is building a circuit through the Tor network, it
needs to know certain information about the relays in that
circuit. This crate’s
represent objects that describe a relay on the network that a
client can use as the first hop, or as any hop, in a circuit.
This crate is part of Arti, a project to implement Tor in Rust. Several other crates in Arti depend on it. You will probably not need this crate yourself unless you are interacting with the Tor protocol at a fairly low level.
tor-linkspec is a separate crate so that it can be used by other
crates that expose link specifiers and by crates that consume
TODO: Possibly we should rename this crate. “Linkspec” is a pretty esoteric term in the Tor protocols.
TODO: Possibly the link specifiers and the
*Target traits belong in different crates.
A piece of information about a relay and how to connect to it.