From a8f2c6f3f968328453402033eac70ede7e5a1185 Mon Sep 17 00:00:00 2001 From: Dmitriy Petrov Date: Fri, 8 May 2026 19:01:30 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20ESC-=D1=81=D0=B8=D0=BC=D0=B2=D0=BE=D0=BB=20?= =?UTF-8?q?=D0=B2=20regex=20=D0=BF=D0=B0=D1=80=D1=81=D0=B8=D0=BD=D0=B3?= =?UTF-8?q?=D0=B0=20=D1=83=D1=80=D0=BE=D0=B2=D0=BD=D1=8F=20=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=B0=20sing-box?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/index.js b/src/server/index.js index 54b3448..848e74a 100644 --- a/src/server/index.js +++ b/src/server/index.js @@ -30,8 +30,9 @@ function pushLog(level, line) { } } -// Sing-box пишет все логи в stderr, поэтому парсим уровень из содержимого строки -const SINGBOX_LEVEL_RE = /\[\d+m(TRACE|DEBUG|INFO|WARN|ERROR|FATAL)\[0m/i; +// Sing-box пишет все логи в stderr, поэтому парсим уровень из содержимого строки. +// Формат: ESC[m LEVEL ESC[0m, где ESC = \x1b +const SINGBOX_LEVEL_RE = /\x1b\[\d+m(TRACE|DEBUG|INFO|WARN|ERROR|FATAL)\x1b\[0m/i; function parseSingboxLevel(line, fallback) { const m = line.match(SINGBOX_LEVEL_RE); if (!m) return fallback;