|
|
@ -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()
|
|
|
|