Changeset View
Changeset View
Standalone View
Standalone View
contrib/seeds/makeseeds.py
Show All 39 Lines | PATTERN_AGENT = re.compile( | ||||
r"^(/Bitcoin ABC:0.(20).(\d+)\(.+\)/|/bchd:0.15.(\d+)\(.+\)/|/BUCash:1.7.(\d+)\(.+\)/)") | r"^(/Bitcoin ABC:0.(20).(\d+)\(.+\)/|/bchd:0.15.(\d+)\(.+\)/|/BUCash:1.7.(\d+)\(.+\)/)") | ||||
def parseline(line): | def parseline(line): | ||||
sline = line.split() | sline = line.split() | ||||
if len(sline) < 11: | if len(sline) < 11: | ||||
return None | return None | ||||
# The user agent is at the end of the line. It may contain space, so we concatenate. | # The user agent is at the end of the line. It may contain space, so we | ||||
# concatenate. | |||||
for i in range(12, len(sline)): | for i in range(12, len(sline)): | ||||
sline[11] += ' ' + sline[i] | sline[11] += ' ' + sline[i] | ||||
# Remove leftovers | # Remove leftovers | ||||
del sline[12:] | del sline[12:] | ||||
m = PATTERN_IPV4.match(sline[0]) | m = PATTERN_IPV4.match(sline[0]) | ||||
sortkey = None | sortkey = None | ||||
Show All 9 Lines | if m is None: | ||||
ipstr = sortkey = m.group(1) | ipstr = sortkey = m.group(1) | ||||
port = int(m.group(2)) | port = int(m.group(2)) | ||||
else: | else: | ||||
net = 'ipv6' | net = 'ipv6' | ||||
# Not interested in localhost | # Not interested in localhost | ||||
if m.group(1) in ['::']: | if m.group(1) in ['::']: | ||||
return None | return None | ||||
ipstr = m.group(1) | ipstr = m.group(1) | ||||
# XXX parse IPv6 into number, could use name_to_ipv6 from generate-seeds | # XXX parse IPv6 into number, could use name_to_ipv6 from | ||||
# generate-seeds | |||||
sortkey = ipstr | sortkey = ipstr | ||||
port = int(m.group(2)) | port = int(m.group(2)) | ||||
else: | else: | ||||
# Do IPv4 sanity check | # Do IPv4 sanity check | ||||
ip = 0 | ip = 0 | ||||
for i in range(0, 4): | for i in range(0, 4): | ||||
if int(m.group(i + 2)) < 0 or int(m.group(i + 2)) > 255: | if int(m.group(i + 2)) < 0 or int(m.group(i + 2)) > 255: | ||||
return None | return None | ||||
▲ Show 20 Lines • Show All 131 Lines • Show Last 20 Lines |