Discussion:
[tor-talk] Get relay information from the "Network Status Consensuses" file?
Lucon Yang
2018-11-25 07:57:34 UTC
Permalink
The "Network Status Consensuses" file contains some relay information I
need. Now I have a relay's fingerprint, but I did't find a fingerprint
field in this file.
How can I get a relay's information from the file by the relay's
fingerprint?
--
tor-talk mailing list - tor-***@lists.torproject.org
To unsubscribe or change other settings go to
https://lists.torproject.org/cgi-bin/mailman/listinfo/
Matthew Finkel
2018-11-25 16:07:21 UTC
Permalink
Post by Lucon Yang
The "Network Status Consensuses" file contains some relay information I
need. Now I have a relay's fingerprint, but I did't find a fingerprint
field in this file.
How can I get a relay's information from the file by the relay's
fingerprint?
You'll probably be interested in reading the official consensus document
specification [0].

The short answer is: if you have the relay's fingerprint encoded in
base16 (hex), then you'll need to convert it to base64. The result is on
the r-line in the field next to the relay's name. The section from
the specification says:

"Identity" is a hash of its identity key, encoded in base64, with
trailing equals sign(s) removed."

I usually use python for this, because it's relatively easy, but there
may be an even easier methods.

If I want to look at maatuska [1] and I know it's fingerprint encoded in hex
is BD6A829255CB08E66FBE7D3748363586E46B3810, then I convert the encoding
into base64 with:

""""""""""""
$ python
Python 2.7.15 (default, May 9 2018, 11:32:33)
[GCC 7.3.1 20180130 (Red Hat 7.3.1-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Post by Lucon Yang
import binascii
binascii.b2a_base64(binascii.a2b_hex('BD6A829255CB08E66FBE7D3748363586E46B3810'))
'vWqCklXLCOZvvn03SDY1huRrOBA=\n'
""""""""""""

This takes the hex string and converts it into binary, and then takes
the binary and converts it into base64. You'll want the result not
including any '=' and new line at the end - vWqCklXLCOZvvn03SDY1huRrOBA.

So, looking at the current consensus:

$ torsocks wget https://collector.torproject.org/recent/relay-descriptors/consensuses/2018-11-25-15-00-00-consensus

We can see Maatuska has this r-line:

r maatuska vWqCklXLCOZvvn03SDY1huRrOBA 8Ws9cPzBQWrlqtTZJWKFEixvz1Y 2018-11-25 09:42:37 171.25.193.9 80 443


Hope this helps,


[0] https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n2258
[1]
https://metrics.torproject.org/rs.html#details/BD6A829255CB08E66FBE7D3748363586E46B3810
--
tor-talk mailing list - tor-***@lists.torproject.org
To unsubscribe or change other settings go to
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-tal
Loading...