diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2015-06-23 21:31:47 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2015-06-25 17:10:09 +0200 |
commit | 41bbc85ec9f20ec9f5dc9c96476180d2c57ed041 (patch) | |
tree | 90758288c2bbfdff10237be1e02bf18b952edf5c /contrib | |
parent | a587606525242f76684208191436999ceadb8b56 (diff) |
Hardcoded seeds update June 2015
- Moved all seed related scripts to contrib/seeds for consistency
- Updated `makeseeds.py` to handle IPv6 and onions, fix regular
expression for recent Bitcoin Core versions
- Fixed a bug in `generate-seeds.py` with regard to IPv6 parsing
Allow for non-8333 nodes to appear in the internal seeds. This will
allow bitcoind to bypas a filter on 8333. This also makes it possible to
use the same tool for e.g. testnet.
As hosts with multiple nodes per IP are likely abusive, add a filter to
remove these (the ASN check will take care of them for IPv4, but not
IPv6 or onion).
Github-Pull: #6333
Rebased-From: ccd4369a23ca78cc348bc66a7a8c69a971ffcbf7 884454aebe9e20964643b70ff8c41f47709380bc b9329536cd8a6c152b41c9276f1def14b4d2442d
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/seeds/README.md | 2 | ||||
-rwxr-xr-x | contrib/seeds/generate-seeds.py | 138 | ||||
-rwxr-xr-x | contrib/seeds/makeseeds.py | 83 | ||||
-rw-r--r-- | contrib/seeds/nodes_main.txt | 879 | ||||
-rw-r--r-- | contrib/seeds/nodes_test.txt | 11 |
5 files changed, 1096 insertions, 17 deletions
diff --git a/contrib/seeds/README.md b/contrib/seeds/README.md index bc88201f0f..63647fa11a 100644 --- a/contrib/seeds/README.md +++ b/contrib/seeds/README.md @@ -1,7 +1,7 @@ ### Seeds ### Utility to generate the seeds.txt list that is compiled into the client -(see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and [share/seeds](/share/seeds)). +(see [src/chainparamsseeds.h](/src/chainparamsseeds.h) and other utilities in [contrib/seeds](/contrib/seeds)). The 512 seeds compiled into the 0.10 release were created from sipa's DNS seed data, like this: diff --git a/contrib/seeds/generate-seeds.py b/contrib/seeds/generate-seeds.py new file mode 100755 index 0000000000..167c219c6e --- /dev/null +++ b/contrib/seeds/generate-seeds.py @@ -0,0 +1,138 @@ +#!/usr/bin/python +# Copyright (c) 2014 Wladmir J. van der Laan +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +''' +Script to generate list of seed nodes for chainparams.cpp. + +This script expects two text files in the directory that is passed as an +argument: + + nodes_main.txt + nodes_test.txt + +These files must consist of lines in the format + + <ip> + <ip>:<port> + [<ipv6>] + [<ipv6>]:<port> + <onion>.onion + 0xDDBBCCAA (IPv4 little-endian old pnSeeds format) + +The output will be two data structures with the peers in binary format: + + static SeedSpec6 pnSeed6_main[]={ + ... + } + static SeedSpec6 pnSeed6_test[]={ + ... + } + +These should be pasted into `src/chainparamsseeds.h`. +''' +from __future__ import print_function, division +from base64 import b32decode +from binascii import a2b_hex +import sys, os +import re + +# ipv4 in ipv6 prefix +pchIPv4 = bytearray([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff]) +# tor-specific ipv6 prefix +pchOnionCat = bytearray([0xFD,0x87,0xD8,0x7E,0xEB,0x43]) + +def name_to_ipv6(addr): + if len(addr)>6 and addr.endswith('.onion'): + vchAddr = b32decode(addr[0:-6], True) + if len(vchAddr) != 16-len(pchOnionCat): + raise ValueError('Invalid onion %s' % s) + return pchOnionCat + vchAddr + elif '.' in addr: # IPv4 + return pchIPv4 + bytearray((int(x) for x in addr.split('.'))) + elif ':' in addr: # IPv6 + sub = [[], []] # prefix, suffix + x = 0 + addr = addr.split(':') + for i,comp in enumerate(addr): + if comp == '': + if i == 0 or i == (len(addr)-1): # skip empty component at beginning or end + continue + x += 1 # :: skips to suffix + assert(x < 2) + else: # two bytes per component + val = int(comp, 16) + sub[x].append(val >> 8) + sub[x].append(val & 0xff) + nullbytes = 16 - len(sub[0]) - len(sub[1]) + assert((x == 0 and nullbytes == 0) or (x == 1 and nullbytes > 0)) + return bytearray(sub[0] + ([0] * nullbytes) + sub[1]) + elif addr.startswith('0x'): # IPv4-in-little-endian + return pchIPv4 + bytearray(reversed(a2b_hex(addr[2:]))) + else: + raise ValueError('Could not parse address %s' % addr) + +def parse_spec(s, defaultport): + match = re.match('\[([0-9a-fA-F:]+)\](?::([0-9]+))?$', s) + if match: # ipv6 + host = match.group(1) + port = match.group(2) + elif s.count(':') > 1: # ipv6, no port + host = s + port = '' + else: + (host,_,port) = s.partition(':') + + if not port: + port = defaultport + else: + port = int(port) + + host = name_to_ipv6(host) + + return (host,port) + +def process_nodes(g, f, structname, defaultport): + g.write('static SeedSpec6 %s[] = {\n' % structname) + first = True + for line in f: + comment = line.find('#') + if comment != -1: + line = line[0:comment] + line = line.strip() + if not line: + continue + if not first: + g.write(',\n') + first = False + + (host,port) = parse_spec(line, defaultport) + hoststr = ','.join(('0x%02x' % b) for b in host) + g.write(' {{%s}, %i}' % (hoststr, port)) + g.write('\n};\n') + +def main(): + if len(sys.argv)<2: + print(('Usage: %s <path_to_nodes_txt>' % sys.argv[0]), file=sys.stderr) + exit(1) + g = sys.stdout + indir = sys.argv[1] + g.write('#ifndef BITCOIN_CHAINPARAMSSEEDS_H\n') + g.write('#define BITCOIN_CHAINPARAMSSEEDS_H\n') + g.write('/**\n') + g.write(' * List of fixed seed nodes for the bitcoin network\n') + g.write(' * AUTOGENERATED by contrib/seeds/generate-seeds.py\n') + g.write(' *\n') + g.write(' * Each line contains a 16-byte IPv6 address and a port.\n') + g.write(' * IPv4 as well as onion addresses are wrapped inside a IPv6 address accordingly.\n') + g.write(' */\n') + with open(os.path.join(indir,'nodes_main.txt'),'r') as f: + process_nodes(g, f, 'pnSeed6_main', 8333) + g.write('\n') + with open(os.path.join(indir,'nodes_test.txt'),'r') as f: + process_nodes(g, f, 'pnSeed6_test', 18333) + g.write('#endif // BITCOIN_CHAINPARAMSSEEDS_H\n') + +if __name__ == '__main__': + main() + diff --git a/contrib/seeds/makeseeds.py b/contrib/seeds/makeseeds.py index b831395f2c..4072405ef5 100755 --- a/contrib/seeds/makeseeds.py +++ b/contrib/seeds/makeseeds.py @@ -22,26 +22,50 @@ SUSPICIOUS_HOSTS = set([ import re import sys import dns.resolver +import collections -PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):8333$") -PATTERN_AGENT = re.compile(r"^(\/Satoshi:0.8.6\/|\/Satoshi:0.9.(2|3)\/|\/Satoshi:0.10.\d{1,2}\/)$") +PATTERN_IPV4 = re.compile(r"^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})):(\d+)$") +PATTERN_IPV6 = re.compile(r"^\[([0-9a-z:]+)\]:(\d+)$") +PATTERN_ONION = re.compile(r"^([abcdefghijklmnopqrstuvwxyz234567]{16}\.onion):(\d+)$") +PATTERN_AGENT = re.compile(r"^(\/Satoshi:0\.8\.6\/|\/Satoshi:0\.9\.(2|3|4|5)\/|\/Satoshi:0\.10\.\d{1,2}\/|\/Satoshi:0\.11\.\d{1,2}\/)$") def parseline(line): sline = line.split() if len(sline) < 11: return None - # Match only IPv4 m = PATTERN_IPV4.match(sline[0]) + sortkey = None + ip = None if m is None: - return None - # Do IPv4 sanity check - ip = 0 - for i in range(0,4): - if int(m.group(i+2)) < 0 or int(m.group(i+2)) > 255: + m = PATTERN_IPV6.match(sline[0]) + if m is None: + m = PATTERN_ONION.match(sline[0]) + if m is None: + return None + else: + net = 'onion' + ipstr = sortkey = m.group(1) + port = int(m.group(2)) + else: + net = 'ipv6' + if m.group(1) in ['::']: # Not interested in localhost + return None + ipstr = m.group(1) + sortkey = ipstr # XXX parse IPv6 into number, could use name_to_ipv6 from generate-seeds + port = int(m.group(2)) + else: + # Do IPv4 sanity check + ip = 0 + for i in range(0,4): + if int(m.group(i+2)) < 0 or int(m.group(i+2)) > 255: + return None + ip = ip + (int(m.group(i+2)) << (8*(3-i))) + if ip == 0: return None - ip = ip + (int(m.group(i+2)) << (8*(3-i))) - if ip == 0: - return None + net = 'ipv4' + sortkey = ip + ipstr = m.group(1) + port = int(m.group(6)) # Skip bad results. if sline[1] == 0: return None @@ -59,7 +83,9 @@ def parseline(line): blocks = int(sline[8]) # Construct result. return { - 'ip': m.group(1), + 'net': net, + 'ip': ipstr, + 'port': port, 'ipnum': ip, 'uptime': uptime30, 'lastsuccess': lastsuccess, @@ -67,13 +93,27 @@ def parseline(line): 'agent': agent, 'service': service, 'blocks': blocks, + 'sortkey': sortkey, } +def filtermultiport(ips): + '''Filter out hosts with more nodes per IP''' + hist = collections.defaultdict(list) + for ip in ips: + hist[ip['sortkey']].append(ip) + return [value[0] for (key,value) in hist.items() if len(value)==1] + # Based on Greg Maxwell's seed_filter.py def filterbyasn(ips, max_per_asn, max_total): + # Sift out ips by type + ips_ipv4 = [ip for ip in ips if ip['net'] == 'ipv4'] + ips_ipv6 = [ip for ip in ips if ip['net'] == 'ipv6'] + ips_onion = [ip for ip in ips if ip['net'] == 'onion'] + + # Filter IPv4 by ASN result = [] asn_count = {} - for ip in ips: + for ip in ips_ipv4: if len(result) == max_total: break try: @@ -86,13 +126,19 @@ def filterbyasn(ips, max_per_asn, max_total): result.append(ip) except: sys.stderr.write('ERR: Could not resolve ASN for "' + ip['ip'] + '"\n') + + # TODO: filter IPv6 by ASN + + # Add back non-IPv4 + result.extend(ips_ipv6) + result.extend(ips_onion) return result def main(): lines = sys.stdin.readlines() ips = [parseline(line) for line in lines] - # Skip entries with valid IPv4 address. + # Skip entries with valid address. ips = [ip for ip in ips if ip is not None] # Skip entries from suspicious hosts. ips = [ip for ip in ips if ip['ip'] not in SUSPICIOUS_HOSTS] @@ -106,13 +152,18 @@ def main(): ips = [ip for ip in ips if PATTERN_AGENT.match(ip['agent'])] # Sort by availability (and use last success as tie breaker) ips.sort(key=lambda x: (x['uptime'], x['lastsuccess'], x['ip']), reverse=True) + # Filter out hosts with multiple bitcoin ports, these are likely abusive + ips = filtermultiport(ips) # Look up ASNs and limit results, both per ASN and globally. ips = filterbyasn(ips, MAX_SEEDS_PER_ASN, NSEEDS) # Sort the results by IP address (for deterministic output). - ips.sort(key=lambda x: (x['ipnum'])) + ips.sort(key=lambda x: (x['net'], x['sortkey'])) for ip in ips: - print ip['ip'] + if ip['net'] == 'ipv6': + print '[%s]:%i' % (ip['ip'], ip['port']) + else: + print '%s:%i' % (ip['ip'], ip['port']) if __name__ == '__main__': main() diff --git a/contrib/seeds/nodes_main.txt b/contrib/seeds/nodes_main.txt new file mode 100644 index 0000000000..17339d514a --- /dev/null +++ b/contrib/seeds/nodes_main.txt @@ -0,0 +1,879 @@ +1.34.168.128:8333 +1.202.128.218:8333 +2.30.0.210:8333 +5.9.96.203:8333 +5.45.71.130:8333 +5.45.98.141:8333 +5.102.145.68:8333 +5.135.160.77:8333 +5.189.134.246:8333 +5.199.164.132:8333 +5.249.135.102:8333 +8.19.44.110:8333 +8.22.230.8:8333 +14.200.200.145:8333 +18.228.0.188:8333 +18.228.0.200:8333 +23.24.168.97:8333 +23.28.35.227:8333 +23.92.76.170:8333 +23.99.64.119:8333 +23.228.166.128:8333 +23.229.45.32:8333 +24.8.105.128:8333 +24.16.69.137:8333 +24.94.98.96:8333 +24.102.118.7:8333 +24.118.166.228:8333 +24.122.133.49:8333 +24.166.97.162:8333 +24.213.235.242:8333 +24.226.107.64:8333 +24.228.192.171:8333 +27.140.133.18:8333 +31.41.40.25:8333 +31.43.101.59:8333 +31.184.195.181:8333 +31.193.139.66:8333 +37.200.70.102:8333 +37.205.10.151:8333 +42.3.106.227:8333 +42.60.133.106:8333 +45.56.85.231:8333 +45.56.102.228:8333 +45.79.130.235:8333 +46.28.204.61:11101 +46.38.235.229:8333 +46.59.2.74:8333 +46.101.132.37:8333 +46.101.168.50:8333 +46.163.76.230:8333 +46.166.161.103:8333 +46.182.132.100:8333 +46.223.36.94:8333 +46.227.66.132:8333 +46.227.66.138:8333 +46.239.107.74:8333 +46.249.39.100:8333 +46.250.98.108:8333 +50.7.37.114:8333 +50.81.53.151:8333 +50.115.43.253:8333 +50.116.20.87:8333 +50.116.33.92:8333 +50.125.167.245:8333 +50.143.9.51:8333 +50.188.192.133:8333 +54.77.162.76:8333 +54.153.97.109:8333 +54.165.192.125:8333 +58.96.105.85:8333 +59.167.196.135:8333 +60.29.227.163:8333 +61.35.225.19:8333 +62.43.130.178:8333 +62.109.49.26:8333 +62.202.0.97:8333 +62.210.66.227:8333 +62.210.192.169:8333 +64.74.98.205:8333 +64.156.193.100:8333 +64.203.102.86:8333 +64.229.142.48:8333 +65.96.193.165:8333 +66.30.3.7:8333 +66.114.33.49:8333 +66.118.133.194:8333 +66.135.10.126:8333 +66.172.10.4:8333 +66.194.38.250:8333 +66.194.38.253:8333 +66.215.192.104:8333 +67.60.98.115:8333 +67.164.35.36:8333 +67.191.162.244:8333 +67.207.195.77:8333 +67.219.233.140:8333 +67.221.193.55:8333 +67.228.162.228:8333 +68.50.67.199:8333 +68.62.3.203:8333 +68.65.205.226:9000 +68.106.42.191:8333 +68.150.181.198:8333 +68.196.196.106:8333 +68.224.194.81:8333 +69.46.5.194:8333 +69.50.171.238:8333 +69.64.43.152:8333 +69.65.41.13:8333 +69.90.132.200:8333 +69.143.1.243:8333 +69.146.98.216:8333 +69.165.246.38:8333 +69.207.6.135:8333 +69.251.208.26:8333 +70.38.1.101:8333 +70.38.9.66:8333 +70.90.2.18:8333 +71.58.228.226:8333 +71.199.11.189:8333 +71.199.193.202:8333 +71.205.232.181:8333 +71.236.200.162:8333 +72.24.73.186:8333 +72.52.130.110:8333 +72.53.111.37:8333 +72.235.38.70:8333 +73.31.171.149:8333 +73.32.137.72:8333 +73.137.133.238:8333 +73.181.192.103:8333 +73.190.2.60:8333 +73.195.192.137:8333 +73.222.35.117:8333 +74.57.199.180:8333 +74.82.233.205:8333 +74.85.66.82:8333 +74.101.224.127:8333 +74.113.69.16:8333 +74.122.235.68:8333 +74.193.68.141:8333 +74.208.164.219:8333 +75.100.37.122:8333 +75.145.149.169:8333 +75.168.34.20:8333 +76.20.44.240:8333 +76.100.70.17:8333 +76.168.3.239:8333 +76.186.140.103:8333 +77.92.68.221:8333 +77.109.101.142:8333 +77.110.11.86:8333 +77.242.108.18:8333 +78.46.96.150:9020 +78.84.100.95:8333 +79.132.230.144:8333 +79.133.43.63:8333 +79.160.76.153:8333 +79.169.34.24:8333 +79.188.7.78:8333 +80.217.226.25:8333 +80.223.100.179:8333 +80.240.129.221:8333 +81.1.173.243:8333 +81.7.11.50:8333 +81.7.16.17:8333 +81.66.111.3:8333 +81.80.9.71:8333 +81.140.43.138:8333 +81.171.34.37:8333 +81.174.247.50:8333 +81.181.155.53:8333 +81.184.5.253:8333 +81.187.69.130:8333 +81.230.3.84:8333 +82.42.128.51:8333 +82.74.226.21:8333 +82.142.75.50:8333 +82.199.102.10:8333 +82.200.205.30:8333 +82.221.108.21:8333 +82.221.128.35:8333 +82.238.124.41:8333 +82.242.0.245:8333 +83.76.123.110:8333 +83.150.9.196:8333 +83.162.196.192:8333 +83.162.234.224:8333 +83.170.104.91:8333 +83.255.66.118:8334 +84.2.34.104:8333 +84.45.98.91:8333 +84.47.161.150:8333 +84.212.192.131:8333 +84.215.169.101:8333 +84.238.140.176:8333 +84.245.71.31:8333 +85.17.4.212:8333 +85.114.128.134:8333 +85.159.237.191:8333 +85.166.130.189:8333 +85.199.4.228:8333 +85.214.66.168:8333 +85.214.195.210:8333 +85.229.0.73:8333 +86.21.96.45:8333 +87.48.42.199:8333 +87.81.143.82:8333 +87.81.251.72:8333 +87.104.24.185:8333 +87.104.168.104:8333 +87.117.234.71:8333 +87.118.96.197:8333 +87.145.12.57:8333 +87.159.170.190:8333 +88.150.168.160:8333 +88.208.0.79:8333 +88.208.0.149:8333 +88.214.194.226:8343 +89.1.11.32:8333 +89.36.235.108:8333 +89.67.96.2:15321 +89.98.16.41:8333 +89.108.72.195:8333 +89.156.35.157:8333 +89.163.227.28:8333 +89.212.33.237:8333 +89.212.160.165:8333 +89.231.96.83:8333 +89.248.164.64:8333 +90.149.193.199:8333 +91.77.239.245:8333 +91.106.194.97:8333 +91.126.77.77:8333 +91.134.38.195:8333 +91.156.97.181:8333 +91.207.68.144:8333 +91.209.77.101:8333 +91.214.200.205:8333 +91.220.131.242:8333 +91.220.163.18:8333 +91.233.23.35:8333 +92.13.96.93:8333 +92.14.74.114:8333 +92.27.7.209:8333 +92.221.228.13:8333 +92.255.207.73:8333 +93.72.167.148:8333 +93.74.163.234:8333 +93.123.174.66:8333 +93.152.166.29:8333 +93.181.45.188:8333 +94.19.12.244:8333 +94.190.227.112:8333 +94.198.135.29:8333 +94.224.162.65:8333 +94.226.107.86:8333 +94.242.198.161:8333 +95.31.10.209:8333 +95.65.72.244:8333 +95.84.162.95:8333 +95.90.139.46:8333 +95.183.49.27:8005 +95.215.47.133:8333 +96.23.67.85:8333 +96.44.166.190:8333 +97.93.225.74:8333 +98.26.0.34:8333 +98.27.225.102:8333 +98.229.117.229:8333 +98.249.68.125:8333 +98.255.5.155:8333 +99.101.240.114:8333 +101.100.174.138:8333 +101.251.203.6:8333 +103.3.60.61:8333 +103.30.42.189:8333 +103.224.165.48:8333 +104.36.83.233:8333 +104.37.129.22:8333 +104.54.192.251:8333 +104.128.228.252:8333 +104.128.230.185:8334 +104.130.161.47:8333 +104.131.33.60:8333 +104.143.0.156:8333 +104.156.111.72:8333 +104.167.111.84:8333 +104.193.40.248:8333 +104.197.7.174:8333 +104.197.8.250:8333 +104.223.1.133:8333 +104.236.97.140:8333 +104.238.128.214:8333 +104.238.130.182:8333 +106.38.234.84:8333 +106.185.36.204:8333 +107.6.4.145:8333 +107.150.2.6:8333 +107.150.40.234:8333 +107.155.108.130:8333 +107.161.182.115:8333 +107.170.66.231:8333 +107.190.128.226:8333 +107.191.106.115:8333 +108.16.2.61:8333 +109.70.4.168:8333 +109.162.35.196:8333 +109.163.235.239:8333 +109.190.196.220:8333 +109.191.39.60:8333 +109.234.106.191:8333 +109.238.81.82:8333 +114.76.147.27:8333 +115.28.224.127:8333 +115.68.110.82:18333 +118.97.79.218:8333 +118.189.207.197:8333 +119.228.96.233:8333 +120.147.178.81:8333 +121.41.123.5:8333 +121.67.5.230:8333 +122.107.143.110:8333 +123.2.170.98:8333 +123.110.65.94:8333 +123.193.139.19:8333 +125.239.160.41:8333 +128.101.162.193:8333 +128.111.73.10:8333 +128.140.229.73:8333 +128.175.195.31:8333 +128.199.107.63:8333 +128.199.192.153:8333 +128.253.3.193:20020 +129.123.7.7:8333 +130.89.160.234:8333 +131.72.139.164:8333 +131.191.112.98:8333 +133.1.134.162:8333 +134.19.132.53:8333 +137.226.34.42:8333 +141.41.2.172:8333 +141.255.128.204:8333 +142.217.12.106:8333 +143.215.129.126:8333 +146.0.32.101:8337 +147.229.13.199:8333 +149.210.133.244:8333 +149.210.162.187:8333 +150.101.163.241:8333 +151.236.11.189:8333 +153.121.66.211:8333 +154.20.2.139:8333 +159.253.23.132:8333 +162.209.106.123:8333 +162.210.198.184:8333 +162.218.65.121:8333 +162.222.161.49:8333 +162.243.132.6:8333 +162.243.132.58:8333 +162.248.99.164:53011 +162.248.102.117:8333 +163.158.35.110:8333 +164.15.10.189:8333 +164.40.134.171:8333 +166.230.71.67:8333 +167.160.161.199:8333 +168.103.195.250:8333 +168.144.27.112:8333 +168.158.129.29:8333 +170.75.162.86:8333 +172.90.99.174:8333 +172.245.5.156:8333 +173.23.166.47:8333 +173.32.11.194:8333 +173.34.203.76:8333 +173.171.1.52:8333 +173.175.136.13:8333 +173.230.228.139:8333 +173.247.193.70:8333 +174.49.132.28:8333 +174.52.202.72:8333 +174.53.76.87:8333 +174.109.33.28:8333 +176.28.12.169:8333 +176.35.182.214:8333 +176.36.33.113:8333 +176.36.33.121:8333 +176.58.96.173:8333 +176.121.76.84:8333 +178.62.70.16:8333 +178.62.111.26:8333 +178.76.169.59:8333 +178.79.131.32:8333 +178.162.199.216:8333 +178.175.134.35:8333 +178.248.111.4:8333 +178.254.1.170:8333 +178.254.34.161:8333 +179.43.143.120:8333 +179.208.156.198:8333 +180.200.128.58:8333 +183.78.169.108:8333 +183.96.96.152:8333 +184.68.2.46:8333 +184.73.160.160:8333 +184.94.227.58:8333 +184.152.68.163:8333 +185.7.35.114:8333 +185.28.76.179:8333 +185.31.160.202:8333 +185.45.192.129:8333 +185.66.140.15:8333 +186.2.167.23:8333 +186.220.101.142:8333 +188.26.5.33:8333 +188.75.136.146:8333 +188.120.194.140:8333 +188.121.5.150:8333 +188.138.0.114:8333 +188.138.33.239:8333 +188.166.0.82:8333 +188.182.108.129:8333 +188.191.97.208:8333 +188.226.198.102:8001 +190.10.9.217:8333 +190.75.143.144:8333 +190.139.102.146:8333 +191.237.64.28:8333 +192.3.131.61:8333 +192.99.225.3:8333 +192.110.160.122:8333 +192.146.137.1:8333 +192.183.198.204:8333 +192.203.228.71:8333 +193.0.109.3:8333 +193.12.238.204:8333 +193.91.200.85:8333 +193.234.225.156:8333 +194.6.233.38:8333 +194.63.143.136:8333 +194.126.100.246:8333 +195.134.99.195:8333 +195.159.111.98:8333 +195.159.226.139:8333 +195.197.175.190:8333 +198.48.199.108:8333 +198.57.208.134:8333 +198.57.210.27:8333 +198.62.109.223:8333 +198.167.140.8:8333 +198.167.140.18:8333 +199.91.173.234:8333 +199.127.226.245:8333 +199.180.134.116:8333 +200.7.96.99:8333 +201.160.106.86:8333 +202.55.87.45:8333 +202.60.68.242:8333 +202.60.69.232:8333 +202.124.109.103:8333 +203.30.197.77:8333 +203.88.160.43:8333 +203.151.140.14:8333 +203.219.14.204:8333 +205.147.40.62:8333 +207.235.39.214:8333 +207.244.73.8:8333 +208.12.64.225:8333 +208.76.200.200:8333 +209.40.96.121:8333 +209.126.107.176:8333 +209.141.40.149:8333 +209.190.75.59:8333 +209.208.111.142:8333 +210.54.34.164:8333 +211.72.66.229:8333 +212.51.144.42:8333 +212.112.33.157:8333 +212.116.72.63:8333 +212.126.14.122:8333 +213.66.205.194:8333 +213.111.196.21:8333 +213.122.107.102:8333 +213.136.75.175:8333 +213.155.7.24:8333 +213.163.64.31:8333 +213.163.64.208:8333 +213.165.86.136:8333 +213.184.8.22:8333 +216.15.78.182:8333 +216.55.143.154:8333 +216.115.235.32:8333 +216.126.226.166:8333 +216.145.67.87:8333 +216.169.141.169:8333 +216.249.92.230:8333 +216.250.138.230:8333 +217.20.171.43:8333 +217.23.2.71:8333 +217.23.2.242:8333 +217.25.9.76:8333 +217.40.226.169:8333 +217.123.98.9:8333 +217.155.36.62:8333 +217.172.32.18:20993 +218.61.196.202:8333 +218.231.205.41:8333 +220.233.77.200:8333 +223.18.226.85:8333 +223.197.203.82:8333 +223.255.166.142:8333 +[2001:1291:2bf:1::100]:8333 +[2001:1418:100:5c2::2]:8333 +[2001:16d8:dd24:0:86c9:681e:f931:256]:8333 +[2001:19f0:1624:e6::579d:9428]:8333 +[2001:19f0:300:1340:225:90ff:fec9:2b6d]:8333 +[2001:19f0:4009:1405::64]:8333 +[2001:1b40:5000:2e::3fb0:6571]:8333 +[2001:410:a000:4050:8463:90b0:fffb:4e58]:8333 +[2001:410:a002:cafe:8463:90b0:fffb:4e58]:8333 +[2001:41d0:1:541e::1]:8333 +[2001:41d0:1:6a34::3]:8333 +[2001:41d0:1:6cd3::]:8333 +[2001:41d0:1:8b26::1]:8333 +[2001:41d0:1:a33d::1]:8333 +[2001:41d0:1:b855::1]:8333 +[2001:41d0:1:c139::1]:8333 +[2001:41d0:1:c8d7::1]:8333 +[2001:41d0:1:dd3f::1]:8333 +[2001:41d0:1:e29d::1]:8333 +[2001:41d0:1:f59f::33]:8333 +[2001:41d0:1:f7cc::1]:8333 +[2001:41d0:1:ff87::1]:8333 +[2001:41d0:2:2f05::1]:8333 +[2001:41d0:2:37c3::]:8200 +[2001:41d0:2:3e13::1]:8333 +[2001:41d0:2:8619::]:8333 +[2001:41d0:2:9c94::1]:8333 +[2001:41d0:2:a24f::]:8333 +[2001:41d0:2:adbf::]:8333 +[2001:41d0:2:b721::1]:8333 +[2001:41d0:2:ee52::1]:8333 +[2001:41d0:2:f1a5::]:8333 +[2001:41d0:2:fa54::1]:8333 +[2001:41d0:51:1::2036]:8333 +[2001:41d0:52:a00::1a1]:8333 +[2001:41d0:52:cff::6f5]:8333 +[2001:41d0:52:d00::2c0]:8333 +[2001:41d0:52:d00::cf2]:8333 +[2001:41d0:8:1087::1]:8333 +[2001:41d0:8:4a3c::b7c]:8333 +[2001:41d0:8:6728::]:8333 +[2001:41d0:8:b779::1]:8333 +[2001:41d0:8:c30f::1]:8333 +[2001:41d0:8:d2b2::1]:8333 +[2001:41d0:8:d5c3::1]:8333 +[2001:41d0:8:eb8b::]:8333 +[2001:41d0:a:16d0::1]:8333 +[2001:41d0:a:2b18::1]:8333 +[2001:41d0:a:3a9c::1]:8333 +[2001:41d0:a:4903::]:8333 +[2001:41d0:a:57b::1]:8333 +[2001:41d0:a:5c7a::]:8333 +[2001:41d0:a:6c29::1]:8333 +[2001:41d0:a:f482::1]:8333 +[2001:41d0:b:854:b7c:b7c:b7c:b7c]:8333 +[2001:41d0:d:111c::]:8333 +[2001:44b8:4116:7801:4216:7eff:fe78:3fe4]:8333 +[2001:470:1f08:837::2]:8333 +[2001:470:1f08:c33::2]:8333 +[2001:470:1f09:bca:218:7dff:fe10:be33]:8333 +[2001:470:1f0f:22d::212:26]:8333 +[2001:470:1f11:12d5::ae1:5611]:8333 +[2001:470:1f14:57a::2]:8333 +[2001:470:1f14:7d::2]:8333 +[2001:470:1f15:57c::1]:8333 +[2001:470:1f15:dda:3d9a:3f11:9a56:ed64]:8333 +[2001:470:25:482::2]:8333 +[2001:470:25:e4::2]:8333 +[2001:470:4:26b::2]:8333 +[2001:470:5f:5f::232]:8333 +[2001:470:66:119::2]:8333 +[2001:470:67:39d::71]:8333 +[2001:470:6c4f::cafe]:8333 +[2001:470:8:2e1::43]:8333 +[2001:470:90a7:96::afe:6021]:8333 +[2001:470:95c1::2]:8333 +[2001:470:b1d0:ffff::1000]:8333 +[2001:470:c1f2:3::201]:8333 +[2001:470:d00d:0:3664:a9ff:fe9a:5150]:8333 +[2001:470:e250:0:211:11ff:feb9:924c]:8333 +[2001:4800:7817:101:be76:4eff:fe04:dc52]:8333 +[2001:4800:7819:104:be76:4eff:fe04:7809]:8333 +[2001:4800:7819:104:be76:4eff:fe05:c828]:8333 +[2001:4802:7800:2:30d7:1775:ff20:1858]:8333 +[2001:4802:7802:101:be76:4eff:fe20:256]:8333 +[2001:4802:7802:103:be76:4eff:fe20:2de8]:8333 +[2001:4830:1100:2e8::2]:8333 +[2001:4ba0:fff7:181:dead::1]:8333 +[2001:4ba0:fffa:5d::93]:8333 +[2001:4ba0:ffff:1be:1:1005:0:1]:8335 +[2001:4c48:110:101:216:3eff:fe24:1162]:8333 +[2001:4dd0:f101::32]:8333 +[2001:4dd0:ff00:867f::3]:8333 +[2001:4dd0:ff00:9a67::9]:8333 +[2001:4dd0:ff00:9c55:c23f:d5ff:fe6c:7ee9]:8333 +[2001:5c0:1400:b::3cc7]:8333 +[2001:5c0:1400:b::3d01]:8333 +[2001:5c0:1400:b::8df]:8333 +[2001:5c0:1501:300::3]:8333 +[2001:610:1b19::3]:8333 +[2001:620:500:fff0:f21f:afff:fecf:91cc]:8333 +[2001:67c:1220:80c:ad:8de2:f7e2:c784]:8333 +[2001:67c:21ec:1000::b]:8333 +[2001:6f8:1296:0:76d4:35ff:feba:1d26]:8333 +[2001:840:f000:4250:3e4a:92ff:fe6d:145f]:8333 +[2001:8d8:840:500::39:1ae]:8333 +[2001:980:efd8:0:21:de4a:2709:912]:8333 +[2001:981:46:1::3]:8333 +[2001:981:9319:2:c0:a8:c8:8]:8333 +[2001:9d8:cafe:3::91]:8333 +[2001:ad0:1:1:26be:5ff:fe25:959d]:8333 +[2001:ba8:1f1:f34c::2]:8333 +[2001:bc8:381c:100::1]:8333 +[2002:175c:4caa::175c:4caa]:8333 +[2002:4404:82f1:0:8d55:8fbb:15fa:f4e0]:8333 +[2002:4475:2233:0:21f:5bff:fe33:9f70]:8333 +[2002:596c:48c3::596c:48c3]:8333 +[2002:8c6d:6521:9617:12bf:48ff:fed8:1724]:8333 +[2002:a646:5e6a::1:2]:8333 +[2002:b009:20c5::b009:20c5]:8333 +[2400:8900::f03c:91ff:fe6e:823e]:8333 +[2400:8900::f03c:91ff:fe70:d164]:8333 +[2400:8901::f03c:91ff:fe37:9761]:8333 +[2403:4200:403:2::ff]:8333 +[2403:b800:1000:64:40a:e9ff:fe5f:94c1]:8333 +[2403:b800:1000:64:9879:17ff:fe6a:a59f]:8333 +[2600:3c00::f03c:91ff:fe18:59b2]:8333 +[2600:3c00::f03c:91ff:fe37:a4b1]:8333 +[2600:3c00::f03c:91ff:fe56:2973]:8333 +[2600:3c00::f03c:91ff:fe6e:7297]:8333 +[2600:3c00::f03c:91ff:fe84:8a6e]:8333 +[2600:3c01::f03c:91ff:fe18:6adf]:8333 +[2600:3c01::f03c:91ff:fe18:e217]:8333 +[2600:3c01::f03c:91ff:fe33:1b31]:8333 +[2600:3c01::f03c:91ff:fe33:2fe1]:8333 +[2600:3c01::f03c:91ff:fe33:a03f]:8333 +[2600:3c01::f03c:91ff:fe50:5e06]:8333 +[2600:3c01::f03c:91ff:fe56:d645]:8333 +[2600:3c01::f03c:91ff:fe6e:a3dc]:8333 +[2600:3c01::f03c:91ff:fe89:a659]:8333 +[2600:3c02::f03c:91ff:fe6e:6f0b]:8333 +[2600:3c03::f03c:91ff:fe33:f6fb]:8333 +[2600:3c03::f03c:91ff:fe50:5fa7]:8333 +[2600:3c03::f03c:91ff:fe6e:1803]:8333 +[2600:3c03::f03c:91ff:fe6e:4ac0]:8333 +[2601:6:4800:47f:1e4e:1f4d:332c:3bf6]:8333 +[2601:d:5400:fed:8d54:c1e8:7ed7:d45e]:8333 +[2602:100:4b8f:6d2a:20c:29ff:feaf:c4c2]:8333 +[2602:ffc5:1f::1f:2d61]:8333 +[2602:ffc5:1f::1f:9211]:8333 +[2602:ffc5::ffc5:b844]:8333 +[2602:ffe8:100:2::457:936b]:8333 +[2602:ffea:1001:125::2ad4]:8333 +[2602:ffea:1001:6ff::837d]:8333 +[2602:ffea:1001:72b::578b]:8333 +[2602:ffea:1001:77a::9cae]:8333 +[2602:ffea:1:2fe::6bc8]:8333 +[2602:ffea:1:701::7968]:8333 +[2602:ffea:1:70d::82ec]:8333 +[2602:ffea:1:9ff::e957]:8333 +[2602:ffea:1:a5d::4acb]:8333 +[2602:ffea:a::24c4:d9fd]:8333 +[2602:ffea:a::c06:ae32]:8333 +[2604:0:c1:100:1ec1:deff:fe54:2235]:8333 +[2604:180:1:1af::42a9]:8333 +[2604:180::b208:398]:8333 +[2604:2880::6072:aed]:8333 +[2604:4080:1114:0:3285:a9ff:fe93:850c]:8333 +[2604:7c00:17:3d0::5a4d]:8333 +[2604:9a00:2100:a009:2::]:8333 +[2604:a880:1:20::22a:4001]:8333 +[2604:a880:800:10::752:f001]:8333 +[2604:c00:88:32:216:3eff:fee4:fcca]:8333 +[2604:c00:88:32:216:3eff:fef5:bc21]:8333 +[2605:7980:1:2::1761:3d4e]:8333 +[2605:e000:1417:4068:223:32ff:fe96:e2d]:8333 +[2606:6000:a441:9903:5054:ff:fe78:66ff]:8333 +[2606:df00:2::ae85:8fc6]:8333 +[2607:5300:100:200::e7f]:8333 +[2607:5300:10::a1]:8333 +[2607:5300:60:116e::1]:8333 +[2607:5300:60:1535::]:8333 +[2607:5300:60:1b32::1]:8333 +[2607:5300:60:2337::1]:8333 +[2607:5300:60:2b90::1]:8333 +[2607:5300:60:2d99::1]:8333 +[2607:5300:60:3cb::1]:8333 +[2607:5300:60:4a85::]:8333 +[2607:5300:60:5112:0:2:4af5:63fe]:8333 +[2607:5300:60:6dd5::]:8333 +[2607:5300:60:a91::1]:8333 +[2607:f1c0:820:1500::7f:3f44]:8333 +[2607:f1c0:848:1000::48:943c]:8333 +[2607:f948:0:1::7]:8333 +[2607:fcd0:100:2300::4ad:e594]:8333 +[2607:fcd0:100:2300::659e:9cb3]:8333 +[2607:fcd0:100:2300::c74b:a8ae]:8333 +[2607:fcd0:100:2300::d82:d8c2]:8333 +[2607:fcd0:100:4300::8795:2fa8]:8333 +[2607:fcd0:daaa:901::9561:e043]:8333 +[2a00:1178:2:43:5054:ff:fee7:2eb6]:8333 +[2a00:1328:e100:cc42:230:48ff:fe92:55d]:8333 +[2a00:14f0:e000:80d2:cd1a::1]:8333 +[2a00:16d8:c::5b6a:c261]:8333 +[2a00:61e0:4083:6d01:6852:1376:e972:2091]:8333 +[2a00:c98:2030:a02f:2::2]:8333 +[2a01:1b0:7999:402::131]:8333 +[2a01:1e8:e100:811c:700f:65f0:f72a:1084]:8333 +[2a01:238:42da:c500:6546:1293:5422:ab40]:8333 +[2a01:348:6:473::2]:8333 +[2a01:368:e010:2::2]:8333 +[2a01:430:17:1::ffff:549]:8333 +[2a01:430:17:1::ffff:830]:8333 +[2a01:488:66:1000:53a9:d04:0:1]:8333 +[2a01:488:66:1000:57e6:578c:0:1]:8333 +[2a01:488:66:1000:b01c:178d:0:1]:8333 +[2a01:488:67:1000:523:fdce:0:1]:8333 +[2a01:488:67:1000:b01c:30ab:0:1]:8333 +[2a01:4f8:100:24aa::2]:8333 +[2a01:4f8:100:44e7::2]:8333 +[2a01:4f8:100:5128::2]:8333 +[2a01:4f8:100:84a7::1:1]:8333 +[2a01:4f8:110:516c::2]:8333 +[2a01:4f8:110:536e::2]:8333 +[2a01:4f8:120:62e6::2]:8333 +[2a01:4f8:120:702e::2]:8333 +[2a01:4f8:120:8005::2]:8333 +[2a01:4f8:120:8203::2]:8333 +[2a01:4f8:120:8422::2]:8333 +[2a01:4f8:121:11eb::2]:8333 +[2a01:4f8:121:261::2]:8333 +[2a01:4f8:130:242b::10]:8333 +[2a01:4f8:130:242b::5]:8333 +[2a01:4f8:130:2468::3]:8333 +[2a01:4f8:130:632c::2]:8333 +[2a01:4f8:130:6366::2]:8333 +[2a01:4f8:130:6426::2]:8333 +[2a01:4f8:130:934f::2]:8333 +[2a01:4f8:131:2070::2]:8333 +[2a01:4f8:131:54a2::2]:8333 +[2a01:4f8:140:80ad::2]:8333 +[2a01:4f8:141:186::2]:8333 +[2a01:4f8:150:210b::2]:8333 +[2a01:4f8:150:2263::5]:8333 +[2a01:4f8:150:2349::2]:8333 +[2a01:4f8:150:61ee::2]:8333 +[2a01:4f8:150:7088:5054:ff:fe45:bff2]:8333 +[2a01:4f8:150:8324::2]:9001 +[2a01:4f8:151:1d8::2]:8333 +[2a01:4f8:151:5128::2]:8333 +[2a01:4f8:151:6347::2]:9001 +[2a01:4f8:161:526d::2]:8333 +[2a01:4f8:161:9349::2]:8333 +[2a01:4f8:162:23c6::2]:8333 +[2a01:4f8:162:4348::2]:8333 +[2a01:4f8:162:7345::2]:8333 +[2a01:4f8:162:7383::2]:8333 +[2a01:4f8:162:74e3::2]:8333 +[2a01:4f8:190:6065::2]:8333 +[2a01:4f8:190:6349::2]:8333 +[2a01:4f8:190:64c9::2]:8333 +[2a01:4f8:190:91ce::2]:8333 +[2a01:4f8:191:2194::83]:8333 +[2a01:4f8:191:40a1::2]:8333 +[2a01:4f8:191:4a7::2]:8333 +[2a01:4f8:191:63b4:5000::1]:8333 +[2a01:4f8:191:7121::2]:8333 +[2a01:4f8:191:83a2::2]:8333 +[2a01:4f8:191:93c4::2]:8333 +[2a01:4f8:192:60a9:0:1:5:2]:8333 +[2a01:4f8:192:73b2::2]:8333 +[2a01:4f8:192:8098::2]:8333 +[2a01:4f8:192:db::2]:8333 +[2a01:4f8:200:1012::2]:8333 +[2a01:4f8:200:22e3::2]:8333 +[2a01:4f8:200:414e::2]:8333 +[2a01:4f8:200:63af::222]:8333 +[2a01:4f8:200:71e3:78b4:f3ff:fead:e8cf]:8333 +[2a01:4f8:201:5164::2]:8333 +[2a01:4f8:201:6011::4]:8333 +[2a01:4f8:201:60d5::2]:8333 +[2a01:4f8:202:53c3::2]:8333 +[2a01:4f8:210:24aa::2]:8333 +[2a01:4f8:210:502f::2]:8333 +[2a01:4f8:211:14cf::2]:8333 +[2a01:4f8:211:1a59::2]:8333 +[2a01:4f8:211:2ac1::2]:8333 +[2a01:4f8:211:cca::2]:8333 +[2a01:4f8:a0:22a5::2]:8333 +[2a01:4f8:a0:5023::2]:8333 +[2a01:4f8:a0:5243::2]:8333 +[2a01:4f8:a0:74c8::2]:8333 +[2a01:4f8:a0:8227::2]:8333 +[2a01:4f8:a0:822d::2]:8333 +[2a01:4f8:d13:2183::2]:8333 +[2a01:608:ffff:a009:8bf5:879d:e51a:f837]:8333 +[2a01:79d:469e:ed94:c23f:d5ff:fe65:20c5]:8333 +[2a01:7c8:aab5:3e6:5054:ff:fed7:4e54]:8333 +[2a01:7e00::f03c:91ff:fe18:301e]:8333 +[2a01:7e00::f03c:91ff:fe18:7749]:8333 +[2a01:7e00::f03c:91ff:fe33:2d67]:8333 +[2a01:7e00::f03c:91ff:fe33:347c]:8333 +[2a01:7e00::f03c:91ff:fe33:ae50]:8333 +[2a01:7e00::f03c:91ff:fe56:6b5c]:8333 +[2a01:7e00::f03c:91ff:fe56:bee6]:8333 +[2a01:7e00::f03c:91ff:fe69:4895]:8333 +[2a01:7e00::f03c:91ff:fe69:9912]:8333 +[2a01:7e00::f03c:91ff:fe6e:26ee]:8333 +[2a01:7e00::f03c:91ff:fe73:42f1]:8333 +[2a01:7e00::f03c:91ff:fe84:434f]:8333 +[2a01:7e00::f03c:91ff:fe84:b36b]:8333 +[2a01:7e00::f03c:91ff:fe89:1faa]:8333 +[2a01:7e00::f03c:91ff:fe98:816]:8333 +[2a01:7e00::f03c:91ff:fedb:352e]:8333 +[2a01:7e00::f03c:91ff:fedb:4a1d]:8333 +[2a01:e34:edbb:6750:224:1dff:fe89:3897]:8333 +[2a01:e35:2f1d:3fb0:7187:c7ba:bcfc:80ce]:8333 +[2a01:e35:8787:96f0:9032:9297:39ae:496d]:8333 +[2a01:e35:8a3f:47c0:c617:feff:fe3c:9fbd]:8333 +[2a01:e35:8b66:6a0:4900:9dfd:d841:d025]:8333 +[2a02:168:4a01::39]:8333 +[2a02:168:5404:2:c23f:d5ff:fe6a:512e]:8333 +[2a02:180:1:1::5b8f:538c]:8333 +[2a02:2028:1016::2]:8333 +[2a02:2528:503:2::14]:8333 +[2a02:2528:503:2::15]:8333 +[2a02:2528:ff00:81a6:21e:c5ff:fe8d:f9a5]:8333 +[2a02:2770:5:0:21a:4aff:fee4:c7db]:8333 +[2a02:2770:8:0:21a:4aff:fe7b:3dcd]:8333 +[2a02:348:5e:5a29::1]:8333 +[2a02:7aa0:1619::202f:c06a]:8333 +[2a02:8109:8e40:35fc:ba27:ebff:feae:cf16]:8333 +[2a02:af8:6:1500::1:130]:8333 +[2a02:c200:0:10:1:0:6314:2222]:8333 +[2a02:c200:0:10:2:3:3295:1]:8332 +[2a02:c200:0:10:3:0:5449:1]:8333 +[2a02:c200:1:10:2:3:5899:1]:8333 +[2a02:c200:1:10::2705:1]:8333 +[2a02:ce80:0:20::1]:8333 +[2a02:fe0:c321:27e0:6ef0:49ff:fe11:a61d]:8333 +[2a03:4000:2:496::8]:8333 +[2a03:b0c0:0:1010::62:f001]:8333 +[2a03:f80:ed16:ca7:ea75:b12d:2af:9e2a]:8333 +3ffk7iumtx3cegbi.onion:8333 +3hshaantu6ot4upz.onion:8333 +45c5lc77qgpikafy.onion:8333 +77mx2jsxaoyesz2p.onion:8333 +7g7j54btiaxhtsiy.onion:8333 +b6fr7dlbu2kpiysf.onion:8333 +bitcoincfqcssig5.onion:8333 +bitcoinostk4e4re.onion:8333 +bmutjfrj5btseddb.onion:8333 +drp4pvejybx2ejdr.onion:8333 +gixnv56d63buypan.onion:8333 +h2vlpudzphzqxutd.onion:8333 +hhiv5pnxenvbf4am.onion:8333 +lzxpkn6ptp3ohh63.onion:8333 +msphsgfiqfq5stne.onion:8333 +ncwk3lutemffcpc4.onion:8333 +okdzjarwekbshnof.onion:8333 +sjdomi4yb2dwkjbc.onion:8333 +uvwozwxlihntigbb.onion:8333 +v6ylz45dn5ybpk4d.onion:8333 +vk3qjdehyy4dwcxw.onion:8333 +vqpye2k5rcqvj5mq.onion:8333 +xudkoztdfrsuyyou.onion:8333 +z55v4ostefnwfy32.onion:8333 diff --git a/contrib/seeds/nodes_test.txt b/contrib/seeds/nodes_test.txt new file mode 100644 index 0000000000..98365ee505 --- /dev/null +++ b/contrib/seeds/nodes_test.txt @@ -0,0 +1,11 @@ +# List of fixed seed nodes for testnet + +# Onion nodes +thfsmmn2jbitcoin.onion +it2pj4f7657g3rhi.onion +nkf5e6b7pl4jfd4a.onion +4zhkir2ofl7orfom.onion +t6xj6wilh4ytvcs7.onion +i6y6ivorwakd7nw3.onion +ubqj4rsu3nqtxmtp.onion + |