From da7b069d6ebf5cb07b7b8bd9ab1ee1ca8c78e1de Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Fri, 7 Mar 2025 17:35:26 +0100 Subject: [fix] plugins: bugfix of tor_check and unit_converter Closes: https://github.com/searxng/searxng/issues/4461 Signed-off-by: Markus Heiser --- searx/botdetection/_helpers.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'searx/botdetection/_helpers.py') diff --git a/searx/botdetection/_helpers.py b/searx/botdetection/_helpers.py index b15f720f6..0f6bafb17 100644 --- a/searx/botdetection/_helpers.py +++ b/searx/botdetection/_helpers.py @@ -8,6 +8,7 @@ from ipaddress import ( IPv4Address, IPv6Address, ip_network, + ip_address, ) import flask import werkzeug @@ -125,6 +126,9 @@ def get_real_ip(request: SXNG_Request) -> str: if real_ip and remote_addr and real_ip != remote_addr: logger.warning("IP from WSGI environment (%s) is not equal to IP from X-Real-IP (%s)", remote_addr, real_ip) - request_ip = forwarded_for or real_ip or remote_addr or '0.0.0.0' + request_ip = ip_address(forwarded_for or real_ip or remote_addr or '0.0.0.0') + if request_ip.version == 6 and request_ip.ipv4_mapped: + request_ip = request_ip.ipv4_mapped + # logger.debug("get_real_ip() -> %s", request_ip) - return request_ip + return str(request_ip) -- cgit v1.2.3