summaryrefslogtreecommitdiff
path: root/searx/botdetection/_helpers.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2025-03-07 17:35:26 +0100
committerMarkus Heiser <markus.heiser@darmarIT.de>2025-03-15 10:36:33 +0100
commitda7b069d6ebf5cb07b7b8bd9ab1ee1ca8c78e1de (patch)
tree70e8d6e9726f452a956ea8cc39e1d2bfdd0ebbe4 /searx/botdetection/_helpers.py
parentf49b2c94a9a9938133dbf94d686f00776ce96cdc (diff)
[fix] plugins: bugfix of tor_check and unit_converter
Closes: https://github.com/searxng/searxng/issues/4461 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/botdetection/_helpers.py')
-rw-r--r--searx/botdetection/_helpers.py8
1 files changed, 6 insertions, 2 deletions
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)