#tor #relay #arti #logic #purpose #whether #order

tor-relay-selection

针对特定目的选择Tor中继的逻辑

5个版本 (重大更新)

0.21.0 2024年8月1日
0.20.0 2024年6月27日
0.19.0 2024年6月5日
0.18.0 2024年4月30日
0.17.0 2024年4月2日

#1891 in 网络编程

Download history 375/week @ 2024-04-28 232/week @ 2024-05-05 84/week @ 2024-05-12 424/week @ 2024-05-19 717/week @ 2024-05-26 456/week @ 2024-06-02 534/week @ 2024-06-09 1380/week @ 2024-06-16 1097/week @ 2024-06-23 1538/week @ 2024-06-30 238/week @ 2024-07-07 475/week @ 2024-07-14 485/week @ 2024-07-21 1002/week @ 2024-07-28 1174/week @ 2024-08-04 793/week @ 2024-08-11

每月下载量3,560
22个crate中使用了(5个直接使用)

MIT/Apache

1.5MB
19K SLoC

tor-relay-selection

针对特定目的选择Tor中继的逻辑

概述

tor-relay-selection crate提供了高级功能,用于选择Tor中继以用于特定目的,或检查它们是否适合这些目的。它封装了来自tor-netdir的底层功能。

此crate是Arti项目的一部分,Arti项目旨在用Rust实现Tor

设计

我们的主要类型是RelayUsageRelayExclusionRelayRestrictionRelaySelector

RelayUsage回答了“这个中继是用来做什么的?”这个问题。

RelayExclusion排除了一个或多个中继,因为它们已经被选择,或者与已选择的中继共享家族。

RelayRestriction对中继施加额外的限制。

RelaySelector是一组使用、排除和任意数量的限制。

RelaySelector中,使用和限制可以是严格的或灵活的。如果我们未能选择中继,并且有任何灵活的使用/限制,那么我们会移除这些使用/限制以产生一个放松的选择器,然后再次尝试。

许可证:MIT OR Apache-2.0

依赖项

~20–32MB
~499K SLoC