#tor #download #networking #arti #async #http-client #http-request

tor-dirclient

Downloads specific Tor network directory objects over the Tor network

36 releases (22 breaking)

0.24.0 Oct 31, 2024
0.22.0 Sep 3, 2024
0.20.0 Jun 27, 2024
0.14.0 Mar 4, 2024
0.0.0 Jun 24, 2021

#1546 in Network programming

Download history 1611/week @ 2024-07-29 1302/week @ 2024-08-05 825/week @ 2024-08-12 1439/week @ 2024-08-19 1409/week @ 2024-08-26 1696/week @ 2024-09-02 1277/week @ 2024-09-09 1170/week @ 2024-09-16 1678/week @ 2024-09-23 1524/week @ 2024-09-30 721/week @ 2024-10-07 864/week @ 2024-10-14 1284/week @ 2024-10-21 1372/week @ 2024-10-28 1832/week @ 2024-11-04 1338/week @ 2024-11-11

5,866 downloads per month
Used in 33 crates (4 directly)

MIT/Apache and maybe LGPL-3.0-only

2.5MB
45K SLoC

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


lib.rs:

Dependencies

~25–38MB
~587K SLoC