<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 22 Mar 2016, at 23:30, Nathan Freitas <<a href="mailto:nathan@freitas.net" class="">nathan@freitas.net</a>> wrote:</div><div class=""><div class=""><br class="">On Mon, Mar 21, 2016, at 02:16 PM, Tim Wilson-Brown - teor wrote:<br class=""><blockquote type="cite" class="">Just a heads' up that tor 0.2.8 includes a fallback directory mirrors<br class="">feature, where tor clients bootstrap from a set of hard-coded long-lived<br class="">directory mirrors. This makes bootstrap more reliable, and makes it<br class="">harder to block tor. The wiki has an entry with more details. [0]<br class=""><br class="">We're currently trying to finalise a list of around 100 fallback<br class="">directory mirrors by the time tor 0.2.8-stable is released. [1]<br class=""></blockquote><br class="">Thanks for the heads up on this. It sounds like an excellent feature.<br class=""><br class="">Is there any randomization to the selection of which mirror to use? </div></div></blockquote><div><br class=""></div><div>The fallback directory mirrors are randomly selected based on a hard-coded weight. This weight is based on their consensus weight at the time the list of mirrors was created. (We exclude low-weight mirrors, and reduce the weights of some high-weight mirrors so they don't see too many client requests.)</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">Any events or info notice when the fallback is being used?</div></div></blockquote><div><br class=""></div><div>The fallbacks are used for the initial consensus download, and a connection is tried as soon as tor starts up. So they're always being used.</div><div><br class=""></div><div>The standard tor bootstrap events are issued to any controllers during bootstrap, regardless of whether the initial consensus is downloaded from an authority or a fallback.</div><br class=""></div><div>The info-level logs look something like this:</div><div><blockquote type="cite" class=""><div>Mar 23 10:40:13.000 [info] update_consensus_bootstrap_attempt_downloads: Launching microdesc bootstrap mirror networkstatus consensus download.</div>Mar 23 10:40:13.000 [info] directory_pick_generic_dirserver: No router found for consensus network-status fetch; falling back to dirserver list.<br class="">Mar 23 10:40:13.000 [info] connection_ap_make_link: Making internal direct tunnel to [scrubbed]:80 ...<br class="">Mar 23 10:40:13.000 [info] connection_ap_make_link: ... application connection created and linked.<br class="">Mar 23 10:40:13.000 [info] directory_send_command: Downloading consensus from 78.47.18.110 using /tor/status-vote/current/consensus-microdesc/0232AF+14C131+23D15D+49015F+805509+D586D1+E8A9C4+ED03BB+EFCBE7.z<br class="">Mar 23 10:40:13.000 [info] onion_pick_cpath_exit: Using requested exit node '$F8D27B163B9247B232A2EEE68DD8B698695C28DE~F8D27B163B9247B232A at 78.47.18.110'<br class="">Mar 23 10:40:13.000 [info] circuit_handle_first_hop: Next router is [scrubbed]: Not connected. Connecting.<br class="">Mar 23 10:40:13.000 [notice] Bootstrapped 5%: Connecting to directory server</blockquote></div><div class=""><br class=""></div><div class="">78.47.18.110 (and the fingerprint) are a randomly-selected hard-coded fallback directory mirror IP addresses and fingerprint.</div><div class=""><br class=""></div><div class="">Tor will try several fallbacks, then try an authority.</div><div class="">It doesn't wait for the first connection to timeout before trying another fallback or authority.</div><div class="">It downloads the consensus from the first fallback or authority it can successfully connect to, and closes all the other connections.</div><div class=""><br class=""></div><div class="">Tim</div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Tim Wilson-Brown (teor)</div><div style="color: rgb(0, 0, 0); letter-spacing: normal; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""></div><div style="orphans: auto; text-align: start; text-indent: 0px; widows: auto; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">teor2345 at gmail dot com<br class="">PGP 968F094B<br class=""><br class="">teor at blah dot im<br class="">OTR CAD08081 9755866D 89E2A06F E3558B7F B5A9D14F</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
<br class=""></body></html>