|
|
@ -1,5 +1,5 @@ |
|
|
|
#!/usr/bin/env python |
|
|
|
#!/usr/bin/env python3 |
|
|
|
# Copyright (c) 2013-2016 The Bitcoin Core developers |
|
|
|
# Copyright (c) 2013-2017 The Bitcoin Core developers |
|
|
|
# Distributed under the MIT software license, see the accompanying |
|
|
|
# Distributed under the MIT software license, see the accompanying |
|
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
|
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php. |
|
|
|
# |
|
|
|
# |
|
|
@ -14,13 +14,13 @@ MIN_BLOCKS = 337600 |
|
|
|
|
|
|
|
|
|
|
|
# These are hosts that have been observed to be behaving strangely (e.g. |
|
|
|
# These are hosts that have been observed to be behaving strangely (e.g. |
|
|
|
# aggressively connecting to every node). |
|
|
|
# aggressively connecting to every node). |
|
|
|
SUSPICIOUS_HOSTS = set([ |
|
|
|
SUSPICIOUS_HOSTS = { |
|
|
|
"130.211.129.106", "178.63.107.226", |
|
|
|
"130.211.129.106", "178.63.107.226", |
|
|
|
"83.81.130.26", "88.198.17.7", "148.251.238.178", "176.9.46.6", |
|
|
|
"83.81.130.26", "88.198.17.7", "148.251.238.178", "176.9.46.6", |
|
|
|
"54.173.72.127", "54.174.10.182", "54.183.64.54", "54.194.231.211", |
|
|
|
"54.173.72.127", "54.174.10.182", "54.183.64.54", "54.194.231.211", |
|
|
|
"54.66.214.167", "54.66.220.137", "54.67.33.14", "54.77.251.214", |
|
|
|
"54.66.214.167", "54.66.220.137", "54.67.33.14", "54.77.251.214", |
|
|
|
"54.94.195.96", "54.94.200.247" |
|
|
|
"54.94.195.96", "54.94.200.247" |
|
|
|
]) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
import re |
|
|
|
import re |
|
|
|
import sys |
|
|
|
import sys |
|
|
@ -104,7 +104,7 @@ def filtermultiport(ips): |
|
|
|
hist = collections.defaultdict(list) |
|
|
|
hist = collections.defaultdict(list) |
|
|
|
for ip in ips: |
|
|
|
for ip in ips: |
|
|
|
hist[ip['sortkey']].append(ip) |
|
|
|
hist[ip['sortkey']].append(ip) |
|
|
|
return [value[0] for (key,value) in hist.items() if len(value)==1] |
|
|
|
return [value[0] for (key,value) in list(hist.items()) if len(value)==1] |
|
|
|
|
|
|
|
|
|
|
|
# Based on Greg Maxwell's seed_filter.py |
|
|
|
# Based on Greg Maxwell's seed_filter.py |
|
|
|
def filterbyasn(ips, max_per_asn, max_total): |
|
|
|
def filterbyasn(ips, max_per_asn, max_total): |
|
|
@ -164,9 +164,9 @@ def main(): |
|
|
|
|
|
|
|
|
|
|
|
for ip in ips: |
|
|
|
for ip in ips: |
|
|
|
if ip['net'] == 'ipv6': |
|
|
|
if ip['net'] == 'ipv6': |
|
|
|
print '[%s]:%i' % (ip['ip'], ip['port']) |
|
|
|
print('[%s]:%i' % (ip['ip'], ip['port'])) |
|
|
|
else: |
|
|
|
else: |
|
|
|
print '%s:%i' % (ip['ip'], ip['port']) |
|
|
|
print('%s:%i' % (ip['ip'], ip['port'])) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
|
|
if __name__ == '__main__': |
|
|
|
main() |
|
|
|
main() |
|
|
|