37 releases (21 breaking)

new 0.25.0 Dec 2, 2024
0.24.0 Oct 31, 2024
0.23.0 Sep 30, 2024
0.20.0 Jun 27, 2024
0.0.0 Jun 24, 2021

#1851 in Network programming

Download history 1110/week @ 2024-08-17 1533/week @ 2024-08-24 1872/week @ 2024-08-31 1448/week @ 2024-09-07 1215/week @ 2024-09-14 1366/week @ 2024-09-21 1582/week @ 2024-09-28 1029/week @ 2024-10-05 935/week @ 2024-10-12 1125/week @ 2024-10-19 1165/week @ 2024-10-26 2127/week @ 2024-11-02 1182/week @ 2024-11-09 2400/week @ 2024-11-16 1744/week @ 2024-11-23 2180/week @ 2024-11-30

7,667 downloads per month
Used in 41 crates (12 directly)

MIT/Apache and maybe LGPL-3.0-only

2MB
23K SLoC

tor-netdir

Represents a clients'-eye view of the Tor network.

Overview

The tor-netdir crate wraps objects from tor-netdoc, and combines them to provide a unified view of the relays on the network. It is responsible for representing a client's knowledge of the network's state and who is on it.

This crate is part of Arti, a project to implement Tor in Rust. Its purpose is to expose an abstract view of a Tor network and the relays in it, so that higher-level crates don't need to know about the particular documents that describe the network and its properties.

There are two intended users for this crate. First, producers like tor-dirmgr create NetDir objects fill them with information from the Tor network directory. Later, consumers like tor-circmgr use NetDirs to select relays for random paths through the Tor network.

Limitations

Only modern consensus methods and microdescriptor consensuses are supported.

License: MIT OR Apache-2.0

Dependencies

~21–32MB
~485K SLoC