42 releases (26 breaking)

new 0.30.0 May 1, 2025
0.28.0 Mar 3, 2025
0.25.0 Dec 2, 2024
0.24.0 Oct 31, 2024
0.0.0 Jun 24, 2021

#1870 in Network programming

Download history 1742/week @ 2025-01-11 1293/week @ 2025-01-18 1370/week @ 2025-01-25 1418/week @ 2025-02-01 2866/week @ 2025-02-08 1376/week @ 2025-02-15 1315/week @ 2025-02-22 1602/week @ 2025-03-01 1326/week @ 2025-03-08 1341/week @ 2025-03-15 954/week @ 2025-03-22 1367/week @ 2025-03-29 936/week @ 2025-04-05 2217/week @ 2025-04-12 1832/week @ 2025-04-19 1693/week @ 2025-04-26

6,879 downloads per month
Used in 51 crates (11 directly)

MIT/Apache and maybe LGPL-3.0-only

2MB
24K 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

~23–34MB
~531K SLoC