.oO SearXNG Developer Documentation Oo.
Loading...
Searching...
No Matches
ahmia_filter.py
Go to the documentation of this file.
1
# SPDX-License-Identifier: AGPL-3.0-or-later
2
# pylint: disable=missing-module-docstring
3
4
from
__future__
import
annotations
5
from
hashlib
import
md5
6
7
import
flask
8
9
from
searx.data
import
ahmia_blacklist_loader
10
from
searx
import
get_setting
11
12
13
name =
"Ahmia blacklist"
14
description =
"Filter out onion results that appear in Ahmia's blacklist. (See https://ahmia.fi/blacklist)"
15
default_on =
True
16
preference_section =
'onions'
17
18
ahmia_blacklist: list = []
19
20
21
def
on_result
(_request, _search, result) -> bool:
22
if
not
getattr(result,
'is_onion'
,
None
)
or
not
getattr(result,
'parsed_url'
,
None
):
23
return
True
24
result_hash = md5(result[
'parsed_url'
].hostname.encode()).hexdigest()
25
return
result_hash
not
in
ahmia_blacklist
26
27
28
def
init
(app=flask.Flask) -> bool:
# pylint: disable=unused-argument
29
global
ahmia_blacklist
# pylint: disable=global-statement
30
if
not
get_setting
(
"outgoing.using_tor_proxy"
):
31
# disable the plugin
32
return
False
33
ahmia_blacklist = ahmia_blacklist_loader()
34
return
True
searx.data
Definition
__init__.py:1
searx.plugins.ahmia_filter.init
bool init(app=flask.Flask)
Definition
ahmia_filter.py:28
searx.plugins.ahmia_filter.on_result
bool on_result(_request, _search, result)
Definition
ahmia_filter.py:21
searx.get_setting
get_setting(name, default=_unset)
Definition
__init__.py:69
searxng
searx
plugins
ahmia_filter.py
Generated on Thu Feb 20 2025 20:12:42 for .oO SearXNG Developer Documentation Oo. by
1.13.2