30 releases (14 breaking)

0.18.0 Apr 30, 2024
0.12.1 Mar 4, 2024
0.10.0 Dec 4, 2023
0.9.6 Oct 31, 2023
0.0.0 Jun 24, 2021

#651 in Network programming

Download history 150/week @ 2024-01-22 130/week @ 2024-01-29 298/week @ 2024-02-05 181/week @ 2024-02-12 131/week @ 2024-02-19 519/week @ 2024-02-26 2028/week @ 2024-03-04 636/week @ 2024-03-11 980/week @ 2024-03-18 1482/week @ 2024-03-25 984/week @ 2024-04-01 1238/week @ 2024-04-08 262/week @ 2024-04-15 242/week @ 2024-04-22 524/week @ 2024-04-29 312/week @ 2024-05-06

1,375 downloads per month
Used in 24 crates (9 directly)

MIT/Apache

1.5MB
21K 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

~19–32MB
~496K SLoC