From 323f96a50222874f74c7f7b3bc435634191804a6 Mon Sep 17 00:00:00 2001 From: Fovway Date: Sun, 26 Oct 2025 07:13:26 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20IPv6=20=D0=B0=D0=B4=D1=80=D0=B5=D1=81?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B2=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20IP-=D0=B0=D0=B4=D1=80=D0=B5=D1=81=D0=B0=20=D0=BA=D0=BB=D0=B8?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлена поддержка IPv4-mapped IPv6 адресов, позволяющая корректно извлекать IPv4 адреса из формата ::ffff:192.168.1.1. - Оптимизирована логика обработки IPv6 адресов для улучшения точности получения клиентского IP. --- server.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server.js b/server.js index 8dc135a..a8de784 100644 --- a/server.js +++ b/server.js @@ -327,7 +327,10 @@ function getClientIP(req) { ip = ip.replace(/[[\]]/g, ""); // Обрабатываем IPv6 адреса - if (ip.includes("::")) { + if (ip.startsWith("::ffff:")) { + // IPv4-mapped IPv6 address (::ffff:192.168.1.1) + ip = ip.substring(7); // Убираем "::ffff:" + } else if (ip.includes("::")) { const ipv6Match = ip.match(/^(\[)?([^\]]+)(\])?(:(\d+))?$/); if (ipv6Match) { ip = ipv6Match[2];