feat: карточки сервисов на дашборде + секция Hosts в правилах + скрытие вкладки Conditions для Hosts
Дашборд: - Добавлены карточки статуса Zapret, Zapret2, ByeDpi на панель мониторинга - Показывают статус (работает/остановлен), количество перезапусков, предупреждения - Баг: API возвращает boolean а не число — исправлено сравнение Секция Hosts: - Перенесены опции hosts из глобальных настроек в отдельный тип секции (action=hosts) - Опции: пользовательские DNS записи, удалённые списки хостов, автообновление, интервал - Миграция: автоматический перенос глобальных настроек hosts в секцию - Вкладка «Условия» скрыта для секций типа Hosts (hosts записи применяются глобально) - Возвращена кнопка «Import Hosts File» с модальным окном загрузки из файла - Убраны неиспользуемые опции из settings.js (~280 строк) Локализация: - Переведены 6 новых строк для превью импорта hosts
This commit is contained in:
@@ -590,6 +590,8 @@ function rule_has_list_update_source(section) {
|
||||
return false;
|
||||
if (option(section, "action", "") == "dns")
|
||||
return list_has_remote_references(option(section, "domain_ip_lists", ""));
|
||||
if (option(section, "action", "") == "hosts")
|
||||
return false;
|
||||
|
||||
return (
|
||||
rule_config.has_community_subnet_list(connections.community_lists_value(section)) ||
|
||||
@@ -2088,7 +2090,7 @@ function import_domain_ip_list_file_into_rulesets(filepath, section) {
|
||||
|
||||
let ruleset_filepath = domain_ip_list_ruleset_path(section);
|
||||
let ok = nft_module_success([ "split-domain-subnet-file", filepath, domains_tmpfile, subnets_tmpfile ]);
|
||||
let domains_only = option(section, "action", "") == "dns";
|
||||
let domains_only = option(section, "action", "") == "dns" || option(section, "action", "") == "hosts";
|
||||
if (ok)
|
||||
ok = ruleset_module_success([ "import-plain-list", domains_tmpfile, ruleset_filepath, "domain_suffix", "domains", "5000" ]);
|
||||
if (ok && !domains_only)
|
||||
@@ -2251,7 +2253,7 @@ function import_all_preset_lists(settings) {
|
||||
function import_builtin_subnets_from_rule(section, settings) {
|
||||
if (!bool_option(section, "enabled", true))
|
||||
return true;
|
||||
if (option(section, "action", "") == "dns")
|
||||
if (option(section, "action", "") == "dns" || option(section, "action", "") == "hosts")
|
||||
return true;
|
||||
|
||||
let ok = true;
|
||||
@@ -2391,7 +2393,7 @@ function import_custom_ruleset_subnets_from_remote(url, format, section, label,
|
||||
function import_rule_sets_with_subnets_from_rule(section, settings) {
|
||||
if (!bool_option(section, "enabled", true))
|
||||
return true;
|
||||
if (option(section, "action", "") == "dns")
|
||||
if (option(section, "action", "") == "dns" || option(section, "action", "") == "hosts")
|
||||
return true;
|
||||
|
||||
let references = connections.rule_sets_with_subnets(section);
|
||||
|
||||
Reference in New Issue
Block a user