fix(dns): preserve 127.0.0.42 during restart and add local DNS cache support

- decouple restart() from stop_impl() in lifecycle.uc to avoid premature dnsmasq_restore
- keep dhcp.@dnsmasq[0].server locked to 127.0.0.42 throughout service restarts
- add atomic restart_service hooks in init.d/tachyon and initd.uc
- fix dns_turbo_cache path resolution to promote default cache to /etc/sing-box/cache.db
- add Local DNS Cache support in dnsmasq (dns_local_cache, dns_cache_size)
- add comprehensive behavioral regression test tests/service_restart_lifecycle.sh
This commit is contained in:
Dushnilin
2026-09-17 08:45:24 +03:00
parent 44a1777c0d
commit 0efa47abdc
14 changed files with 1119 additions and 750 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+14 -2
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: TACHYON\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-17 08:13+0300\n"
"PO-Revision-Date: 2026-09-17 08:13+0300\n"
"POT-Creation-Date: 2026-09-17 08:45+0300\n"
"PO-Revision-Date: 2026-09-17 08:45+0300\n"
"Last-Translator: Dushnilin\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -1439,6 +1439,9 @@ msgstr "Автоподбор и бенчмарк DNS"
msgid "DNS Blocking"
msgstr "Блокировка DNS"
msgid "DNS Cache Size"
msgstr ""
msgid "DNS Check Interval"
msgstr "Интервал проверки DNS"
@@ -1793,6 +1796,9 @@ msgstr "Включено"
msgid "Enabled (always prioritize)"
msgstr "Включено (всегда повышать приоритет)"
msgid "Enables high-capacity local DNS caching in dnsmasq to accelerate DNS queries and absorb transient latency during service restarts."
msgstr ""
msgid "Enables the background daemon that polls Telegram for commands and sends notifications."
msgstr "Включает фоновый демон, который опрашивает Telegram на наличие команд и отправляет уведомления."
@@ -3095,6 +3101,9 @@ msgstr "Загрузка..."
msgid "Local Address"
msgstr "Локальный адрес"
msgid "Local DNS Cache"
msgstr ""
msgid "Local SOCKS proxy desynchronizer (ciadpi)"
msgstr "Локальный десинхронизатор SOCKS-прокси (ciadpi)"
@@ -3470,6 +3479,9 @@ msgstr "Уведомлять о перезапусках сервиса"
msgid "Notify on Subscription Updates"
msgstr "Уведомлять об обновлениях подписок"
msgid "Number of cached DNS domain entries in dnsmasq (default: 10000)."
msgstr ""
msgid "Number of consecutive failed checks required before switching DNS servers."
msgstr "Количество последовательных неудачных проверок до переключения DNS-серверов."
+2
View File
@@ -476,6 +476,8 @@ export namespace Tachyon {
smart_detect_section?: string;
smart_detect_sections?: string | string[];
dns_turbo_cache?: '0' | '1';
dns_local_cache?: '0' | '1';
dns_cache_size?: string;
// AI Watchdog settings (introduced in AI Watchdog feature)
ai_proxy_health_enabled?: '0' | '1';
ai_proxy_health_interval?: string;