Source code for searx.plugins.self_info

# SPDX-License-Identifier: AGPL-3.0-or-later
# pylint: disable=missing-module-docstring, missing-class-docstring
from __future__ import annotations
import typing

import re
from flask_babel import gettext

from searx.botdetection._helpers import get_real_ip
from searx.result_types import EngineResults

from . import Plugin, PluginInfo

if typing.TYPE_CHECKING:
    from searx.search import SearchWithPlugins
    from searx.extended_types import SXNG_Request


[docs] class SXNGPlugin(Plugin): """Simple plugin that displays information about user's request, including the IP or HTTP User-Agent. The information is displayed in area for the "answers". """ id = "self_info" default_on = True keywords = ["ip", "user-agent"] def __init__(self): super().__init__() self.ip_regex = re.compile(r"^ip", re.IGNORECASE) self.ua_regex = re.compile(r"^user-agent", re.IGNORECASE) self.info = PluginInfo( id=self.id, name=gettext("Self Information"), description=gettext( """Displays your IP if the query is "ip" and your user agent if the query is "user-agent".""" ), preference_section="query", )