#tracker #peer #zero-net #server #numbers #keep #track

nightly app zeronet_tracker

用Rust编写的ZeroNet追踪器

11个版本

0.1.23 2022年6月14日
0.1.22 2022年5月26日
0.1.17 2022年4月23日
0.1.16 2022年3月12日
0.1.10 2021年6月27日

1 in #zero-net

WTFPLGPL-3.0-or-later

50KB
791 代码行(不包括注释)

Build Tests Coverage Documentation

ZeroNet追踪器

这是一个用Rust编写的ZeroNet追踪器。它可以跟踪多种不同的对等类型。

安装

先决条件

  • 源代码副本
  • Cargo + rustc nightly

步骤

在本地仓库根目录下运行 cargo +nightly install --path .

路线图

对等类型

  • IPV4 & IPV6
  • Onion v2 & v3
  • I2P b32

特性

  • 删除无效对等节点
  • 删除过时散列值
  • 服务器
    • 概述显示:版本、运行时间、连接、对等节点、散列值
    • 探索散列值
      • 可选:爬取ZeroSites以获取散列值
    • 探索对等节点
    • 显示日志(不应公开访问)
  • SQLite
    • 内存中
    • 文件中
  • 指标
    • Prometheus爬虫的端点

构建

此ZeroNet追踪器依赖于ZeroNet协议库,该库可在Cratez Rust注册表中找到。有关如何将Cratez添加到您的cargo的注册表配置的信息可以在网站上找到。

可选特性

服务器

ZeroNet追踪器可以编译时使用server标志。如果启用,将使用Rocket和Maud创建一个服务器,并在localhost:8000ROCKET_PORT环境变量指定的端口上提供有关追踪器状态的 useful信息。

只要使用此项目中的依赖项是安全的,就可以在您的网络之外提供这些信息。请注意,如果对等节点数量少,这些信息与ZeroSites爬虫结合使用可能会导致对等节点去匿名化。

SQL

如果没有此功能,追踪器将保留所有数据在内存中,并在重启时丢失。由于保留时间不到一小时,且追踪器不太可能崩溃,因此更改此行为的好处很小。如果您想在追踪器重启之间保留数据,则可以启用sql功能并在配置中设置一个database_file路径。然后,追踪器使用基于rusqlite的peerdb实现,并将数据写入指定路径。

指标

如果您想在 Prometheus 中收集 ZeroNet Tracker 的指标,可以启用 metrics 功能,该功能将 server 功能扩展到 /metrics 页面,该页面提供了一些程序统计信息,以便 Prometheus 进行摄取。

依赖项

~9–25MB
~371K SLoC