Crate tor_hsclient

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.