Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



50 Commits

Repository files navigation

Build Tests Coverage Documentation

ZeroNet Tracker

This is a ZeroNet tracker written in Rust. It can keep track of a number of different peer types.



  • Copy of the source code
  • Cargo + rustc nightly


Run cargo +nightly install --path . in the local repository root



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


  • Remove dead peers
  • Remove stale hashes
  • Server
    • Overview showing: version, uptime, connections, peers, hashes
    • Explore hashes
      • Option to crawl ZeroSites for hashes
    • Explore peers
    • Show log (this should not be publicly accessible)
  • SQLite
    • In memory
    • On file
  • Metrics
    • Endpoint for Prometheus scraper


This ZeroNet Tracker depends on the ZeroNet Protocol library which is available from the Cratez Rust Registry, information on how to add Cratez to your cargo's registry configuration can be found on the site.

Optional Features


The ZeroNet Tracker can optionally be compiled with the server flag. If enabled a server using Rocket and Maud will make useful information about the status of the tracker available on localhost:8000, or at the ROCKET_PORT environment variable.

It should be perfectly safe to make this available outside of your network as long as the dependencies used in this project are sound. Be aware that with low numbers of peers this information combined with a ZeroSites crawler could be used to deanonymize peers.


Without this feature the tracker will keep all of its data in memory and it is lost upon restart. Since the retention is under one hour and the tracker is highly unlikely to crash there is little benefit to changing this behaviour. Should you want retention between restarts of the tracker then you can enable the sql feature and set a database_file path in the configuration. The tracker then uses a peerdb implementation based on rusqlite that writes to the given path.


If you want to collect metrics from the ZeroNet Tracker in Prometheus you can enable the metrics feature which extends the server feature with a page at /metrics that serves some statistics about the program ready for Prometheus to ingest.