[tor-bugs] #8374 [Tor bundles/installation]: Ship list of fallback directory mirrors on long-term fixed IPv6 addresses

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Mar 13 14:41:30 UTC 2013


#8374: Ship list of fallback directory mirrors on long-term fixed IPv6 addresses
--------------------------------------+-------------------------------------
 Reporter:  karsten                   |          Owner:  erinn
     Type:  enhancement               |         Status:  new  
 Priority:  normal                    |      Milestone:       
Component:  Tor bundles/installation  |        Version:       
 Keywords:                            |         Parent:       
   Points:                            |   Actualpoints:       
--------------------------------------+-------------------------------------

Comment(by karsten):

 Okay.  We should avoid writing yet another service for this if we can.  I
 think Onionoo has almost everything we need, and the missing parts are
 quite easy to implement.  What is missing is that Onionoo tracks relay
 address changes, and we'd also need a small script that converts Onionoo's
 output into a list of fallback addresses.  Here's how this could work:

  - We add a new field to Onionoo to track address changes:
    - The spec for that field would be: "last_changed_addresses": UTC
 timestamp (YYYY-MM-DD hh:mm:ss) when this relay last announced a different
 IPv4 or IPv6 address where it accepts OR or directory connections. Note
 that this timestamp is reset when a relay drops out of the consensus for
 more than 7 days, so that whenever that relay rejoins, it would seem as if
 it changed its address(es) at that time; this is a known limitation of the
 current Onionoo design. Required field.
    - Note that the special case of leaving and rejoining relays is not
 relevant here, because we'd only look for stable relays that don't leave
 the network for more than a week.
    - We'll want to feed Onionoo with consensuses from the past month or so
 to initialize these field values.
  - The script that would be run whenever a new 0.2.5.x (or higher) bundle
 is made would do these steps:
    - Download the list of all currently running relays from
 https://onionoo.torproject.org/details?type=relay&running=true
    - Discard all relays that don't have an IPv6 address in "or_addresses",
 that don't have a "dir_address" field, that have a "first_seen" or
 "last_changed_addresses" date younger than 4 weeks (or more/less depending
 on results), or that have "Authority" in their "flags" field.
    - Sort the remaining relays by "consensus_weight" in descending order.
    - Format the top-20 (or more/less depending on results) relays as:
 `FallbackDir "dir_address" orport="or_addresses(ipv4 port)"
 id="fingerprint" weight="consensus_weight" ipv6="or_addresses(ipv6
 address)"`

 Here's an example relay that might make it into the fallback directories
 list:

 {{{
 {"nickname":"Kiruna",
 "fingerprint":"980D326017CEF4CBBF4089FBABE767DC83D059AF",
 "or_addresses":["193.11.164.242:9001","[2001:6b0:7:125::242]:9001"],
 "dir_address":"193.11.164.242:9030",
 "last_seen":"2013-03-13 14:00:00",
 "first_seen":"2013-01-21 15:00:00",
 "running":true,
 "flags":["Fast","Named","Running","V2Dir","Valid"],
 "country":"se",
 "latitude":62.0000,
 "longitude":15.0000,
 "country_name":"Sweden",
 "as_number":"AS1653",
 "as_name":"SUNET Swedish University Network",
 "consensus_weight":16500,
 [...]
 }}}

 The fallback directory line for this relay would be:

 {{{
 FallbackDir 193.11.164.242:9030 orport=9001
 id=980D326017CEF4CBBF4089FBABE767DC83D059AF
   weight=16500 ipv6=[2001:6b0:7:125::242]
 }}}

 I can look into making the Onionoo changes, but I'd appreciate if someone
 else would work on the script.  In theory, work on the script can begin
 now, except for the "last_changed_addresses" check that will have to be
 added once that field is present.  I'll ask around.

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


More information about the tor-bugs mailing list