summaryrefslogtreecommitdiff
path: root/searx_extra/update/update_ahmia_blacklist.py
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-02-25 17:42:52 +0100
committerAlexandre Flament <alex@al-f.net>2021-03-04 11:59:14 +0100
commitb8cd3264644208d7afa1a239f829222d45226334 (patch)
treeabbbd7fe188e7837f8351935ec47877799bc9474 /searx_extra/update/update_ahmia_blacklist.py
parent111d38cd8fe35365cab2121a362bd17159c66d3f (diff)
Add searx_extra package
Split the utils directory into: * searx_extra contains update scripts, standalone_searx.py * utils contains the files to build and setup searx.
Diffstat (limited to 'searx_extra/update/update_ahmia_blacklist.py')
-rwxr-xr-xsearx_extra/update/update_ahmia_blacklist.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/searx_extra/update/update_ahmia_blacklist.py b/searx_extra/update/update_ahmia_blacklist.py
new file mode 100755
index 000000000..f645880e6
--- /dev/null
+++ b/searx_extra/update/update_ahmia_blacklist.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+
+# This script saves Ahmia's blacklist for onion sites.
+# More info in https://ahmia.fi/blacklist/
+
+# set path
+from os.path import join
+
+import requests
+from searx import searx_dir
+
+URL = 'https://ahmia.fi/blacklist/banned/'
+
+
+def fetch_ahmia_blacklist():
+ resp = requests.get(URL, timeout=3.0)
+ if resp.status_code != 200:
+ raise Exception("Error fetching Ahmia blacklist, HTTP code " + resp.status_code)
+ else:
+ blacklist = resp.text.split()
+ return blacklist
+
+
+def get_ahmia_blacklist_filename():
+ return join(join(searx_dir, "data"), "ahmia_blacklist.txt")
+
+
+blacklist = fetch_ahmia_blacklist()
+with open(get_ahmia_blacklist_filename(), "w") as f:
+ f.write('\n'.join(blacklist))