Merge remote-tracking branch 'teor/fallbacks-201602-v2'

This commit is contained in:
Nick Mathewson 2016-02-28 15:51:22 +01:00
commit 69fc025e95
3 changed files with 333 additions and 161 deletions

View File

@ -37,7 +37,6 @@
# https://lists.torproject.org/pipermail/tor-relays/2016-January/008555.html
62.210.124.124:9030 orport=9001 id=86E78DD3720C78DA8673182EF96C54B162CD660C ipv6=[2001:bc8:3f23:100::1]:9001
62.210.124.124:9130 orport=9101 id=2EBD117806EE43C3CC885A8F1E4DC60F207E7D3E ipv6=[2001:bc8:3f23:100::1]:9101
# DirPort TBC in next consensus
212.47.237.95:9030 orport=9001 id=3F5D8A879C58961BB45A3D26AC41B543B40236D6
212.47.237.95:9130 orport=9101 id=6FB38EB22E57EF7ED5EF00238F6A48E553735D88
@ -76,7 +75,8 @@
81.7.14.246:80 orport=443 id=CE75BF0972ADD52AF8807602374E495C815DB304 ipv6=[2a02:180:a:51::dead]:443
# https://lists.torproject.org/pipermail/tor-relays/2015-December/008384.html
149.202.98.161:80 orport=443 id=54660C671B47E6986B465B80444414BD19E5A34B ipv6=[2001:41d0:8:4528::161]:443
# Sent additional email to teor with fingerprint change
149.202.98.161:80 orport=443 id=FC64CD763F8C1A319BFBBF62551684F4E1E42332 ipv6=[2001:41d0:8:4528::161]:443
193.111.136.162:80 orport=443 id=C79552275DFCD486B942510EF663ED36ACA1A84B ipv6=[2001:4ba0:cafe:10d0::1]:443
# https://lists.torproject.org/pipermail/tor-relays/2015-December/008416.html

View File

@ -26,11 +26,17 @@ import dateutil.parser
# bson_lazy provides bson
#from bson import json_util
from stem.descriptor.remote import DescriptorDownloader
import logging
logging.basicConfig(level=logging.DEBUG)
## Top-Level Configuration
# Perform DirPort checks over IPv6?
# If you know IPv6 works for you, set this to True
PERFORM_IPV6_DIRPORT_CHECKS = False
# Output all candidate fallbacks, or only output selected fallbacks?
OUTPUT_CANDIDATES = False
@ -73,7 +79,11 @@ MAX_LIST_FILE_SIZE = 1024 * 1024
## Eligibility Settings
ADDRESS_AND_PORT_STABLE_DAYS = 120
# Reduced due to a bug in tor where a relay submits a 0 DirPort when restarted
# This causes OnionOO to (correctly) reset its stability timer
# This issue is fixed in 0.2.7.7 and master.
# Until then, the CUTOFFs below ensure a decent level of stability.
ADDRESS_AND_PORT_STABLE_DAYS = 7
# What time-weighted-fraction of these flags must FallbackDirs
# Equal or Exceed?
CUTOFF_RUNNING = .95
@ -84,6 +94,16 @@ CUTOFF_GUARD = .95
# .00 means no bad exits
PERMITTED_BADEXIT = .00
# Clients will time out after 30 seconds trying to download a consensus
# So allow fallback directories half that to deliver a consensus
# The exact download times might change based on the network connection
# running this script, but only by a few seconds
# There is also about a second of python overhead
CONSENSUS_DOWNLOAD_SPEED_MAX = 15.0
# If the relay fails a consensus check, retry the download
# This avoids delisting a relay due to transient network conditions
CONSENSUS_DOWNLOAD_RETRY = True
## List Length Limits
# The target for these parameters is 20% of the guards in the network
@ -93,7 +113,7 @@ FALLBACK_PROPORTION_OF_GUARDS = None if OUTPUT_CANDIDATES else 0.2
# Limit the number of fallbacks (eliminating lowest by weight)
MAX_FALLBACK_COUNT = None if OUTPUT_CANDIDATES else 500
# Emit a C #error if the number of fallbacks is below
MIN_FALLBACK_COUNT = 100
MIN_FALLBACK_COUNT = 50
## Fallback Weight Settings
@ -344,6 +364,7 @@ def onionoo_fetch(what, **kwargs):
# Check for freshness
if last_mod < required_freshness:
if last_mod_date is not None:
# This check sometimes fails transiently, retry the script if it does
date_message = "Outdated data: last updated " + last_mod_date
else:
date_message = "No data: never downloaded "
@ -390,7 +411,7 @@ def fetch(what, **kwargs):
## Fallback Candidate Class
class Candidate(object):
CUTOFF_ADDRESS_AND_PORT_STABLE = (datetime.datetime.now()
CUTOFF_ADDRESS_AND_PORT_STABLE = (datetime.datetime.utcnow()
- datetime.timedelta(ADDRESS_AND_PORT_STABLE_DAYS))
def __init__(self, details):
@ -583,7 +604,7 @@ class Candidate(object):
periods = history.keys()
periods.sort(key = lambda x: history[x]['interval'])
now = datetime.datetime.now()
now = datetime.datetime.utcnow()
newest = now
for p in periods:
h = history[p]
@ -802,7 +823,57 @@ class Candidate(object):
def original_fallback_weight_fraction(self, total_weight):
return float(self.original_consensus_weight()) / total_weight
def fallbackdir_line(self, total_weight, original_total_weight):
@staticmethod
def fallback_consensus_dl_speed(dirip, dirport, nickname, max_time):
downloader = DescriptorDownloader()
start = datetime.datetime.utcnow()
# there appears to be about 1 second of overhead when comparing stem's
# internal trace time and the elapsed time calculated here
downloader.get_consensus(endpoints = [(dirip, dirport)]).run()
elapsed = (datetime.datetime.utcnow() - start).total_seconds()
if elapsed > max_time:
status = 'too slow'
else:
status = 'ok'
logging.debug(('Consensus download: %0.2fs %s from %s (%s:%d), '
+ 'max download time %0.2fs.') % (elapsed, status,
nickname, dirip, dirport,
max_time))
return elapsed
def fallback_consensus_dl_check(self):
ipv4_speed = Candidate.fallback_consensus_dl_speed(self.dirip,
self.dirport,
self._data['nickname'],
CONSENSUS_DOWNLOAD_SPEED_MAX)
if self.ipv6addr is not None and PERFORM_IPV6_DIRPORT_CHECKS:
# Clients assume the IPv6 DirPort is the same as the IPv4 DirPort
ipv6_speed = Candidate.fallback_consensus_dl_speed(self.ipv6addr,
self.dirport,
self._data['nickname'],
CONSENSUS_DOWNLOAD_SPEED_MAX)
else:
ipv6_speed = None
# Now retry the relay if it took too long the first time
if (ipv4_speed > CONSENSUS_DOWNLOAD_SPEED_MAX
and CONSENSUS_DOWNLOAD_RETRY):
ipv4_speed = Candidate.fallback_consensus_dl_speed(self.dirip,
self.dirport,
self._data['nickname'],
CONSENSUS_DOWNLOAD_SPEED_MAX)
if (self.ipv6addr is not None and PERFORM_IPV6_DIRPORT_CHECKS
and ipv6_speed > CONSENSUS_DOWNLOAD_SPEED_MAX
and CONSENSUS_DOWNLOAD_RETRY):
ipv6_speed = Candidate.fallback_consensus_dl_speed(self.ipv6addr,
self.dirport,
self._data['nickname'],
CONSENSUS_DOWNLOAD_SPEED_MAX)
return (ipv4_speed <= CONSENSUS_DOWNLOAD_SPEED_MAX
and (not PERFORM_IPV6_DIRPORT_CHECKS
or ipv6_speed <= CONSENSUS_DOWNLOAD_SPEED_MAX))
def fallbackdir_line(self, total_weight, original_total_weight, dl_speed_ok):
# /*
# nickname
# flags
@ -813,6 +884,7 @@ class Candidate(object):
# "address:dirport orport=port id=fingerprint"
# "[ipv6=addr:orport]"
# "weight=num",
#
# Multiline C comment
s = '/*'
s += '\n'
@ -839,6 +911,10 @@ class Candidate(object):
s += '\n'
s += '*/'
s += '\n'
# Comment out the fallback directory entry if it's too slow
# See the debug output for which address and port is failing
if not dl_speed_ok:
s += '/* Consensus download failed or was too slow:\n'
# Multi-Line C string with trailing comma (part of a string list)
# This makes it easier to diff the file, and remove IPv6 lines using grep
# Integers don't need escaping
@ -852,6 +928,9 @@ class Candidate(object):
cleanse_c_string(self.ipv6addr), cleanse_c_string(self.ipv6orport))
s += '\n'
s += '" weight=%d",'%(weight)
if not dl_speed_ok:
s += '\n'
s += '*/'
return s
## Fallback Candidate List Class
@ -1249,7 +1328,8 @@ def list_fallbacks():
print describe_fetch_source(s)
for x in candidates.fallbacks[:max_count]:
print x.fallbackdir_line(total_weight, pre_clamp_total_weight)
dl_speed_ok = x.fallback_consensus_dl_check()
print x.fallbackdir_line(total_weight, pre_clamp_total_weight, dl_speed_ok)
#print json.dumps(candidates[x]._data, sort_keys=True, indent=4,
# separators=(',', ': '), default=json_util.default)

View File

@ -1,206 +1,298 @@
/* Trial fallbacks for 0.2.8.1-alpha with ADDRESS_AND_PORT_STABLE_DAYS = 30
/* Trial fallbacks for 0.2.8.2-alpha with ADDRESS_AND_PORT_STABLE_DAYS = 7
* This works around an issue where relays post a descriptor without a DirPort
* when restarted. If these relays stay up, they will have been up for 120 days
* by the 0.2.8 stable release -- teor */
/* Whitelist & blacklist excluded 1070 of 1091 candidates. */
* when restarted. The flag CUTOFFs ensure sufficient relay stability. -- teor
*/
/* Whitelist & blacklist excluded 1380 of 1412 candidates. */
/*
Fallback Directory Summary
Final Count: 21 (Eligible 21, Usable 21, Target 290 (1454 * 0.200000), Clamped to 500)
Final Count: 32 (Eligible 32, Usable 32, Target 335 (1679 * 0.200000), Clamped to 500)
*/
/* Ignore low fallback numbers in alpha builds -- teor
#error Fallback Count 21 is too low. Must be at least 100 for diversity. Try adding entries to the whitelist, or setting INCLUDE_UNLISTED_ENTRIES = True.
#error Fallback Count 32 is too low. Must be at least 50 for diversity. Try adding entries to the whitelist, or setting INCLUDE_UNLISTED_ENTRIES = True.
*/
/*
Final Weight: 491920 (Eligible 546000)
Max Weight: 43680 (8.879%) (Clamped to 10.000%)
Min Weight: 8080 (1.643%) (Clamped to 0.100%)
Clamped: 54080 (10.994%) Excess Weight, 4 High Weight Fallbacks (19.0%)
Final Weight: 704514 (Eligible 712270)
Max Weight: 56981 (8.088%) (Clamped to 10.000%)
Min Weight: 4450 (0.632%) (Clamped to 0.100%)
Clamped: 7755 (1.101%) Excess Weight, 3 High Weight Fallbacks (9.4%)
*/
/*
Onionoo Source: details Date: 2016-01-18 00:00:00 Version: 3.0
URL: https://onionoo.torproject.org/details?fields=fingerprint%2Cnickname%2Ccontact%2Clast_changed_address_or_port%2Cconsensus_weight%2Cor_addresses%2Cdir_address%2Crecommended_version%2Cflags&flag=V2Dir&type=relay&last_seen_days=-7&first_seen_days=30-
Onionoo Source: details Date: 2016-02-27 07:00:00 Version: 3.1
URL: https://onionoo.torproject.org/details?fields=fingerprint%2Cnickname%2Ccontact%2Clast_changed_address_or_port%2Cconsensus_weight%2Cor_addresses%2Cdir_address%2Crecommended_version%2Cflags&flag=V2Dir&type=relay&last_seen_days=-7&first_seen_days=7-
*/
/*
Onionoo Source: uptime Date: 2016-01-18 00:00:00 Version: 3.0
URL: https://onionoo.torproject.org/uptime?first_seen_days=30-&flag=V2Dir&type=relay&last_seen_days=-7
Onionoo Source: uptime Date: 2016-02-27 07:00:00 Version: 3.1
URL: https://onionoo.torproject.org/uptime?first_seen_days=7-&flag=V2Dir&type=relay&last_seen_days=-7
*/
/*
wagner
Flags: Fast Guard Running Stable V2Dir Valid
Fallback Weight: 43680 / 491920 (8.879%)
Consensus Weight: 62600 / 546000 (11.465%)
Rarely used email <trff914 AT gmail DOT com>
*/
"5.175.233.86:80 orport=443 id=5525D0429BFE5DC4F1B0E9DE47A4CFA169661E33"
" weight=43680",
/*
kitten2
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 43680 / 491920 (8.879%)
Consensus Weight: 59100 / 546000 (10.824%)
0xEFB74277ECE4E222 Aeris <aeris+tor AT imirhil DOT fr> - 1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd
*/
"62.210.124.124:9130 orport=9101 id=2EBD117806EE43C3CC885A8F1E4DC60F207E7D3E"
" ipv6=[2001:bc8:3f23:100::1]:9101"
" weight=43680",
/*
kitten1
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 43680 / 491920 (8.879%)
Consensus Weight: 57600 / 546000 (10.549%)
Fallback Weight: 56981 / 704514 (8.088%)
Consensus Weight: 61100 / 712270 (8.578%)
0xEFB74277ECE4E222 Aeris <aeris+tor AT imirhil DOT fr> - 1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd
*/
"62.210.124.124:9030 orport=9001 id=86E78DD3720C78DA8673182EF96C54B162CD660C"
" ipv6=[2001:bc8:3f23:100::1]:9001"
" weight=43680",
" weight=56981",
/*
fluxe4
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 43680 / 491920 (8.879%)
Consensus Weight: 49500 / 546000 (9.066%)
Fallback Weight: 56981 / 704514 (8.088%)
Consensus Weight: 59800 / 712270 (8.396%)
Sebastian <tor@sebastianhahn.net> - 12NbRAjAG5U3LLWETSF7fSTcdaz32Mu5CN
*/
"131.188.40.188:443 orport=80 id=EBE718E1A49EE229071702964F8DB1F318075FF8"
" weight=43680",
" weight=56981",
/*
BabylonNetwork03
Flags: Exit Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 38700 / 491920 (7.867%)
Babylon Network | noc <AT> babylon <DOT> network | PGP 0x2A540FA5 | 1HiSG8pia5DdDLUMyYNkF9sicGozojZLnH
kitten2
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 56981 / 704514 (8.088%)
Consensus Weight: 57800 / 712270 (8.115%)
0xEFB74277ECE4E222 Aeris <aeris+tor AT imirhil DOT fr> - 1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd
*/
"193.111.136.162:80 orport=443 id=C79552275DFCD486B942510EF663ED36ACA1A84B"
" ipv6=[2001:4ba0:cafe:10d0::1]:443"
" weight=38700",
"62.210.124.124:9130 orport=9101 id=2EBD117806EE43C3CC885A8F1E4DC60F207E7D3E"
" ipv6=[2001:bc8:3f23:100::1]:9101"
" weight=56981",
/*
fluxe3
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 54800 / 704514 (7.778%)
Sebastian <tor@sebastianhahn.net> - 12NbRAjAG5U3LLWETSF7fSTcdaz32Mu5CN
*/
"78.47.18.110:443 orport=80 id=F8D27B163B9247B232A2EEE68DD8B698695C28DE"
" weight=54800",
/*
tornoderdednl
Flags: Fast Guard Running Stable V2Dir Valid
Fallback Weight: 33000 / 491920 (6.708%)
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 50500 / 704514 (7.168%)
0x4871E82F Thom Wiggers <thom @AT@ RDED POINT NL> BTC 1DLyDFV13zhCWJYHMh5bk5C58yYvpxqxfQ
*/
"178.62.199.226:80 orport=443 id=CBEFF7BA4A4062045133C053F2D70524D8BBE5BE"
" ipv6=[2a03:b0c0:2:d0::b7:5001]:443"
" weight=33000",
" weight=50500",
/*
fluxe3
pixelminer
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 31500 / 491920 (6.403%)
Sebastian <tor@sebastianhahn.net> - 12NbRAjAG5U3LLWETSF7fSTcdaz32Mu5CN
Fallback Weight: 44800 / 704514 (6.359%)
Christian Sturm <reezer AT pixelminers dot net> - 1Q3PQJTELv33S1nruGcTUMQ7CuWxXmnjkZ
*/
"78.47.18.110:443 orport=80 id=F8D27B163B9247B232A2EEE68DD8B698695C28DE"
" weight=31500",
"81.7.14.246:80 orport=443 id=CE75BF0972ADD52AF8807602374E495C815DB304"
" ipv6=[2a02:180:a:51::dead]:443"
" weight=44800",
/*
BabylonNetwork02
Flags: Exit Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 27300 / 491920 (5.550%)
Babylon Network | noc <AT> babylon <DOT> network | PGP 0x2A540FA5 | 1HiSG8pia5DdDLUMyYNkF9sicGozojZLnH
*/
"149.202.98.161:80 orport=443 id=54660C671B47E6986B465B80444414BD19E5A34B"
" ipv6=[2001:41d0:8:4528::161]:443"
" weight=27300",
/*
coby
bakunin
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 20400 / 491920 (4.147%)
c0by <coby AT 127001 dot ovh>
Fallback Weight: 41800 / 704514 (5.933%)
GTor <contact _AT_ gtor _DOT_ org>
*/
"51.255.33.237:9091 orport=9001 id=A360C21FA87FFA2046D92C17086A6B47E5C68109"
" weight=20400",
"178.16.208.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A"
" ipv6=[2a00:1c20:4089:1234:7825:2c5d:1ecd:c66f]:443"
" weight=41800",
/*
kili
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 19300 / 491920 (3.923%)
Fallback Weight: 23800 / 704514 (3.378%)
0x49CBC553 Joost Rijneveld <joost AT joostrijneveld dot nl>
*/
"178.62.173.203:9030 orport=9001 id=DD85503F2D1F52EF9EAD621E942298F46CD2FC10"
" ipv6=[2a03:b0c0:0:1010::a4:b001]:9001"
" weight=19300",
/*
Logforme
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 18600 / 491920 (3.781%)
Logforme <m7527 AT abc dot se>
*/
"84.219.173.60:9030 orport=443 id=855BC2DABE24C861CD887DB9B2E950424B49FC34"
" weight=18600",
/*
eriador
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 17400 / 491920 (3.537%)
hwertiout695@safe-mail.net
*/
"85.25.138.93:9030 orport=4029 id=6DE61A6F72C1E5418A66BFED80DFB63E4C77668F"
" weight=17400",
/*
Doedel24
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 17000 / 491920 (3.456%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.20.134:9030 orport=9001 id=2CE96A8A1DA032664C90F574AFFBECE18A6E8DFC"
" weight=17000",
/*
GrmmlLitavis
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 15500 / 491920 (3.151%)
<tor AT grmml DOT eu>
*/
"5.39.88.19:9030 orport=9001 id=7CB8C31432A796731EA7B6BF4025548DFEB25E0C"
" ipv6=[2001:41d0:8:9a13::1]:9050"
" weight=15500",
/*
Doedel21
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 13800 / 491920 (2.805%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.44.135:80 orport=443 id=AE6A8C18E7499B586CD36246AC4BCAFFBBF93AB2"
" weight=13800",
/*
Unnamed
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 13400 / 491920 (2.724%)
monitor0penmailbox0rg
*/
"217.12.199.208:80 orport=443 id=DF3AED4322B1824BF5539AE54B2D1B38E080FF05"
" weight=13400",
/*
Doedel26
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 12800 / 491920 (2.602%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.20.134:80 orport=443 id=9F5068310818ED7C70B0BC4087AB55CB12CB4377"
" weight=12800",
/*
Doedel22
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 12000 / 491920 (2.439%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.44.135:9030 orport=9001 id=8FA37B93397015B2BC5A525C908485260BE9F422"
" weight=12000",
/*
kitten4
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 10100 / 491920 (2.053%)
0xEFB74277ECE4E222 Aeris <aeris+tor AT imirhil DOT fr> - 1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd
*/
"212.47.237.95:9130 orport=9101 id=6FB38EB22E57EF7ED5EF00238F6A48E553735D88"
" weight=10100",
/*
Binnacle
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 8320 / 491920 (1.691%)
starlight dot YYYYqQ at binnacle dot cx
*/
"108.53.208.157:80 orport=443 id=4F0DB7E687FC7C0AE55C8F243DA8B0EB27FBF1F2"
" weight=8320",
" weight=23800",
/*
PedicaboMundi
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 8080 / 491920 (1.643%)
Fallback Weight: 23000 / 704514 (3.265%)
0x43DE8191 - 12LiRiasTEL346ZFjgCh5e3nBexQuvDBTg
*/
"144.76.14.145:110 orport=143 id=14419131033443AE6E21DA82B0D307F7CAE42BDB"
" ipv6=[2a01:4f8:190:9490::dead]:443"
" weight=8080",
" weight=23000",
/*
Doedel26
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 22600 / 704514 (3.208%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.20.134:80 orport=443 id=9F5068310818ED7C70B0BC4087AB55CB12CB4377"
" weight=22600",
/*
Doedel24
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 20800 / 704514 (2.952%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.20.134:9030 orport=9001 id=2CE96A8A1DA032664C90F574AFFBECE18A6E8DFC"
" weight=20800",
/*
Freebird31
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 20500 / 704514 (2.910%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.13.126:80 orport=443 id=F9246DEF2B653807236DA134F2AEAB103D58ABFE"
" weight=20500",
/*
rueckgrat
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 19200 / 704514 (2.725%)
Paul Staroch <paulchen AT rueckgr DOT at> - BTC 1G8pF66fnHc4n4oksY87pCN4TRXAV2Nqhh
*/
"5.9.110.236:9030 orport=9001 id=0756B7CD4DFC8182BE23143FAC0642F515182CEB"
" ipv6=[2a01:4f8:162:51e2::2]:9001"
" weight=19200",
/*
coby
Flags: Fast Guard Running Stable V2Dir Valid
Fallback Weight: 16700 / 704514 (2.370%)
c0by <coby AT 127001 dot ovh>
*/
"51.255.33.237:9091 orport=9001 id=A360C21FA87FFA2046D92C17086A6B47E5C68109"
" weight=16700",
/*
Logforme
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 16000 / 704514 (2.271%)
Logforme <m7527 AT abc dot se>
*/
"84.219.173.60:9030 orport=443 id=855BC2DABE24C861CD887DB9B2E950424B49FC34"
" weight=16000",
/*
12xBTME1
Flags: Exit Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 15300 / 704514 (2.172%)
12xBTM@gmail.com - 12xBTMNArLvKXqvbsbyVhpPQfzUDuUaPGP
*/
"81.7.17.171:80 orport=443 id=00C4B4731658D3B4987132A3F77100CFCB190D97"
" ipv6=[2a02:180:1:1::517:11ab]:443"
" weight=15300",
/*
Doedel21
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 14800 / 704514 (2.101%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.44.135:80 orport=443 id=AE6A8C18E7499B586CD36246AC4BCAFFBBF93AB2"
" weight=14800",
/*
Binnacle
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 13700 / 704514 (1.945%)
starlight dot YYYYqQ at binnacle dot cx
*/
"108.53.208.157:80 orport=443 id=4F0DB7E687FC7C0AE55C8F243DA8B0EB27FBF1F2"
" weight=13700",
/*
Freebird32
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 13200 / 704514 (1.874%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.13.126:9030 orport=9001 id=0C475BA4D3AA3C289B716F95954CAD616E50C4E5"
" weight=13200",
/*
eriador
Flags: Fast Guard Running Stable V2Dir Valid
Fallback Weight: 12400 / 704514 (1.760%)
hwertiout695@safe-mail.net
*/
"85.25.138.93:9030 orport=4029 id=6DE61A6F72C1E5418A66BFED80DFB63E4C77668F"
" weight=12400",
/*
Nurnberg04
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 11600 / 704514 (1.647%)
Please Donate <tor AT use.startmail dot com> - 1GuD8FxCnTqYGeRbx4MceYPhMLNTKDTsTT
*/
"88.198.38.226:22 orport=443 id=4B9E2C56FB42B891794FE2CD2FCAD08A320CC3BB"
" ipv6=[2a01:4f8:a0:1351::2]:80"
" weight=11600",
/*
Nurnberg03
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 11000 / 704514 (1.561%)
Please Donate <tor AT use.startmail dot com> - 1GuD8FxCnTqYGeRbx4MceYPhMLNTKDTsTT
*/
"85.10.201.38:22 orport=443 id=F6279A203C1950ACF592322A235647A05BFBCF91"
" ipv6=[2a01:4f8:a0:43cc::2]:80"
" weight=11000",
/*
Doedel22
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 10600 / 704514 (1.505%)
Felix <zwiebel ta quantentunnel tod de>
*/
"178.254.44.135:9030 orport=9001 id=8FA37B93397015B2BC5A525C908485260BE9F422"
" weight=10600",
/*
Nurnberg01
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 10500 / 704514 (1.490%)
Please Donate <tor AT use.startmail dot com> - 1GuD8FxCnTqYGeRbx4MceYPhMLNTKDTsTT
*/
"213.239.210.204:22 orport=443 id=5BFDECCE9B4A23AE14EC767C5A2C1E10558B00B9"
" ipv6=[2a01:4f8:a0:9474::2]:80"
" weight=10500",
/*
kitten4
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 10400 / 704514 (1.476%)
0xEFB74277ECE4E222 Aeris <aeris+tor AT imirhil DOT fr> - 1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd
*/
"212.47.237.95:9130 orport=9101 id=6FB38EB22E57EF7ED5EF00238F6A48E553735D88"
" weight=10400",
/*
Unnamed
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 9780 / 704514 (1.388%)
monitor0penmailbox0rg
*/
"217.12.210.214:80 orport=443 id=943C0C6841C1E914B9FCA796C6846620A5AF9BC7"
" weight=9780",
/*
Nurnberg02
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 9490 / 704514 (1.347%)
Please Donate <tor AT use.startmail dot com> - 1GuD8FxCnTqYGeRbx4MceYPhMLNTKDTsTT
*/
"213.239.220.25:22 orport=443 id=BEE2317AE127EB681C5AE1551C1EA0630580638A"
" ipv6=[2a01:4f8:a0:710c::2]:80"
" weight=9490",
/*
kitten3
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 8640 / 704514 (1.226%)
0xEFB74277ECE4E222 Aeris <aeris+tor AT imirhil DOT fr> - 1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd
*/
"212.47.237.95:9030 orport=9001 id=3F5D8A879C58961BB45A3D26AC41B543B40236D6"
" weight=8640",
/*
horizons
Flags: Fast Guard Running Stable V2Dir Valid
Fallback Weight: 7860 / 704514 (1.116%)
kbesig@socal.rr.com
*/
"167.114.35.28:9030 orport=9001 id=E65D300F11E1DB12C534B0146BDAB6972F1A8A48"
" weight=7860",
/*
wagner
Flags: Fast Guard Running Stable V2Dir Valid
Fallback Weight: 7700 / 704514 (1.093%)
Rarely used email <trff914 AT gmail DOT com>
*/
"5.175.233.86:80 orport=443 id=5525D0429BFE5DC4F1B0E9DE47A4CFA169661E33"
" weight=7700",
/*
Unnamed
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 7650 / 704514 (1.086%)
monitor0penmailbox0rg
*/
"217.12.199.208:80 orport=443 id=DF3AED4322B1824BF5539AE54B2D1B38E080FF05"
" weight=7650",
/*
ratchet
Flags: Fast Guard HSDir Running Stable V2Dir Valid
Fallback Weight: 4450 / 704514 (0.632%)
0x1EB4B68F Sam Lanning <sam AT samlanning dot com>
*/
"170.130.1.7:9030 orport=9001 id=FA3415659444AE006E7E9E5375E82F29700CFDFD"
" weight=4450",