рефакторинг(ядро): оптимизация ucode, устранение дублирования и ручного парсинга

- Вынесена логика вызова команд shell в core.common
- Удалено дублирование реализации чтения stdin и извлечения параметров UCI
- Громоздкие циклы парсинга URL в helpers.uc переписаны на регулярные выражения
- Проверка IPv4/IPv6 упрощена до использования регулярных выражений вместо построчного разбора
- Использованы встроенные функции ucode (lc, length) вместо ручных аналогов
- Очистка фронтенда: удален функционал мониторинга прямого трафика и лишняя колонка 'Add to' из UI таблиц
This commit is contained in:
Dushnilin
2026-07-13 19:04:58 +03:00
parent 6321aca163
commit 229f82718f
10 changed files with 152 additions and 267 deletions
+5 -14
View File
@@ -32,20 +32,11 @@ function valid_ipv4(value, allow_trailing_dot, strict_decimal) {
if (allow_trailing_dot && length(value) > 0 && substr(value, length(value) - 1, 1) == ".")
value = substr(value, 0, length(value) - 1);
let parts = split(value, ".");
if (length(parts) != 4)
return false;
for (let part in parts) {
if (!decimal_text(part, strict_decimal))
return false;
let octet = int(part);
if (octet < 0 || octet > 255)
return false;
}
return true;
let regex = strict_decimal
? /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/
: /^(?:(?:25[0-5]|2[0-4][0-9]|0*[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|0*[01]?[0-9][0-9]?)$/;
return match(value, regex) != null;
}
function valid_ipv4_cidr(value, strict_decimal) {