[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #8374 [Tor bundles/installation]: Ship list of fallback directory mirrors on long-term fixed IPv6 addresses
#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
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs