summaryrefslogtreecommitdiff
path: root/searxng_extra/update/update_ahmia_blacklist.py
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-10-02 17:30:39 +0200
committerAlexandre Flament <alex@al-f.net>2021-10-02 17:30:39 +0200
commit1bb82a6b54e53d683c3041a1576be64ae234abee (patch)
treea0d30ba74780168169e82643335d2bf3aeb0c748 /searxng_extra/update/update_ahmia_blacklist.py
parente39a03cc61e9792afb34084fb4d9973a61deecea (diff)
SearXNG: searxng_extra
Diffstat (limited to 'searxng_extra/update/update_ahmia_blacklist.py')
-rwxr-xr-xsearxng_extra/update/update_ahmia_blacklist.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/searxng_extra/update/update_ahmia_blacklist.py b/searxng_extra/update/update_ahmia_blacklist.py
new file mode 100755
index 000000000..f645880e6
--- /dev/null
+++ b/searxng_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))