Crate tor_dirclient

source ·
Expand description

§tor-dirclient

Implements a minimal directory client for Tor.

§Overview

Tor makes its directory requests as HTTP/1.0 requests tunneled over Tor circuits. For most objects, Tor uses a one-hop tunnel. Tor also uses a few strange and ad-hoc HTTP headers to select particular functionality, such as asking for diffs, compression, or multiple documents.

This crate provides an API for downloading Tor directory resources over a Tor circuit.

This crate is part of Arti, a project to implement Tor in Rust.

§Features

xz – enable XZ compression. This can be expensive in RAM and CPU, but it saves a lot of bandwidth. (On by default.)

zstd – enable ZSTD compression. (On by default.)

routerdesc – Add support for downloading router descriptors.

License: MIT OR Apache-2.0

Modules§

  • Descriptions objects for different kinds of directory requests that we can make.

Structs§

  • A successful (or at any rate, well-formed) response to a directory request.
  • An error that has occurred after we have contacted a directory cache and made a circuit to it.
  • Information about the source of a directory response.

Enums§

  • Flag to declare whether a request is anonymized or not.
  • An error originating from the tor-dirclient crate.
  • An error originating from the tor-dirclient crate.

Functions§

  • downloadDeprecated
    Fetch a Tor directory object from a provided stream.
  • Fetch the resource described by req over the Tor network.
  • Fetch or upload a Tor directory object using the provided stream.

Type Aliases§

  • Type for internal results containing a RequestError.
  • Type for results returned in this crate.