@@ -3,9 +3,7 @@
5from hashlib import md5
5from hashlib import md5
6−from os.path import join
6+from searx.data import ahmia_blacklist_loader
7−from urllib.parse import urlparse
8−from searx import searx_dir
10name = "Ahmia blacklist"
8name = "Ahmia blacklist"
11description = "Filter out onion results that appear in Ahmia's blacklist. (See https://ahmia.fi/blacklist)"
9description = "Filter out onion results that appear in Ahmia's blacklist. (See https://ahmia.fi/blacklist)"
@@ -18,15 +16,14 @@ ahmia_blacklist = None
18def get_ahmia_blacklist():
16def get_ahmia_blacklist():
19 global ahmia_blacklist
17 global ahmia_blacklist
20 if not ahmia_blacklist:
18 if not ahmia_blacklist:
21− with open(join(join(searx_dir, "data"), "ahmia_blacklist.txt"), 'r') as f:
22− ahmia_blacklist = f.read().split()
19+ ahmia_blacklist = ahmia_blacklist_loader()
23 return ahmia_blacklist
20 return ahmia_blacklist
26def not_blacklisted(result):
23def not_blacklisted(result):
27− if not result.get('is_onion'):
24+ if not result.get('is_onion') or not result.get('parsed_url'):
28 return True
25 return True
29− result_hash = md5(urlparse(result.get('url')).hostname.encode()).hexdigest()
26+ result_hash = md5(result['parsed_url'].hostname.encode()).hexdigest()
30 return result_hash not in get_ahmia_blacklist()
27 return result_hash not in get_ahmia_blacklist()