Crate tor_hsclient

Source
Expand description

§tor-hsclient

Core implementation for onion services client.

This crate creates circuits to onion circuits, retains them for reuse, and hands them out as appropriate. It is also responsible for maintaining all relevant state about hidden services, and their descriptors and introduction points.

Modules§

connect 🔒
Main implementation of the connection functionality
err 🔒
Errors relating to being a hidden service client
isol_map 🔒
Data structure MultikeyIsolatedMap indexed by multiple keys and an isolation
keys 🔒
Hidden service (onion service) client key management functionality
pow 🔒
Common support for proof of work denial of service mitigation on the client side
proto_oneshot 🔒
[oneshot] channel between a circuit control message handler and the main code
relay_info 🔒
Translate relay information from the formats used in the onion service protocol into CircTargets that we can use for building circuits.
state 🔒
Implement a cache for onion descriptors and the facility to remember a bit about onion service history.

Structs§

DescriptorError
Error that occurred attempting to download a descriptor
HsClientConnector
An object that negotiates connections with onion services
HsClientDescEncKeypairSpecifier
A key for deriving keys for decrypting HS descriptors (KS_hsc_desc_enc).
HsClientSecretKeys
Service discovery keys (if any) to use when connecting to a specific onion service.
HsClientSecretKeysBuilder
Builder for HsClientSecretKeys

Enums§

ConnError
Error that occurred attempting to reach a hidden service
DescriptorErrorDetail
Error that occurred attempting to download a descriptor
FailedAttemptError
Error that occurred making one attempt to connect to a hidden service using an IP and RP
InvalidTarget
We were given unusable information about an introduction point or rendezvous point.
StartupError
Error that occurred attempting to start up a hidden service client connector

Traits§

HsClientConnectorConfig
Configuration for an HS client connector

Functions§

supported_hsclient_protocols
Return a list of the protocols supported by this crate, running as a hidden service client.