## Tracking HSDirs and the version of Tor they run

I realized that there may be people coming here without technical knowledge of Tor and Onion services, an “HSDir” is a Tor node that has information about onion services, e.g. how to connect to them.

HSDirs that run a version of Tor without v2 onion support will not accept the information of a v2 onion. Which means, if all 6 of a v2 onion service's HSDirs don't understand v2, it will be impossible to access it.

You might want to see the How do onion services work? page to learn more.

I made a script* to track how many HSDirs run a version of tor that understands v2 onions. It runs every hour, downloads the current consensus, finds all relays that have the HSDir flag and checks their tor version. If the tor version is 0.4.[6-9] (as of 16 UTC 26th Oct it also includes 0.3.5.17 and 0.4.5.11) it is counted as being “nonv2” otherwise it is counted as “v2”

This is what it looks like as a chart:

But you may want to know what fraction of HSDirs are non-v2:

The fraction to the power of 6 (keep an eye on this one). That is, the chance that 6 (random) HSDirs will not understand v2. If all 6 of a v2 onion service's HSDirs don't understand v2, it will be impossible to access it. Because it is very close to 0, v2 onion services are expected to work fine.

The charts are self updating, every hour at 30, e.g. 11:30.

The data is available here:

- Tracking how many Tor HSDirs run a version that is non-v2
- Fraction of HSDirs that are non-v2
- Expected chance that a v2 onion is unreachable

* And then 3 others to generate charts and csv files.

I got curious as to how it is with all relays, not just HSDirs, so here is a graph of all relays and whether they run a version (as specified above) that is v2 supporting or not:

and the data for that