[tor-bugs] #18177 [DocTor]: Check Fallback Directory IPv4 and IPv6 addresses using DocTor

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Feb 22 02:35:00 UTC 2016


#18177: Check Fallback Directory IPv4 and IPv6 addresses using DocTor
-------------------------+-----------------------------
 Reporter:  teor         |          Owner:  atagar
     Type:  enhancement  |         Status:  closed
 Priority:  Medium       |      Milestone:
Component:  DocTor       |        Version:
 Severity:  Normal       |     Resolution:  implemented
 Keywords:               |  Actual Points:
Parent ID:               |         Points:
  Sponsor:               |
-------------------------+-----------------------------
Changes (by atagar):

 * status:  new => closed
 * resolution:   => implemented


Comment:

 Thanks teor! Done, but with a lot of
 [https://gitweb.torproject.org/stem.git/commit/?id=332ef6e6fe89d9f0d48e9b95acff7de9f3ec647f
 expansion over what you asked]. Stem now has a FallbackDirectory class
 with two methods for getting this information...

 *
 [https://stem.torproject.org/api/descriptor/remote.html#stem.descriptor.remote.FallbackDirectory.from_remote
 FallbackDirectory.from_remote()] reads the latest fallback_dirs.inc from
 gitweb, providing the latest fallback directories in tor's master branch.

 *
 [https://stem.torproject.org/api/descriptor/remote.html#stem.descriptor.remote.FallbackDirectory.from_cache
 FallbackDirectory.from_cache()] provides the latest fallback directories
 Stem has cached. This is only as up-to-date as your Stem release but is
 quicker and avoids relying on gitweb.

 Advantages are...

 * Stem's descriptor.remote module now puts less load on the directory
 authorities since it uses fallback directories as well.

 * Much, much easier to add further scripts that take advantage of the
 fallback directories.

 * Running Stem's integ tests with the ONLINE target includes a test that
 exercises all the fallback directories, notifying us if any are down.

 Here's an example script to check the performance of the fallback
 directories...

 {{{
 import time
 from stem.descriptor.remote import DescriptorDownloader, FallbackDirectory

 downloader = DescriptorDownloader()

 for fallback_directory in FallbackDirectory.from_cache().values():
   start = time.time()
   downloader.get_consensus(endpoints = [(fallback_directory.address,
 fallback_directory.dir_port)]).run()
   print('Downloading the consensus took %0.2f from %s' % (time.time() -
 start, fallback_directory.nickname))
 }}}

 {{{
 % python example.py
 Downloading the consensus took 5.07 from Doedel22
 Downloading the consensus took 3.59 from tornoderdednl
 Downloading the consensus took 4.16 from Logforme
 Downloading the consensus took 6.76 from Doedel21
 Downloading the consensus took 5.21 from kitten4
 Downloading the consensus took 3.25 from kili
 Downloading the consensus took 4.23 from wagner
 Downloading the consensus took 3.30 from BabylonNetwork03
 Downloading the consensus took 3.50 from kitten2
 Downloading the consensus took 3.31 from coby
 Downloading the consensus took 5.61 from GrmmlLitavis
 Downloading the consensus took 5.05 from Doedel24
 Downloading the consensus took 3.60 from BabylonNetwork02
 Downloading the consensus took 3.61 from Unnamed
 Downloading the consensus took 2.71 from Binnacle
 Downloading the consensus took 30.80 from eriador
 Downloading the consensus took 6.91 from Doedel26
 Downloading the consensus took 3.30 from fluxe4
 Downloading the consensus took 3.16 from PedicaboMundi
 Downloading the consensus took 3.33 from kitten1
 Downloading the consensus took 3.39 from fluxe3
 }}}

 Feel free to reopen if you need anything else.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/18177#comment:8>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list