7from flask_babel
import gettext
10from searx
import get_setting
20ahmia_blacklist: list[str] = []
25 """Filter out onion results that appear in Ahmia's blacklist (See https://ahmia.fi/blacklist)."""
29 def __init__(self, plg_cfg:
"PluginCfg") ->
None:
33 name=gettext(
"Ahmia blacklist"),
34 description=gettext(
"Filter out onion results that appear in Ahmia's blacklist."),
35 preference_section=
"general",
39 self, request:
"SXNG_Request", search:
"SearchWithPlugins", result:
"Result"
41 if not getattr(result,
"is_onion",
False)
or not getattr(result,
"parsed_url",
False):
43 result_hash = md5(result[
"parsed_url"].hostname.encode()).hexdigest()
44 return result_hash
not in ahmia_blacklist
46 def init(self, app:
"flask.Flask") -> bool:
47 global ahmia_blacklist
51 ahmia_blacklist = ahmia_blacklist_loader()
bool on_result(self, "SXNG_Request" request, "SearchWithPlugins" search, "Result" result)
None __init__(self, "PluginCfg" plg_cfg)
bool init(self, "flask.Flask" app)
t.Any get_setting(str name, t.Any default=_unset)