diff --git a/fe-app-tachyon/fill-po-translations.js b/fe-app-tachyon/fill-po-translations.js index 84d5793e..be73ddf1 100644 --- a/fe-app-tachyon/fill-po-translations.js +++ b/fe-app-tachyon/fill-po-translations.js @@ -593,6 +593,15 @@ const dictionary = { // WARP / AmneziaWG "AmneziaWG Generator": "Генератор AmneziaWG", + "AmneziaWG Version": "Версия AmneziaWG", + "AmneziaWG 2.0": "AmneziaWG 2.0", + "AmneziaWG 3.0": "AmneziaWG 3.0", + "AmneziaWG 3.1": "AmneziaWG 3.1", + "Protocol version: 2.0 (standard headers, WARP compatible), 3.0 (header protection key, padding ranges), or 3.1 (header protection key, padding ranges, advanced timers)": "Версия протокола: 2.0 (стандартные заголовки, совместимо с WARP), 3.0 (ключ защиты заголовков, диапазоны паддинга), или 3.1 (ключ защиты заголовков, диапазоны паддинга, расширенные таймеры)", + "AmneziaWG %s configuration generated and loaded successfully!": "Конфигурация AmneziaWG %s успешно сгенерирована и загружена!", + "Notice: Cloudflare WARP edge servers only support AmneziaWG 2.0 (standard headers). For Cloudflare WARP, select version 2.0. Versions 3.0 and 3.1 are intended for dedicated AmneziaWG servers.": "Обратите внимание: серверы Cloudflare WARP поддерживают только AmneziaWG 2.0 (стандартные заголовки). Для Cloudflare WARP выберите версию 2.0. Версии 3.0 и 3.1 предназначены для выделенных серверов AmneziaWG.", + "AmneziaWG 3.0 / 3.1 header protection key": "Ключ защиты заголовков AmneziaWG 3.0 / 3.1", + "AmneziaWG 3.0 / 3.1 content padding range, e.g. 38-104": "Диапазон дополнительного паддинга контента AmneziaWG 3.0 / 3.1, например 38-104", "Import AmneziaWG settings from .conf file": "Импортировать настройки AmneziaWG из файла .conf", "Load .conf": "Загрузить .conf", "Load .conf config": "Загрузить конфигурацию .conf", @@ -1335,6 +1344,7 @@ const dictionary = { "CleanBrowsing Security": "CleanBrowsing (Безопасность)", "CleanBrowsing Family": "CleanBrowsing (Семейный)", "Yandex Safe": "Yandex (Безопасный)", + "Hide versions": "Скрыть версии", }; function escapePoString(str) { diff --git a/fe-app-tachyon/locales/calls.json b/fe-app-tachyon/locales/calls.json index c8c74917..274ec988 100644 --- a/fe-app-tachyon/locales/calls.json +++ b/fe-app-tachyon/locales/calls.json @@ -18,21 +18,21 @@ "call": ".lst Lists", "key": ".lst Lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10935" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11250" ] }, { "call": "(provider default)", "key": "(provider default)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2495" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2519" ] }, { "call": "+ Add JSON outbound", "key": "+ Add JSON outbound", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9391" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9667" ] }, { @@ -46,51 +46,67 @@ "call": "+ Add priority", "key": "+ Add priority", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9477" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9753" ] }, { "call": "+ Add Strategy", "key": "+ Add Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13818", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:851" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13038", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:862" ] }, { "call": "+ Add URLTest", "key": "+ Add URLTest", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9418" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9694" + ] + }, + { + "call": "⏳ Stopping...", + "key": "⏳ Stopping...", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13682", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1612" ] }, { "call": "⚠️ Benchmark completed. No working bypass found for this target.", "key": "⚠️ Benchmark completed. No working bypass found for this target.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14322", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1393" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13543", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1446" + ] + }, + { + "call": "⚠️ Benchmark stopped", + "key": "⚠️ Benchmark stopped", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13543", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1445" ] }, { "call": "⚠️ If all Bootstrap DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss.", "key": "⚠️ If all Bootstrap DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1457" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1481" ] }, { "call": "⚠️ If all Main DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss.", "key": "⚠️ If all Main DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1446" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1470" ] }, { "call": "⚡ DPI Strategy Fuzzer", "key": "⚡ DPI Strategy Fuzzer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11843", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11148", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:162" ] }, @@ -98,115 +114,121 @@ "call": "⚡ Fast (>1MB/s)", "key": "⚡ Fast (>1MB/s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13437", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:429" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12669", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:440" ] }, { "call": "⚡ QUIC / HTTP/3 (UDP 443)", "key": "⚡ QUIC / HTTP/3 (UDP 443)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13224", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:198" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12469", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:209" ] }, { - "call": "⚡ Quick Benchmark (Presets ~12-14)", - "key": "⚡ Quick Benchmark (Presets ~12-14)", + "call": "⚡ Quick Benchmark (Presets ~30+)", + "key": "⚡ Quick Benchmark (Presets ~30+)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13262", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:243" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12506", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:254" ] }, { "call": "⚡ Strategy Fuzzer & Auto-Tuner", "key": "⚡ Strategy Fuzzer & Auto-Tuner", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14654", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1772" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13874", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1843" ] }, { "call": "✅ Auto-applied best strategy", "key": "✅ Auto-applied best strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14369", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1451" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13595", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1513" ] }, { "call": "✅ Benchmark completed! Optimal strategy identified.", "key": "✅ Benchmark completed! Optimal strategy identified.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14321", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1392" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13538", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1439" ] }, { "call": "✅ Working only", "key": "✅ Working only", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13428", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:420" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12660", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:431" ] }, { "call": "✈️ Telegram Suite (Web + Bot API)", "key": "✈️ Telegram Suite (Web + Bot API)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13217", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:195" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12466", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:206" ] }, { "call": "✔ Online", "key": "✔ Online", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9209", - "src/tachyon/tabs/dashboard/initController.ts:1941" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8750", + "src/tachyon/tabs/dashboard/initController.ts:1969" ] }, { "call": "✔ Running", "key": "✔ Running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9162", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9171", - "src/tachyon/tabs/dashboard/initController.ts:1891", - "src/tachyon/tabs/dashboard/initController.ts:1900" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8696", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8712", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8712", + "src/tachyon/tabs/dashboard/initController.ts:1899", + "src/tachyon/tabs/dashboard/initController.ts:1910", + "src/tachyon/tabs/dashboard/initController.ts:1911", + "src/tachyon/tabs/dashboard/initController.ts:1925", + "src/tachyon/tabs/dashboard/initController.ts:1926" ] }, { "call": "✘ Offline", "key": "✘ Offline", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9209", - "src/tachyon/tabs/dashboard/initController.ts:1941" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8750", + "src/tachyon/tabs/dashboard/initController.ts:1969" ] }, { "call": "✘ Stopped", "key": "✘ Stopped", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9162", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9171", - "src/tachyon/tabs/dashboard/initController.ts:1891", - "src/tachyon/tabs/dashboard/initController.ts:1900" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8696", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703", + "src/tachyon/tabs/dashboard/initController.ts:1899", + "src/tachyon/tabs/dashboard/initController.ts:1912" ] }, { "call": "🌐 Custom Target URL...", "key": "🌐 Custom Target URL...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13225", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:199" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12470", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:210" ] }, { - "call": "🎬 YouTube Suite (Web + 4K Stream)", - "key": "🎬 YouTube Suite (Web + 4K Stream)", + "call": "🎬 YouTube Full Suite (Web + 4K Stream + CDN)", + "key": "🎬 YouTube Full Suite (Web + 4K Stream + CDN)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13202", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12440", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:180" ] }, @@ -214,23 +236,31 @@ "call": "🏆 Apply Best Match", "key": "🏆 Apply Best Match", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13393", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:383" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12626", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:394" ] }, { "call": "🏴‍☠️ RuTracker Suite", "key": "🏴‍☠️ RuTracker Suite", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13222", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:197" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12468", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:208" ] }, { - "call": "💬 Discord Suite (API + WSS + CDN)", - "key": "💬 Discord Suite (API + WSS + CDN)", + "call": "🐦 X / Twitter Suite (API + Media CDN)", + "key": "🐦 X / Twitter Suite (API + Media CDN)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13207", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12455", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:195" + ] + }, + { + "call": "💬 Discord Suite (Gateway + Voice + CDN)", + "key": "💬 Discord Suite (Gateway + Voice + CDN)", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12445", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:185" ] }, @@ -238,104 +268,130 @@ "call": "💾 Save Custom Patterns", "key": "💾 Save Custom Patterns", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13763", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:788" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12984", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:799" ] }, { "call": "📸 Instagram / Meta (Web + CDN)", "key": "📸 Instagram / Meta (Web + CDN)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13212", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:190" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12461", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:201" ] }, { "call": "🔄 Refresh", "key": "🔄 Refresh", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14067", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1117" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13269", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1128" ] }, { "call": "🔄 Reset to Factory Defaults", "key": "🔄 Reset to Factory Defaults", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13776", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:801" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12996", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:812" ] }, { - "call": "🔍 Combinatorial Deep Fuzzing (~40-80+)", - "key": "🔍 Combinatorial Deep Fuzzing (~40-80+)", + "call": "🔍 Combinatorial Deep Fuzzing (~150-300+)", + "key": "🔍 Combinatorial Deep Fuzzing (~150-300+)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13267", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:248" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12511", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:259" ] }, { "call": "🗑️ Clear History", "key": "🗑️ Clear History", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14072", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1122" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13274", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1133" + ] + }, + { + "call": "🤖 ChatGPT / OpenAI Suite", + "key": "🤖 ChatGPT / OpenAI Suite", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12457", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:197" ] }, { "call": "🧠 Synthesize with AI", "key": "🧠 Synthesize with AI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13980", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14589", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1025", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1697" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13191", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13813", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1036", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1762" ] }, { "call": "🧠 Synthesizing...", "key": "🧠 Synthesizing...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14544", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1643" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13768", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1708" ] }, { "call": "🚀 Initializing benchmark in sandbox...", "key": "🚀 Initializing benchmark in sandbox...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14476", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1569" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13701", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1634" ] }, { "call": "🚀 Start Benchmark", "key": "🚀 Start Benchmark", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13523", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14359", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14537", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:527", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1439", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1635" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12752", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13576", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13761", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:538", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1485", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1700" + ] + }, + { + "call": "🛑 Benchmark stopped", + "key": "🛑 Benchmark stopped", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437" ] }, { "call": "🛑 Stop Benchmark", "key": "🛑 Stop Benchmark", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14466", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14570", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1557", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1676" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13571", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13691", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13794", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1480", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1622", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1741" ] }, { "call": "🛠️ My Custom Strategies Only", "key": "🛠️ My Custom Strategies Only", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13272", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:250" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12513", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:261" + ] + }, + { + "call": "🟣 Twitch Suite (Live Stream + HLS CDN)", + "key": "🟣 Twitch Suite (Live Stream + HLS CDN)", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12450", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:190" ] }, { @@ -349,7 +405,7 @@ "call": "Accept routes", "key": "Accept routes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3316" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3334" ] }, { @@ -363,15 +419,15 @@ "call": "Action", "key": "Action", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7300", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7329" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7306", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7335" ] }, { "call": "Action failed", "key": "Action failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10184", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9722", "src/tachyon/helpers/notifyActionFailure.ts:40" ] }, @@ -386,22 +442,22 @@ "call": "Actions", "key": "Actions", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13498", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13888", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:499", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:926" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12727", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13104", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:510", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:937" ] }, { "call": "Active", "key": "Active", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8508", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17519", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18132", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8094", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16803", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17388", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:464", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:470", - "src/tachyon/tabs/dashboard/initController.ts:1127", + "src/tachyon/tabs/dashboard/initController.ts:1130", "src/tachyon/tabs/monitoring/initController.ts:722", "src/tachyon/tabs/monitoring/render.ts:20" ] @@ -426,7 +482,7 @@ "call": "Active Bootstrap DNS", "key": "Active Bootstrap DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10303", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9817", "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:56" ] }, @@ -434,8 +490,8 @@ "call": "Active Clients", "key": "Active Clients", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3019", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3093", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2834", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2904", "src/tachyon/tabs/dashboard/partials/renderConnections.ts:50", "src/tachyon/tabs/dashboard/partials/renderConnections.ts:126" ] @@ -444,15 +500,15 @@ "call": "Active Connections", "key": "Active Connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9148", - "src/tachyon/tabs/dashboard/initController.ts:1876" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8681", + "src/tachyon/tabs/dashboard/initController.ts:1883" ] }, { "call": "Active Main DNS", "key": "Active Main DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9824", "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:67" ] }, @@ -460,7 +516,7 @@ "call": "Active routes", "key": "Active routes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12255", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11554", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:245" ] }, @@ -505,8 +561,8 @@ "call": "Add Custom DPI Strategy", "key": "Add Custom DPI Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13854", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:891" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13072", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:902" ] }, { @@ -520,28 +576,28 @@ "call": "Add URLs or local paths to .lst lists containing domains and subnets.", "key": "Add URLs or local paths to .lst lists containing domains and subnets.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9979" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10256" ] }, { "call": "Add URLs or local paths to .lst lists containing domains. IP entries are ignored.", "key": "Add URLs or local paths to .lst lists containing domains. IP entries are ignored.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10003" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10280" ] }, { "call": "Add URLs or local paths to .srs / .json lists. Only domain rules are supported.", "key": "Add URLs or local paths to .srs / .json lists. Only domain rules are supported.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9954" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10231" ] }, { "call": "Add URLs or local paths to .srs / .json lists. Subnets are ignored by default.", "key": "Add URLs or local paths to .srs / .json lists. Subnets are ignored by default.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9925" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10202" ] }, { @@ -562,7 +618,7 @@ "call": "Additional marking rules found", "key": "Additional marking rules found", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10691", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10159", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:106" ] }, @@ -600,14 +656,16 @@ "call": "Address", "key": "Address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1714" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13950", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1732", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:45" ] }, { "call": "Administrator Chat IDs", "key": "Administrator Chat IDs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3029" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3053" ] }, { @@ -628,21 +686,21 @@ "call": "Advertise exit node", "key": "Advertise exit node", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3299" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3317" ] }, { "call": "Advertise routes", "key": "Advertise routes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3309" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3327" ] }, { "call": "AEAD Method", "key": "AEAD Method", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9114" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9390" ] }, { @@ -656,21 +714,21 @@ "call": "AI Agent REST API Bearer Token", "key": "AI Agent REST API Bearer Token", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2446" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2470" ] }, { "call": "AI API Key", "key": "AI API Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2513" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2537" ] }, { "call": "AI Chat & Tachyon Assistant", "key": "AI Chat & Tachyon Assistant", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13052", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12298", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:235" ] }, @@ -678,7 +736,7 @@ "call": "AI Chat Assistant", "key": "AI Chat Assistant", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11833", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11138", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:152" ] }, @@ -686,15 +744,15 @@ "call": "AI Diagnostics & Strategy Rationale", "key": "AI Diagnostics & Strategy Rationale", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14000", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1046" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13209", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1057" ] }, { "call": "AI Doctor Diagnosis", "key": "AI Doctor Diagnosis", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16634", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15963", "src/tachyon/tabs/diagnostic/initController.ts:1563" ] }, @@ -702,9 +760,9 @@ "call": "AI Doctor failed", "key": "AI Doctor failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15943", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16638", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16646", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15424", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15966", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15974", "src/tachyon/tabs/diagnostic/initController.ts:857", "src/tachyon/tabs/diagnostic/initController.ts:1569", "src/tachyon/tabs/diagnostic/initController.ts:1577" @@ -714,14 +772,14 @@ "call": "AI Doctor Language", "key": "AI Doctor Language", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2501" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2525" ] }, { "call": "AI Doctor RAG", "key": "AI Doctor RAG", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13130", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12373", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:95" ] }, @@ -729,29 +787,29 @@ "call": "AI DPI Engineer & Strategy Synthesizer", "key": "AI DPI Engineer & Strategy Synthesizer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14027", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1071" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13231", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1082" ] }, { "call": "AI Model", "key": "AI Model", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2488" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2512" ] }, { "call": "AI Provider", "key": "AI Provider", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2471" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2495" ] }, { "call": "AI service error", "key": "AI service error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12970", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12225", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:151" ] }, @@ -759,50 +817,50 @@ "call": "AI successfully synthesized custom strategies!", "key": "AI successfully synthesized custom strategies!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14560", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1662" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13784", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1727" ] }, { "call": "AI Synthesis Error", "key": "AI Synthesis Error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14583", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1691" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13807", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1756" ] }, { "call": "AI synthesis failed", "key": "AI synthesis failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14582", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13806", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1755" ] }, { "call": "All", "key": "All", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13419", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17539", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18105", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12651", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16822", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17353", "src/tachyon/tabs/monitoring/initController.ts:681", "src/tachyon/tabs/monitoring/render.ts:40", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:411" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:422" ] }, { "call": "All checks passed — Telegram bot should work correctly", "key": "All checks passed — Telegram bot should work correctly", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3247" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3271" ] }, { "call": "All components", "key": "All components", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2108" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2132" ] }, { @@ -817,7 +875,7 @@ "call": "All Engines (Full Matrix)", "key": "All Engines (Full Matrix)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13177", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12415", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:151" ] }, @@ -868,8 +926,8 @@ "call": "All Routes", "key": "All Routes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17548", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18077", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16830", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17326", "src/tachyon/tabs/monitoring/initController.ts:644", "src/tachyon/tabs/monitoring/render.ts:49" ] @@ -885,8 +943,8 @@ "call": "All services", "key": "All services", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12266", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12378", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11563", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11666", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:257", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:376" ] @@ -895,7 +953,7 @@ "call": "All traffic from these IP addresses will be routed through the section unconditionally, ignoring all other conditions.", "key": "All traffic from these IP addresses will be routed through the section unconditionally, ignoring all other conditions.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10035" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10312" ] }, { @@ -917,7 +975,7 @@ "call": "Allow Insecure TLS", "key": "Allow Insecure TLS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8960" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9236" ] }, { @@ -952,7 +1010,7 @@ "call": "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall.", "key": "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1785" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1809" ] }, { @@ -966,21 +1024,21 @@ "call": "Allows Tachyon to send diagnostic snapshots to ChatGPT or DeepSeek API for intelligent root-cause analysis and auto-repair recommendations.", "key": "Allows Tachyon to send diagnostic snapshots to ChatGPT or DeepSeek API for intelligent root-cause analysis and auto-repair recommendations.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2460" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2484" ] }, { "call": "ALPN", "key": "ALPN", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2828" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2846" ] }, { "call": "Alter ID", "key": "Alter ID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3062" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3080" ] }, { @@ -998,25 +1056,89 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1189" ] }, + { + "call": "AmneziaWG 3.1 content padding range, e.g. 38-104", + "key": "AmneziaWG 3.1 content padding range, e.g. 38-104", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9123", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3632" + ] + }, + { + "call": "AmneziaWG 3.1 header protection key", + "key": "AmneziaWG 3.1 header protection key", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9122", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3626" + ] + }, + { + "call": "AmneziaWG 3.1 keepalive timeout", + "key": "AmneziaWG 3.1 keepalive timeout", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3656" + ] + }, + { + "call": "AmneziaWG 3.1 max handshake attempts", + "key": "AmneziaWG 3.1 max handshake attempts", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3662" + ] + }, + { + "call": "AmneziaWG 3.1 reject after time", + "key": "AmneziaWG 3.1 reject after time", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9126", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3650" + ] + }, + { + "call": "AmneziaWG 3.1 rekey after time", + "key": "AmneziaWG 3.1 rekey after time", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9124", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3638" + ] + }, + { + "call": "AmneziaWG 3.1 rekey timeout", + "key": "AmneziaWG 3.1 rekey timeout", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9125", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3644" + ] + }, { "call": "AmneziaWG config loaded successfully!", "key": "AmneziaWG config loaded successfully!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8725" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8939" ] }, { "call": "AmneziaWG Generator", "key": "AmneziaWG Generator", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8355" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8438" + ] + }, + { + "call": "AmneziaWG Version", + "key": "AmneziaWG Version", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9047", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3470" ] }, { "call": "Anonymized support report copied to clipboard", "key": "Anonymized support report copied to clipboard", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16041", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15499", "src/tachyon/tabs/diagnostic/initController.ts:970" ] }, @@ -1024,8 +1146,8 @@ "call": "Another component action is already running", "key": "Another component action is already running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20842", - "src/tachyon/tabs/updates/initController.ts:906" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20029", + "src/tachyon/tabs/updates/initController.ts:928" ] }, { @@ -1046,45 +1168,55 @@ "call": "API Key for OpenAI (sk-...) or DeepSeek (optional for Ollama / LM Studio)", "key": "API Key for OpenAI (sk-...) or DeepSeek (optional for Ollama / LM Studio)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2514" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2538" ] }, { "call": "Applied", "key": "Applied", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14600", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1709" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13824", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1774" ] }, { "call": "Apply", "key": "Apply", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14287", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1353" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13500", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1394" + ] + }, + { + "call": "Apply Recommended DNS", + "key": "Apply Recommended DNS", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14156", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14246", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:279", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:379" ] }, { "call": "Apply rules of this section only to selected protocols.", "key": "Apply rules of this section only to selected protocols.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10095" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10372" ] }, { "call": "Apply section rules only to the specified local IP addresses", "key": "Apply section rules only to the specified local IP addresses", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10026" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10303" ] }, { "call": "Apply Strategy To", "key": "Apply Strategy To", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13309", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:291" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12549", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:302" ] }, { @@ -1098,7 +1230,7 @@ "call": "Applying fix", "key": "Applying fix", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16256", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15629", "src/tachyon/tabs/diagnostic/initController.ts:1181" ] }, @@ -1106,23 +1238,25 @@ "call": "Applying...", "key": "Applying...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16254", - "src/tachyon/tabs/diagnostic/initController.ts:1179" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14221", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15627", + "src/tachyon/tabs/diagnostic/initController.ts:1179", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:353" ] }, { "call": "Arguments", "key": "Arguments", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13882", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:920" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13098", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:931" ] }, { "call": "Ask Tachyon AI Assistant a question...", "key": "Ask Tachyon AI Assistant a question...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12889", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12149", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:60" ] }, @@ -1137,7 +1271,7 @@ "call": "At least one Admin Chat ID is required", "key": "At least one Admin Chat ID is required", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3040" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3064" ] }, { @@ -1158,19 +1292,19 @@ "call": "Auth Digest", "key": "Auth Digest", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9212" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9488" ] }, { "call": "Auto", "key": "Auto", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2449", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8316", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8714", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12072", - "src/tachyon/tabs/dashboard/initController.ts:923", - "src/tachyon/tabs/dashboard/initController.ts:1355", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2351", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7934", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8274", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11381", + "src/tachyon/tabs/dashboard/initController.ts:926", + "src/tachyon/tabs/dashboard/initController.ts:1358", "src/tachyon/tabs/dashboard/partials/renderSections.ts:452", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:35" ] @@ -1179,15 +1313,15 @@ "call": "Auto Modes (--auto)", "key": "Auto Modes (--auto)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13736", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:760" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12958", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:771" ] }, { "call": "Auto refresh", "key": "Auto refresh", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11656", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10967", "src/partials/modal/renderModal.ts:286" ] }, @@ -1195,53 +1329,53 @@ "call": "Auto update", "key": "Auto update", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3219" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3237" ] }, { "call": "Auto-apply best strategy", "key": "Auto-apply best strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13336", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:321" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12574", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:332" ] }, { "call": "Auto-apply failed", "key": "Auto-apply failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14374", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14379", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1456", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1461" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13600", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13605", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1518", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1523" ] }, { "call": "Auto-detected domains", "key": "Auto-detected domains", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2820" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2844" ] }, { "call": "Auto-detected Domains", "key": "Auto-detected Domains", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9850" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10126" ] }, { "call": "Auto-detects blocked domains from logs and adds them to the first section where they work via proxy.", "key": "Auto-detects blocked domains from logs and adds them to the first section where they work via proxy.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2778" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2802" ] }, { "call": "Auto-failover of proxy sections", "key": "Auto-failover of proxy sections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2206" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2230" ] }, { @@ -1255,36 +1389,43 @@ "call": "Auto-Heal Network Stack", "key": "Auto-Heal Network Stack", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16167", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15557", "src/tachyon/tabs/diagnostic/initController.ts:1094" ] }, + { + "call": "Auto-Tune & Benchmark DNS", + "key": "Auto-Tune & Benchmark DNS", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1338" + ] + }, { "call": "Auto-update Hosts Lists", "key": "Auto-update Hosts Lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8323" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8387" ] }, { "call": "Auto-update mode", "key": "Auto-update mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2065" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2089" ] }, { "call": "Automatic component update checks", "key": "Automatic component update checks", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2008" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2032" ] }, { "call": "Automatic component updates", "key": "Automatic component updates", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2054" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2078" ] }, { @@ -1301,64 +1442,71 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2591" ] }, + { + "call": "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration.", + "key": "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration.", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1334" + ] + }, { "call": "Automatically check installed components for new versions", "key": "Automatically check installed components for new versions", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2009" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2033" ] }, { "call": "Automatically download and install new versions of components", "key": "Automatically download and install new versions of components", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2055" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2079" ] }, { "call": "Automatically generate a Cloudflare WARP account and configure all AmneziaWG settings.", "key": "Automatically generate a Cloudflare WARP account and configure all AmneziaWG settings.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8356" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8439" ] }, { "call": "Automatically increase check intervals when healthy (to 5 min) and decrease on problems (to 120s).", "key": "Automatically increase check intervals when healthy (to 5 min) and decrease on problems (to 120s).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2737" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2761" ] }, { "call": "Automatically runs a diagnostic probe against the target service, queries the built-in DPI Knowledge Base, and synthesizes 3-5 custom bypass strategies tailored to your ISP.", "key": "Automatically runs a diagnostic probe against the target service, queries the built-in DPI Knowledge Base, and synthesizes 3-5 custom bypass strategies tailored to your ISP.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14039", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1082" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13242", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1093" ] }, { "call": "Automatically select the fastest node in the current level", "key": "Automatically select the fastest node in the current level", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8804", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8354", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3215", - "src/tachyon/tabs/dashboard/initController.ts:1458" + "src/tachyon/tabs/dashboard/initController.ts:1461" ] }, { "call": "Automatically update remote hosts lists on schedule", "key": "Automatically update remote hosts lists on schedule", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8324" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8388" ] }, { "call": "Available", "key": "Available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12148", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12350", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11451", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11641", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:125", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:346" ] @@ -1367,7 +1515,7 @@ "call": "Available actions", "key": "Available actions", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11739", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11044", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:58" ] }, @@ -1375,7 +1523,7 @@ "call": "Avg. latency", "key": "Avg. latency", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12352", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11643", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:348" ] }, @@ -1392,7 +1540,7 @@ "call": "Basic connectivity", "key": "Basic connectivity", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12090", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11398", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:58" ] }, @@ -1407,55 +1555,71 @@ "call": "Belarus (by)", "key": "Belarus (by)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9785" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10061" ] }, { "call": "Benchmark & Test", "key": "Benchmark & Test", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13127", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12370", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:92" ] }, + { + "call": "Benchmark completed successfully", + "key": "Benchmark completed successfully", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14184", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:311" + ] + }, { "call": "Benchmark History", "key": "Benchmark History", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14063", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1113" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13265", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1124" + ] + }, + { + "call": "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP.", + "key": "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP.", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14254", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:388" ] }, { "call": "Benchmark stopped", "key": "Benchmark stopped", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14460", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1550" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13684", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1614" ] }, { "call": "Benchmarking in progress...", "key": "Benchmarking in progress...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13363", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:352" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12598", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:363" ] }, { "call": "Best Strategy", "key": "Best Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14115", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1168" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13315", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1179" ] }, { "call": "BitTorrent / P2P", "key": "BitTorrent / P2P", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10078", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10097" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10355", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10374" ] }, { @@ -1519,7 +1683,7 @@ "call": "Blocked resources", "key": "Blocked resources", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12092", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11399", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:59" ] }, @@ -1541,7 +1705,7 @@ "call": "Blocks access to private/LAN IP addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, etc.) for selected users before applying routing mode.", "key": "Blocks access to private/LAN IP addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, etc.) for selected users before applying routing mode.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2746" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2764" ] }, { @@ -1555,30 +1719,32 @@ "call": "Bootstrap DNS", "key": "Bootstrap DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304", - "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:57" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9817", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14123", + "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:57", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:240" ] }, { "call": "Bootstrap DNS Servers", "key": "Bootstrap DNS Servers", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1386" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1403" ] }, { "call": "Bot Status", "key": "Bot Status", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2991" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3015" ] }, { "call": "Browser FakeIP check could not be completed", "key": "Browser FakeIP check could not be completed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10741", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10768", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10197", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:51", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:79" ] @@ -1587,7 +1753,7 @@ "call": "Browser is not using FakeIP", "key": "Browser is not using FakeIP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10771", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:82" ] }, @@ -1595,7 +1761,7 @@ "call": "Browser is using FakeIP correctly", "key": "Browser is using FakeIP correctly", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10770", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:81" ] }, @@ -1603,7 +1769,7 @@ "call": "Bug report downloaded", "key": "Bug report downloaded", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16796", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16113", "src/tachyon/tabs/diagnostic/initController.ts:1745" ] }, @@ -1611,7 +1777,7 @@ "call": "Built-in rule sets", "key": "Built-in rule sets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9871" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10147" ] }, { @@ -1625,26 +1791,26 @@ "call": "By schedule", "key": "By schedule", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2072" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2096" ] }, { "call": "ByeDPI", "key": "ByeDPI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2114" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2138" ] }, { "call": "ByeDPI (ciadpi)", "key": "ByeDPI (ciadpi)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13176", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14630", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14631", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12414", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:150", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1742", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1743" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1813", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1814" ] }, { @@ -1682,7 +1848,7 @@ "call": "ByeDPI package is installed", "key": "ByeDPI package is installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11111", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:71" ] }, @@ -1690,7 +1856,7 @@ "call": "ByeDPI package is not installed", "key": "ByeDPI package is not installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11112", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:72" ] }, @@ -1698,7 +1864,7 @@ "call": "ByeDPI provider binary is available", "key": "ByeDPI provider binary is available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11104", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10464", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:64" ] }, @@ -1706,7 +1872,7 @@ "call": "ByeDPI provider binary is not available", "key": "ByeDPI provider binary is not available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11105", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10464", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:65" ] }, @@ -1714,7 +1880,7 @@ "call": "ByeDPI sing-box outbound is configured", "key": "ByeDPI sing-box outbound is configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11147", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10484", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:107" ] }, @@ -1722,7 +1888,7 @@ "call": "ByeDPI sing-box outbound is not configured", "key": "ByeDPI sing-box outbound is not configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11148", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10484", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:108" ] }, @@ -1730,7 +1896,7 @@ "call": "ByeDPI Strategy", "key": "ByeDPI Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7505" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7511" ] }, { @@ -1744,43 +1910,43 @@ "call": "Bypasses UDP traffic for selected game consoles (PS5/Xbox) to achieve NAT Type 1 / 2 (Full Cone NAT) for P2P matchmaking, while keeping TCP (PSN/Auth) routed through the proxy.", "key": "Bypasses UDP traffic for selected game consoles (PS5/Xbox) to achieve NAT Type 1 / 2 (Full Cone NAT) for P2P matchmaking, while keeping TCP (PSN/Auth) routed through the proxy.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1878" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1902" ] }, { "call": "CA Certificate", "key": "CA Certificate", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9223" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9499" ] }, { "call": "Cache all built-in lists and databases even if they are not currently selected in any section. Recommended if you have plenty of storage space or USB drive.", "key": "Cache all built-in lists and databases even if they are not currently selected in any section. Recommended if you have plenty of storage space or USB drive.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1996" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2020" ] }, { "call": "Cache File Path", "key": "Cache File Path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2245" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2269" ] }, { "call": "Cache file path cannot be empty", "key": "Cache file path cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2259" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2283" ] }, { "call": "Cancel", "key": "Cancel", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16688", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7970", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16010", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7976", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:475", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:658", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:709", @@ -1792,14 +1958,14 @@ "call": "Cannot receive checks result", "key": "Cannot receive checks result", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10277", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10354", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10556", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10619", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10826", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10942", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11069", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14790", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9797", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9861", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10042", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10105", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10267", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10351", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10439", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14363", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:26", "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:27", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:172", @@ -1814,7 +1980,7 @@ "call": "Cannot save server", "key": "Cannot save server", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2338" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2356" ] }, { @@ -1828,28 +1994,28 @@ "call": "Cascade connection", "key": "Cascade connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9510" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9786" ] }, { "call": "Certificate path", "key": "Certificate path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2838" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2856" ] }, { "call": "Certificate pin is unavailable. Apply or restart the server to generate the default certificate, then open this dialog again.", "key": "Certificate pin is unavailable. Apply or restart the server to generate the default certificate, then open this dialog again.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1659" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1677" ] }, { "call": "Check again", "key": "Check again", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12813", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12076", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:865" ] }, @@ -1857,7 +2023,7 @@ "call": "Check all", "key": "Check all", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12757", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12026", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:793" ] }, @@ -1865,18 +2031,18 @@ "call": "Check completed!", "key": "Check completed!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19981", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20535", - "src/tachyon/tabs/updates/initController.ts:540", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:321" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19749", + "src/tachyon/tabs/updates/initController.ts:556", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:326" ] }, { "call": "Check Connection", "key": "Check Connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2433", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2891", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2342", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2711", "src/tachyon/tabs/dashboard/partials/renderSections.ts:434", "src/tachyon/tabs/dashboard/partials/renderSections.ts:906" ] @@ -1885,8 +2051,8 @@ "call": "Check domain", "key": "Check domain", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12628", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12744", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11901", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12014", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:652", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:778" ] @@ -1895,17 +2061,17 @@ "call": "Check interval", "key": "Check interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8791", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8341", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2697", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3166", - "src/tachyon/tabs/dashboard/initController.ts:1445" + "src/tachyon/tabs/dashboard/initController.ts:1448" ] }, { "call": "Check mode:", "key": "Check mode:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12284", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11580", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:276" ] }, @@ -1913,7 +2079,7 @@ "call": "Check Services", "key": "Check Services", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11853", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11158", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:172" ] }, @@ -1928,25 +2094,25 @@ "call": "Check update", "key": "Check update", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20900", - "src/tachyon/tabs/updates/initController.ts:975" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20087", + "src/tachyon/tabs/updates/initController.ts:997" ] }, { "call": "Check URL", "key": "Check URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8789", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8339", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2723", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3153", - "src/tachyon/tabs/dashboard/initController.ts:1443" + "src/tachyon/tabs/dashboard/initController.ts:1446" ] }, { "call": "Check YouTube", "key": "Check YouTube", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12987", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12241", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:170" ] }, @@ -1954,32 +2120,32 @@ "call": "Checking Connection...", "key": "Checking Connection...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8931", - "src/tachyon/tabs/dashboard/initController.ts:1624" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8470", + "src/tachyon/tabs/dashboard/initController.ts:1627" ] }, { "call": "Checking for updates...", "key": "Checking for updates...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19806", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:112" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19072", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:117" ] }, { "call": "Checking, please wait", "key": "Checking, please wait", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10267", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10344", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10546", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10607", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10708", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10816", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10932", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11059", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14778", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17063", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9787", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9851", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10032", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10093", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10176", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10257", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10341", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10429", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14351", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16370", "src/tachyon/tabs/diagnostic/initController.ts:2051", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:14", "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:15", @@ -1996,10 +2162,10 @@ "call": "Checking...", "key": "Checking...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2329", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2427", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2809", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2881", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2337", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2704", "src/tachyon/tabs/dashboard/partials/renderSections.ts:328", "src/tachyon/tabs/dashboard/partials/renderSections.ts:428", "src/tachyon/tabs/dashboard/partials/renderSections.ts:822", @@ -2011,14 +2177,14 @@ "key": "Checking…", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:300", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2883" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2907" ] }, { "call": "checks", "key": "checks", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6050", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5734", "src/tachyon/tabs/diagnostic/helpers/getCheckTitle.ts:2" ] }, @@ -2026,8 +2192,8 @@ "call": "Checks failed", "key": "Checks failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10219", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10794", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9757", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10235", "src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:10", "src/tachyon/tabs/diagnostic/helpers/getMeta.ts:26" ] @@ -2036,9 +2202,9 @@ "call": "Checks passed", "key": "Checks passed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10208", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10733", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10805", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9746", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10192", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10246", "src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:23", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:43", "src/tachyon/tabs/diagnostic/helpers/getMeta.ts:13" @@ -2048,7 +2214,7 @@ "call": "Checks passed with manual DHCP", "key": "Checks passed with manual DHCP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10242", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9769", "src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:27" ] }, @@ -2063,7 +2229,7 @@ "call": "China (cn)", "key": "China (cn)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9782" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10058" ] }, { @@ -2077,14 +2243,14 @@ "call": "Choose Hosts File...", "key": "Choose Hosts File...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7636" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7642" ] }, { "call": "Choose whether to install updates immediately when detected or at a scheduled time (e.g. maintenance window)", "key": "Choose whether to install updates immediately when detected or at a scheduled time (e.g. maintenance window)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2066" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2090" ] }, { @@ -2098,7 +2264,7 @@ "call": "Choose whether to route traffic to all destinations except selected countries (Exclude) or only to selected countries (Include).", "key": "Choose whether to route traffic to all destinations except selected countries (Exclude) or only to selected countries (Include).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9741" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10017" ] }, { @@ -2112,7 +2278,7 @@ "call": "CIDR must be between 0 and 32 for IPv4 or 0 and 128 for IPv6", "key": "CIDR must be between 0 and 32 for IPv4 or 0 and 128 for IPv6", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:250", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:227", "src/validators/validateSubnet.ts:35" ] }, @@ -2120,28 +2286,28 @@ "call": "Cipher", "key": "Cipher", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9201" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9477" ] }, { "call": "Clean Comments", "key": "Clean Comments", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8099" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8105" ] }, { "call": "Clear", "key": "Clear", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10657" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10972" ] }, { "call": "Clear DNS cache", "key": "Clear DNS cache", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16160", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15550", "src/tachyon/tabs/diagnostic/initController.ts:1087" ] }, @@ -2163,116 +2329,118 @@ "call": "Client Address", "key": "Client Address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3375" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3393" ] }, { "call": "Client Certificate", "key": "Client Certificate", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9235" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9511" ] }, { "call": "Client DNS", "key": "Client DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3387" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3405" ] }, { "call": "Client fingerprint", "key": "Client fingerprint", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2936" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2954" ] }, { "call": "Client Key", "key": "Client Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9247" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9523" ] }, { "call": "Client link", "key": "Client link", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1731" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1749" ] }, { "call": "Client link is not available yet", "key": "Client link is not available yet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1639" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1657" ] }, { "call": "Client link QR code", "key": "Client link QR code", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1672" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1690" ] }, { "call": "Client Private Key", "key": "Client Private Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3427" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3445" ] }, { "call": "Client Public Key", "key": "Client Public Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3434" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3452" ] }, { "call": "Client VPN IP address (e.g. 10.0.0.2/32)", "key": "Client VPN IP address (e.g. 10.0.0.2/32)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3376" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3394" ] }, { "call": "Close", "key": "Close", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8647", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11635", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12198", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12818", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13045", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16625", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18277", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18324", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20077", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20119", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8212", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10946", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11499", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12081", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12291", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12764", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14162", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15954", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17527", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17570", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19324", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19359", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3721", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10964", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1806", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11279", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1824", "src/partials/modal/renderModal.ts:263", - "src/tachyon/tabs/dashboard/initController.ts:1267", + "src/tachyon/tabs/dashboard/initController.ts:1270", "src/tachyon/tabs/diagnostic/initController.ts:1553", "src/tachyon/tabs/monitoring/initController.ts:893", "src/tachyon/tabs/monitoring/initController.ts:948", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:227", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:286", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:178", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:871", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:541", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:442", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:488" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:552", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:430", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:476" ] }, { "call": "Close all connections", "key": "Close all connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17567", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17568", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16849", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16850", "src/tachyon/tabs/monitoring/render.ts:68", "src/tachyon/tabs/monitoring/render.ts:69" ] @@ -2281,8 +2449,8 @@ "call": "Close connection", "key": "Close connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18245", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18246", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17496", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17497", "src/tachyon/tabs/monitoring/initController.ts:860", "src/tachyon/tabs/monitoring/initController.ts:861" ] @@ -2291,8 +2459,8 @@ "call": "Closed", "key": "Closed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17528", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18138", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16812", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17394", "src/tachyon/tabs/monitoring/initController.ts:729", "src/tachyon/tabs/monitoring/render.ts:29" ] @@ -2301,57 +2469,65 @@ "call": "Cloudflare account / device ID", "key": "Cloudflare account / device ID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9140" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9416" ] }, { "call": "Cloudflare API access token", "key": "Cloudflare API access token", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9152" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9428" ] }, { "call": "Cloudflare WARP account / device ID", "key": "Cloudflare WARP account / device ID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8874" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9150" ] }, { "call": "Cloudflare WARP API access token", "key": "Cloudflare WARP API access token", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8886" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9162" ] }, { "call": "Comma-separated list of Telegram user IDs authorized to control the bot.", "key": "Comma-separated list of Telegram user IDs authorized to control the bot.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3030" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3054" ] }, { "call": "Command-line arguments string...", "key": "Command-line arguments string...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13814", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:846" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13034", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:857" ] }, { "call": "Community Lists", "key": "Community Lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10931" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11246" + ] + }, + { + "call": "Component action timed out", + "key": "Component action timed out", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3932", + "src/tachyon/methods/shell/index.ts:928" ] }, { "call": "Component update available", "key": "Component update available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7079", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6769", "src/tachyon/services/core.service.ts:43" ] }, @@ -2359,7 +2535,7 @@ "call": "Component update check interval", "key": "Component update check interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2018" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2042" ] }, { @@ -2382,7 +2558,7 @@ "call": "compressed", "key": "compressed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6687", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6352", "src/tachyon/helpers/singBoxVariant.ts:56" ] }, @@ -2390,36 +2566,44 @@ "call": "Concurrency", "key": "Concurrency", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3171" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3189" ] }, { "call": "Conditions", "key": "Conditions", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7288" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7294" ] }, { "call": "confidence", "key": "confidence", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14450", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1539" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13672", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1601" ] }, { "call": "Config File Path", "key": "Config File Path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2231" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2255" ] }, { "call": "Config Snapshots", "key": "Config Snapshots", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2419" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2443" + ] + }, + { + "call": "Configuration applied", + "key": "Configuration applied", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4489", + "src/tachyon/methods/shell/index.ts:1660" ] }, { @@ -2440,10 +2624,10 @@ "call": "Conflict", "key": "Conflict", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2614", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5869", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14864", - "src/tachyon/methods/custom/getDashboardSections.ts:1651", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14429", + "src/tachyon/methods/custom/getDashboardSections.ts:1663", "src/tachyon/tabs/dashboard/partials/renderSections.ts:620", "src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:141" ] @@ -2452,15 +2636,15 @@ "call": "Connect through", "key": "Connect through", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9548" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9824" ] }, { "call": "Connected", "key": "Connected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2335", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2815", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649", "src/tachyon/tabs/dashboard/partials/renderSections.ts:334", "src/tachyon/tabs/dashboard/partials/renderSections.ts:828" ] @@ -2469,7 +2653,7 @@ "call": "Connected Devices", "key": "Connected Devices", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16350", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15710", "src/tachyon/tabs/diagnostic/initController.ts:1276" ] }, @@ -2477,14 +2661,14 @@ "call": "Connection URL", "key": "Connection URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9271" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9547" ] }, { "call": "Connections are unavailable", "key": "Connections are unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18379", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17622", "src/tachyon/tabs/monitoring/initController.ts:1012" ] }, @@ -2492,7 +2676,7 @@ "call": "Connectivity probe failed", "key": "Connectivity probe failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14893", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14458", "src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:174" ] }, @@ -2500,8 +2684,8 @@ "call": "Consulting DPI Knowledge Base & AI...", "key": "Consulting DPI Knowledge Base & AI...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14551", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1652" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13775", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1717" ] }, { @@ -2511,19 +2695,27 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:1263" ] }, + { + "call": "Content Padding Addition", + "key": "Content Padding Addition", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9123", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3631" + ] + }, { "call": "Cookie packet junk size (S3)", "key": "Cookie packet junk size (S3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3482" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3535" ] }, { "call": "Copied", "key": "Copied", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3241", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1626", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3056", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1644", "src/helpers/copyToClipboard.ts:10" ] }, @@ -2531,8 +2723,8 @@ "call": "Copy", "key": "Copy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11627", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1756", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10939", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1774", "src/partials/modal/renderModal.ts:258" ] }, @@ -2540,18 +2732,18 @@ "call": "Copy log", "key": "Copy log", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19848", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:160" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19114", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:165" ] }, { "call": "Copy proxy link", "key": "Copy proxy link", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2494", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2495", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8572", - "src/tachyon/tabs/dashboard/initController.ts:1192", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2388", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2389", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8144", + "src/tachyon/tabs/dashboard/initController.ts:1195", "src/tachyon/tabs/dashboard/partials/renderSections.ts:498", "src/tachyon/tabs/dashboard/partials/renderSections.ts:499" ] @@ -2560,7 +2752,7 @@ "call": "Copy Support Report", "key": "Copy Support Report", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16581", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15916", "src/tachyon/tabs/diagnostic/initController.ts:1511" ] }, @@ -2575,7 +2767,7 @@ "call": "Could not compare FakeIP and control public IPs", "key": "Could not compare FakeIP and control public IPs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10778", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:89" ] }, @@ -2583,14 +2775,14 @@ "call": "Country code (e.g. ru, us, de)", "key": "Country code (e.g. ru, us, de)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9788" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10064" ] }, { "call": "Current Diagnosis", "key": "Current Diagnosis", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16522", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15867", "src/tachyon/tabs/diagnostic/initController.ts:1452" ] }, @@ -2598,7 +2790,7 @@ "call": "Current section cannot be used as its own transit section", "key": "Current section cannot be used as its own transit section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9565" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9841" ] }, { @@ -2612,7 +2804,7 @@ "call": "Currently unavailable", "key": "Currently unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2926", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2743", "src/tachyon/tabs/dashboard/partials/renderWidget.ts:22" ] }, @@ -2620,7 +2812,7 @@ "call": "Custom", "key": "Custom", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12095", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11401", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:61" ] }, @@ -2628,7 +2820,7 @@ "call": "Custom API Endpoint URL", "key": "Custom API Endpoint URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2526" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2550" ] }, { @@ -2642,14 +2834,14 @@ "call": "Custom DNS Records (Hosts)", "key": "Custom DNS Records (Hosts)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7982" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7988" ] }, { "call": "Custom domains", "key": "Custom domains", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12094", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11400", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:60" ] }, @@ -2657,57 +2849,57 @@ "call": "Custom header for cookie packet", "key": "Custom header for cookie packet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3507" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3560" ] }, { "call": "Custom header for data packet", "key": "Custom header for data packet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3513" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3566" ] }, { "call": "Custom header for handshake initiation", "key": "Custom header for handshake initiation", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3495" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3548" ] }, { "call": "Custom header for handshake response", "key": "Custom header for handshake response", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3501" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3554" ] }, { "call": "Custom OpenAI-Compatible API", "key": "Custom OpenAI-Compatible API", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2481" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2505" ] }, { "call": "Custom OpenAI-compatible API endpoint URL (e.g. http://192.168.1.100:11434/v1/chat/completions)", "key": "Custom OpenAI-compatible API endpoint URL (e.g. http://192.168.1.100:11434/v1/chat/completions)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2527" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2551" ] }, { "call": "Custom outbound configurations in JSON format", "key": "Custom outbound configurations in JSON format", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9386" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9662" ] }, { "call": "Custom strategy added!", "key": "Custom strategy added!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13838", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:874" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13057", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:885" ] }, { @@ -2752,7 +2944,7 @@ "call": "Dashboard currently unavailable", "key": "Dashboard currently unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2085", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2052", "src/tachyon/tabs/dashboard/partials/renderSections.ts:50" ] }, @@ -2760,8 +2952,8 @@ "call": "Date", "key": "Date", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14111", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1164" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13311", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1175" ] }, { @@ -2775,22 +2967,22 @@ "call": "Default (auto)", "key": "Default (auto)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3158" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3182" ] }, { "call": "Default (Direct WAN / Default mixed proxy)", "key": "Default (Direct WAN / Default mixed proxy)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2330", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2342" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2354", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2366" ] }, { "call": "Default address for checking server availability and latency. URLTest uses its own address.", "key": "Default address for checking server availability and latency. URLTest uses its own address.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2136" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2160" ] }, { @@ -2804,25 +2996,25 @@ "call": "Delay in milliseconds before reloading Tachyon after interface UP", "key": "Delay in milliseconds before reloading Tachyon after interface UP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1782" ] }, { "call": "Delay value cannot be empty", "key": "Delay value cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1765" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1789" ] }, { "call": "Delete", "key": "Delete", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13948", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1831", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13159", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1849", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:721", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:729", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:986" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:997" ] }, { @@ -2852,14 +3044,14 @@ "call": "Detects and drops STUN/TURN packets in nftables to prevent real IP leaks via WebRTC.", "key": "Detects and drops STUN/TURN packets in nftables to prevent real IP leaks via WebRTC.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2301" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2325" ] }, { "call": "detour must be a non-empty string", "key": "detour must be a non-empty string", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:359", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:321", "src/validators/validateOutboundJson.ts:115" ] }, @@ -2875,7 +3067,7 @@ "call": "Device filter", "key": "Device filter", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10025" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10302" ] }, { @@ -2889,7 +3081,7 @@ "call": "Device updated", "key": "Device updated", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16433", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15785", "src/tachyon/tabs/diagnostic/initController.ts:1359" ] }, @@ -2904,7 +3096,7 @@ "call": "DHCP has DNS server", "key": "DHCP has DNS server", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10251", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9771", "src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:37" ] }, @@ -2912,7 +3104,7 @@ "call": "DHCP is managed manually", "key": "DHCP is managed manually", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10250", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9771", "src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:36" ] }, @@ -2929,9 +3121,9 @@ "call": "Direct", "key": "Direct", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12063", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12069", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2723", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11372", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11378", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2741", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:25", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:32" ] @@ -2940,14 +3132,14 @@ "call": "Direct (Default)", "key": "Direct (Default)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8904" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9180" ] }, { "call": "Direct Bypass", "key": "Direct Bypass", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16420", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15773", "src/tachyon/tabs/diagnostic/initController.ts:1346" ] }, @@ -2962,7 +3154,7 @@ "call": "Direct WAN", "key": "Direct WAN", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16411", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15767", "src/tachyon/tabs/diagnostic/initController.ts:1337" ] }, @@ -2970,7 +3162,7 @@ "call": "Disable autostart", "key": "Disable autostart", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11775", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11080", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:94" ] }, @@ -2978,14 +3170,14 @@ "call": "Disable QUIC", "key": "Disable QUIC", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1809" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1833" ] }, { "call": "Disable the QUIC protocol to improve compatibility or fix issues with video streaming", "key": "Disable the QUIC protocol to improve compatibility or fix issues with video streaming", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1810" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1834" ] }, { @@ -3009,8 +3201,8 @@ "call": "Disorder Values (-d)", "key": "Disorder Values (-d)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13724", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:748" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12946", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:759" ] }, { @@ -3025,36 +3217,43 @@ "call": "DNS", "key": "DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10081", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10100" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10358", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10377" + ] + }, + { + "call": "DNS Auto-Tuner & Benchmark", + "key": "DNS Auto-Tuner & Benchmark", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1333" ] }, { "call": "DNS Check Interval", "key": "DNS Check Interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1483" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1507" ] }, { "call": "DNS Check Interval (s)", "key": "DNS Check Interval (s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2629" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2653" ] }, { "call": "DNS Failures Before Switching", "key": "DNS Failures Before Switching", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1515" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1539" ] }, { "call": "DNS on router", "key": "DNS on router", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10322", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9829", "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:75" ] }, @@ -3063,7 +3262,7 @@ "key": "DNS over HTTPS (DoH)", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1875", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1339" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1356" ] }, { @@ -3071,7 +3270,7 @@ "key": "DNS over QUIC (DoQ)", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1877", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1341" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1358" ] }, { @@ -3079,7 +3278,7 @@ "key": "DNS over TLS (DoT)", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1876", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1340" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1357" ] }, { @@ -3087,14 +3286,22 @@ "key": "DNS protocol", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2646", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7358" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7364" + ] + }, + { + "call": "DNS Protocol", + "key": "DNS Protocol", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14097", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:213" ] }, { "call": "DNS Protocol Type", "key": "DNS Protocol Type", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1336" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1353" ] }, { @@ -3102,22 +3309,22 @@ "key": "DNS protocol used by the resolver", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2647", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7359" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7365" ] }, { "call": "DNS requests through section", "key": "DNS requests through section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7429", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1613" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7435", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1637" ] }, { "call": "DNS Rewrite TTL", "key": "DNS Rewrite TTL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1555" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1579" ] }, { @@ -3125,14 +3332,14 @@ "key": "DNS server", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2656", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7372" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7378" ] }, { "call": "DNS server address cannot be empty", "key": "DNS server address cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:142", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:131", "src/validators/validateDns.ts:8" ] }, @@ -3140,7 +3347,7 @@ "call": "DNS server pushed to the client configuration", "key": "DNS server pushed to the client configuration", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3388" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3406" ] }, { @@ -3148,21 +3355,21 @@ "key": "DNS server used by the resolver", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2657", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7373" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7379" ] }, { "call": "DNS server used to obtain IP addresses for upstream DNS and proxies. If multiple servers are selected, a timeout switches to a backup.", "key": "DNS server used to obtain IP addresses for upstream DNS and proxies. If multiple servers are selected, a timeout switches to a backup.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1387" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1404" ] }, { "call": "DNS Servers", "key": "DNS Servers", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1368" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1385" ] }, { @@ -3176,49 +3383,49 @@ "call": "DNS Strategy", "key": "DNS Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1591" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1615" ] }, { "call": "DNS Successful Checks Before Recovery", "key": "DNS Successful Checks Before Recovery", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1535" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1559" ] }, { "call": "DNS through proxy", "key": "DNS through proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1604" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1628" ] }, { "call": "DNS through section", "key": "DNS through section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7417" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7423" ] }, { "call": "DNS Turbo Cache", "key": "DNS Turbo Cache", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1577" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1601" ] }, { "call": "DNS Unavailability Timeout", "key": "DNS Unavailability Timeout", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1503" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1527" ] }, { "call": "Do not panic, everything can be fixed, just...", "key": "Do not panic, everything can be fixed, just...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14733", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14308", "src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:26" ] }, @@ -3268,9 +3475,9 @@ "call": "Doctor failed", "key": "Doctor failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15841", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15878", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15886", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15338", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15358", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15366", "src/tachyon/tabs/diagnostic/initController.ts:731", "src/tachyon/tabs/diagnostic/initController.ts:773", "src/tachyon/tabs/diagnostic/initController.ts:781" @@ -3280,9 +3487,9 @@ "call": "Doctor repair", "key": "Doctor repair", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15853", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15865", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15866", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349", "src/tachyon/tabs/diagnostic/initController.ts:747", "src/tachyon/tabs/diagnostic/initController.ts:759", "src/tachyon/tabs/diagnostic/initController.ts:760" @@ -3292,7 +3499,7 @@ "call": "Does not resolve", "key": "Does not resolve", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10455", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9950", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:54" ] }, @@ -3300,14 +3507,14 @@ "call": "Domain and IP lists", "key": "Domain and IP lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9978" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10255" ] }, { "call": "Domain lists", "key": "Domain lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10002" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10279" ] }, { @@ -3321,22 +3528,22 @@ "call": "Domain test sections", "key": "Domain test sections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2790" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2814" ] }, { "call": "Domains", "key": "Domains", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9821", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10932" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10097", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11247" ] }, { "call": "Domains automatically detected by Smart Detect or added via Telegram bot. You can manually edit or remove them here.", "key": "Domains automatically detected by Smart Detect or added via Telegram bot. You can manually edit or remove them here.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9851" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10127" ] }, { @@ -3350,31 +3557,31 @@ "call": "Done", "key": "Done", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8724" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8938" ] }, { "call": "Dont Touch My DHCP!", "key": "Dont Touch My DHCP!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2196" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2220" ] }, { "call": "Downlink", "key": "Downlink", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9125", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9137", - "src/tachyon/tabs/dashboard/initController.ts:1851", - "src/tachyon/tabs/dashboard/initController.ts:1864" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8658", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8670", + "src/tachyon/tabs/dashboard/initController.ts:1858", + "src/tachyon/tabs/dashboard/initController.ts:1871" ] }, { "call": "Download", "key": "Download", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11622", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10934", "src/partials/modal/renderModal.ts:253" ] }, @@ -3382,49 +3589,49 @@ "call": "Download .conf", "key": "Download .conf", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1780" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1798" ] }, { "call": "Download component packages via the selected section", "key": "Download component packages via the selected section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2175" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2199" ] }, { "call": "Download components through", "key": "Download components through", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2183" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2207" ] }, { "call": "Download components through a section", "key": "Download components through a section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2174" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2198" ] }, { "call": "Download lists through", "key": "Download lists through", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2161" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2185" ] }, { "call": "Download lists through a section", "key": "Download lists through a section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2152" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2176" ] }, { "call": "Download remote lists and rule sets via the selected section", "key": "Download remote lists and rule sets via the selected section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2153" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2177" ] }, { @@ -3452,9 +3659,9 @@ "call": "Downloaded", "key": "Downloaded", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18270", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18321", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18475", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17520", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17567", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17706", "src/tachyon/tabs/monitoring/initController.ts:886", "src/tachyon/tabs/monitoring/initController.ts:945", "src/tachyon/tabs/monitoring/initController.ts:1134" @@ -3464,22 +3671,22 @@ "call": "Downloading and applying rule sets and lists...", "key": "Downloading and applying rule sets and lists...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1968" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1992" ] }, { "call": "DPI Detected", "key": "DPI Detected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14449", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1538" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13671", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1600" ] }, { "call": "DPI Engine", "key": "DPI Engine", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13190", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12428", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:166" ] }, @@ -3487,8 +3694,8 @@ "call": "DPI Type", "key": "DPI Type", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14114", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1167" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13314", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1178" ] }, { @@ -3502,15 +3709,15 @@ "call": "DSCP marks (QoS)", "key": "DSCP marks (QoS)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10062", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10941" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10339", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11256" ] }, { "call": "Duplicate JSON outbound tag", "key": "Duplicate JSON outbound tag", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:325", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:293", "src/validators/validateOutboundJson.ts:75" ] }, @@ -3525,14 +3732,14 @@ "call": "e.g. AES-256-GCM — leave empty for default", "key": "e.g. AES-256-GCM — leave empty for default", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9202" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9478" ] }, { "call": "e.g. google.com, 1.1.1.1, 443", "key": "e.g. google.com, 1.1.1.1, 443", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10655" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10970" ] }, { @@ -3560,21 +3767,21 @@ "call": "e.g. SHA256 — leave empty for default", "key": "e.g. SHA256 — leave empty for default", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9213" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9489" ] }, { "call": "Each entry must be \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp), e.g. tcp:6881,udp:6881-6889", "key": "Each entry must be \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp), e.g. tcp:6881,udp:6881-6889", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1846" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1870" ] }, { "call": "Edit", "key": "Edit", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1826", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1844", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:71" ] }, @@ -3582,7 +3789,7 @@ "call": "Eligible components for auto-update", "key": "Eligible components for auto-update", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2104" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2128" ] }, { @@ -3591,50 +3798,50 @@ "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:282", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:691", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7290", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2637" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7296", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2655" ] }, { "call": "Enable Adaptive Intervals", "key": "Enable Adaptive Intervals", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2736" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2760" ] }, { "call": "Enable AI Doctor (ChatGPT / LLM Analysis)", "key": "Enable AI Doctor (ChatGPT / LLM Analysis)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2459" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2483" ] }, { "call": "Enable Anomaly Detection", "key": "Enable Anomaly Detection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2750" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2774" ] }, { "call": "Enable authentication", "key": "Enable authentication", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3023" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3041" ] }, { "call": "Enable automatic updates for remote lists and rule sets", "key": "Enable automatic updates for remote lists and rule sets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1911" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1935" ] }, { "call": "Enable autostart", "key": "Enable autostart", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11785", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11090", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:104" ] }, @@ -3649,14 +3856,14 @@ "call": "Enable Config Validation", "key": "Enable Config Validation", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2694" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2718" ] }, { "call": "Enable Direct WAN Bypass", "key": "Enable Direct WAN Bypass", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16168", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15558", "src/tachyon/tabs/diagnostic/initController.ts:1095" ] }, @@ -3664,140 +3871,140 @@ "call": "Enable DNS Continuous Check", "key": "Enable DNS Continuous Check", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2616" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2640" ] }, { "call": "Enable Firewall Reload Dedup", "key": "Enable Firewall Reload Dedup", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2641" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2665" ] }, { "call": "Enable Graceful Degradation", "key": "Enable Graceful Degradation", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2708" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2732" ] }, { "call": "Enable Health Metrics", "key": "Enable Health Metrics", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2655" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2679" ] }, { "call": "Enable list updates", "key": "Enable list updates", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1910" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1934" ] }, { "call": "Enable Mixed Proxy", "key": "Enable Mixed Proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9586" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9862" ] }, { "call": "Enable Mixed Proxy Authentication", "key": "Enable Mixed Proxy Authentication", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9627" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9903" ] }, { "call": "Enable Output Network Interface", "key": "Enable Output Network Interface", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1660" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1684" ] }, { "call": "Enable Proxy Health Monitor", "key": "Enable Proxy Health Monitor", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2570" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2594" ] }, { "call": "Enable RAG (Knowledge Base Retrieval)", "key": "Enable RAG (Knowledge Base Retrieval)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2542" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2566" ] }, { "call": "Enable Smart Cooldowns", "key": "Enable Smart Cooldowns", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2680" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2704" ] }, { "call": "Enable Smart Detect", "key": "Enable Smart Detect", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2777" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2801" ] }, { "call": "Enable Telegram Bot", "key": "Enable Telegram Bot", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3001" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3025" ] }, { "call": "Enable WAN DNS Fallback for Bootstrap DNS", "key": "Enable WAN DNS Fallback for Bootstrap DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1456" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1480" ] }, { "call": "Enable WAN DNS Fallback for Main DNS", "key": "Enable WAN DNS Fallback for Main DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1445" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1469" ] }, { "call": "Enable Watchdog", "key": "Enable Watchdog", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2433" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2457" ] }, { "call": "Enable YACD", "key": "Enable YACD", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1774" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1798" ] }, { "call": "Enable YACD WAN Access", "key": "Enable YACD WAN Access", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1784" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1808" ] }, { "call": "Enables the background daemon that polls Telegram for commands and sends notifications.", "key": "Enables the background daemon that polls Telegram for commands and sends notifications.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3002" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3026" ] }, { "call": "Enables the background watchdog process to monitor services and auto-recover on failures.", "key": "Enables the background watchdog process to monitor services and auto-recover on failures.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2434" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2458" ] }, { @@ -3825,19 +4032,19 @@ "call": "Engine", "key": "Engine", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13481", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13881", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14112", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:482", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:919", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1165" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12710", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13097", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13312", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:493", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:930", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1176" ] }, { "call": "Enter a complete sing-box inbound object", "key": "Enter a complete sing-box inbound object", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2769" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2787" ] }, { @@ -3861,7 +4068,7 @@ "call": "Enter a domain or IP to check (e.g. example.com)...", "key": "Enter a domain or IP to check (e.g. example.com)...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12621", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11894", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:644" ] }, @@ -3877,7 +4084,7 @@ "call": "Enter a valid time in HH:MM format (00:00 to 23:59)", "key": "Enter a valid time in HH:MM format (00:00 to 23:59)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2097" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2121" ] }, { @@ -3899,7 +4106,7 @@ "call": "Enter the API token obtained from @BotFather.", "key": "Enter the API token obtained from @BotFather.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3013" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3037" ] }, { @@ -3913,45 +4120,45 @@ "call": "Enter the subscription URL", "key": "Enter the subscription URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9297" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9573" ] }, { "call": "Error", "key": "Error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8447", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8450", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8461", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8464", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8531", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8534", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8541", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8544", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8655", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8669", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8672" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8547", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8550", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8561", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8564", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8641", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8644", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8651", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8654", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8768", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8782", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8785" ] }, { "call": "Error running generator:", "key": "Error running generator:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8545" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8655" ] }, { "call": "Error running trace:", "key": "Error running trace:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10822" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11137" ] }, { "call": "Error updating lists:", "key": "Error updating lists:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1985" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2009" ] }, { @@ -3961,6 +4168,14 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:251" ] }, + { + "call": "EXCELLENT", + "key": "EXCELLENT", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13974", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:74" + ] + }, { "call": "Exclude by proxy parameters", "key": "Exclude by proxy parameters", @@ -3992,7 +4207,7 @@ "call": "Exclude selected countries", "key": "Exclude selected countries", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9745" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10021" ] }, { @@ -4029,7 +4244,7 @@ "call": "Exclude traffic types", "key": "Exclude traffic types", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10073" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10350" ] }, { @@ -4043,7 +4258,7 @@ "call": "Excluded devices", "key": "Excluded devices", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10045" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10322" ] }, { @@ -4057,7 +4272,7 @@ "call": "Expires", "key": "Expires", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2158", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2117", "src/tachyon/tabs/dashboard/partials/renderSections.ts:137" ] }, @@ -4065,7 +4280,15 @@ "call": "Expose this section as a local HTTP+SOCKS proxy", "key": "Expose this section as a local HTTP+SOCKS proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9587" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9863" + ] + }, + { + "call": "extended", + "key": "extended", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6356", + "src/tachyon/helpers/singBoxVariant.ts:60" ] }, { @@ -4089,11 +4312,35 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:6139" ] }, + { + "call": "FAILED", + "key": "FAILED", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13986", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:86" + ] + }, + { + "call": "Failed to apply DNS configuration", + "key": "Failed to apply DNS configuration", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4483", + "src/tachyon/methods/shell/index.ts:1654" + ] + }, + { + "call": "Failed to apply DNS settings", + "key": "Failed to apply DNS settings", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14241", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:374" + ] + }, { "call": "Failed to apply fix", "key": "Failed to apply fix", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16277", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15645", "src/tachyon/tabs/diagnostic/initController.ts:1202" ] }, @@ -4101,34 +4348,34 @@ "call": "Failed to apply strategy", "key": "Failed to apply strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4385", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14604", - "src/tachyon/methods/shell/index.ts:1159", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1713" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4198", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13828", + "src/tachyon/methods/shell/index.ts:1255", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1778" ] }, { "call": "Failed to auto-apply strategy", "key": "Failed to auto-apply strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4564", - "src/tachyon/methods/shell/index.ts:1411" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4375", + "src/tachyon/methods/shell/index.ts:1507" ] }, { "call": "Failed to clear fuzzer history", "key": "Failed to clear fuzzer history", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4600", - "src/tachyon/methods/shell/index.ts:1456" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4413", + "src/tachyon/methods/shell/index.ts:1552" ] }, { "call": "Failed to close connection", "key": "Failed to close connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18677", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18691", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17895", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17909", "src/tachyon/tabs/monitoring/initController.ts:1400", "src/tachyon/tabs/monitoring/initController.ts:1415" ] @@ -4137,8 +4384,8 @@ "call": "Failed to close connections", "key": "Failed to close connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18706", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18718", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17924", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17936", "src/tachyon/tabs/monitoring/initController.ts:1434", "src/tachyon/tabs/monitoring/initController.ts:1447" ] @@ -4147,15 +4394,15 @@ "call": "Failed to communicate with AI provider", "key": "Failed to communicate with AI provider", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14586", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1694" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13810", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1759" ] }, { "call": "Failed to copy report to clipboard", "key": "Failed to copy report to clipboard", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16045", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15503", "src/tachyon/tabs/diagnostic/initController.ts:974" ] }, @@ -4163,8 +4410,8 @@ "call": "Failed to copy!", "key": "Failed to copy!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3243", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1628", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3058", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1646", "src/helpers/copyToClipboard.ts:12" ] }, @@ -4179,33 +4426,41 @@ "call": "Failed to detect DPI type", "key": "Failed to detect DPI type", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4540", - "src/tachyon/methods/shell/index.ts:1383" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4352", + "src/tachyon/methods/shell/index.ts:1479" ] }, { "call": "Failed to execute", "key": "Failed to execute", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3565", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3571", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20636", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20637", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20704", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20883", - "src/tachyon/tabs/updates/initController.ts:661", - "src/tachyon/tabs/updates/initController.ts:662", - "src/tachyon/tabs/updates/initController.ts:739", - "src/tachyon/tabs/updates/initController.ts:953", - "src/tachyon/methods/shell/index.ts:171", - "src/tachyon/methods/shell/index.ts:178" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3385", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3388", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19834", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19834", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19896", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20070", + "src/tachyon/methods/shell/index.ts:199", + "src/tachyon/methods/shell/index.ts:206", + "src/tachyon/tabs/updates/initController.ts:679", + "src/tachyon/tabs/updates/initController.ts:680", + "src/tachyon/tabs/updates/initController.ts:759", + "src/tachyon/tabs/updates/initController.ts:975" + ] + }, + { + "call": "Failed to fetch releases", + "key": "Failed to fetch releases", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3793", + "src/tachyon/methods/shell/index.ts:730" ] }, { "call": "Failed to generate bug report", "key": "Failed to generate bug report", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16799", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16116", "src/tachyon/tabs/diagnostic/initController.ts:1748" ] }, @@ -4213,48 +4468,64 @@ "call": "Failed to generate WARP config:", "key": "Failed to generate WARP config:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8451", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8465" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8551", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8565" + ] + }, + { + "call": "Failed to get DNS benchmark status", + "key": "Failed to get DNS benchmark status", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4451", + "src/tachyon/methods/shell/index.ts:1606" ] }, { "call": "Failed to get fuzzer history", "key": "Failed to get fuzzer history", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4582", - "src/tachyon/methods/shell/index.ts:1433" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4395", + "src/tachyon/methods/shell/index.ts:1529" ] }, { "call": "Failed to get fuzzer patterns", "key": "Failed to get fuzzer patterns", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4467", - "src/tachyon/methods/shell/index.ts:1287" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4281", + "src/tachyon/methods/shell/index.ts:1383" ] }, { "call": "Failed to get fuzzer status", "key": "Failed to get fuzzer status", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4343", - "src/tachyon/methods/shell/index.ts:1111" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4156", + "src/tachyon/methods/shell/index.ts:1207" ] }, { "call": "Failed to get fuzzer strategies", "key": "Failed to get fuzzer strategies", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4410", - "src/tachyon/methods/shell/index.ts:1211" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4225", + "src/tachyon/methods/shell/index.ts:1307" + ] + }, + { + "call": "Failed to install version", + "key": "Failed to install version", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3817", + "src/tachyon/methods/shell/index.ts:759" ] }, { "call": "Failed to load history", "key": "Failed to load history", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14176", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1230" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13368", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1241" ] }, { @@ -4264,18 +4535,26 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:742" ] }, + { + "call": "Failed to load versions", + "key": "Failed to load versions", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20421", + "src/tachyon/tabs/updates/initController.ts:1417" + ] + }, { "call": "Failed to parse file:", "key": "Failed to parse file:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8673" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8786" ] }, { "call": "Failed to parse target list.", "key": "Failed to parse target list.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12243", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11542", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:231" ] }, @@ -4283,22 +4562,22 @@ "call": "Failed to parse WARP config:", "key": "Failed to parse WARP config:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8535" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8645" ] }, { "call": "Failed to read operation log", "key": "Failed to read operation log", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3965", - "src/tachyon/methods/shell/index.ts:664" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3766", + "src/tachyon/methods/shell/index.ts:697" ] }, { "call": "Failed to receive response from AI service.", "key": "Failed to receive response from AI service.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12935", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12194", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:115" ] }, @@ -4306,8 +4585,8 @@ "call": "Failed to reset fuzzer patterns", "key": "Failed to reset fuzzer patterns", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4523", - "src/tachyon/methods/shell/index.ts:1362" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4333", + "src/tachyon/methods/shell/index.ts:1458" ] }, { @@ -4321,8 +4600,8 @@ "call": "Failed to restore native internet", "key": "Failed to restore native internet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16615", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16713", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15944", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16035", "src/tachyon/tabs/diagnostic/initController.ts:1543", "src/tachyon/tabs/diagnostic/initController.ts:1651" ] @@ -4338,24 +4617,24 @@ "call": "Failed to run diagnostics — is the tachyon binary installed?", "key": "Failed to run diagnostics — is the tachyon binary installed?", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3232", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3258" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3256", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3282" ] }, { "call": "Failed to save fuzzer patterns", "key": "Failed to save fuzzer patterns", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4494", - "src/tachyon/methods/shell/index.ts:1320" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4307", + "src/tachyon/methods/shell/index.ts:1416" ] }, { "call": "Failed to save patterns", "key": "Failed to save patterns", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13771", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:796" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12991", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:807" ] }, { @@ -4369,31 +4648,41 @@ "call": "Failed to start benchmark", "key": "Failed to start benchmark", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14535", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1633" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13759", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14209", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:339", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1698" ] }, { "call": "Failed to start bot", "key": "Failed to start bot", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2947" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2971" + ] + }, + { + "call": "Failed to start DNS benchmark", + "key": "Failed to start DNS benchmark", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4431", + "src/tachyon/methods/shell/index.ts:1582" ] }, { "call": "Failed to start fuzzer", "key": "Failed to start fuzzer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4320", - "src/tachyon/methods/shell/index.ts:1085" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4133", + "src/tachyon/methods/shell/index.ts:1181" ] }, { "call": "Failed to start service check.", "key": "Failed to start service check.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12226", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12835", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11525", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12097", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:213", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:890" ] @@ -4409,15 +4698,23 @@ "call": "Failed to stop bot", "key": "Failed to stop bot", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2961" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2985" + ] + }, + { + "call": "Failed to stop DNS benchmark", + "key": "Failed to stop DNS benchmark", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4470", + "src/tachyon/methods/shell/index.ts:1626" ] }, { "call": "Failed to stop fuzzer", "key": "Failed to stop fuzzer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4357", - "src/tachyon/methods/shell/index.ts:1126" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4170", + "src/tachyon/methods/shell/index.ts:1222" ] }, { @@ -4431,25 +4728,25 @@ "call": "Failed to switch proxy", "key": "Failed to switch proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8132", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8138", - "src/tachyon/tabs/dashboard/initController.ts:700", - "src/tachyon/tabs/dashboard/initController.ts:706" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7755", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7761", + "src/tachyon/tabs/dashboard/initController.ts:703", + "src/tachyon/tabs/dashboard/initController.ts:709" ] }, { "call": "Failed to synthesize AI strategies", "key": "Failed to synthesize AI strategies", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4444", - "src/tachyon/methods/shell/index.ts:1256" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4258", + "src/tachyon/methods/shell/index.ts:1352" ] }, { "call": "Failed to update device", "key": "Failed to update device", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16438", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15790", "src/tachyon/tabs/diagnostic/initController.ts:1364" ] }, @@ -4457,34 +4754,42 @@ "call": "Failed to update subscriptions", "key": "Failed to update subscriptions", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7808", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7809", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7824", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7862", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7865", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8869", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8872", - "src/tachyon/tabs/dashboard/initController.ts:309", - "src/tachyon/tabs/dashboard/initController.ts:310", - "src/tachyon/tabs/dashboard/initController.ts:330", - "src/tachyon/tabs/dashboard/initController.ts:377", - "src/tachyon/tabs/dashboard/initController.ts:381", - "src/tachyon/tabs/dashboard/initController.ts:1537", - "src/tachyon/tabs/dashboard/initController.ts:1541" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7461", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7461", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7476", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7509", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7512", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8412", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8415", + "src/tachyon/tabs/dashboard/initController.ts:312", + "src/tachyon/tabs/dashboard/initController.ts:313", + "src/tachyon/tabs/dashboard/initController.ts:333", + "src/tachyon/tabs/dashboard/initController.ts:380", + "src/tachyon/tabs/dashboard/initController.ts:384", + "src/tachyon/tabs/dashboard/initController.ts:1540", + "src/tachyon/tabs/dashboard/initController.ts:1544" ] }, { "call": "Failover failure threshold", "key": "Failover failure threshold", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2218" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2242" + ] + }, + { + "call": "FAIR", + "key": "FAIR", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13980", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:80" ] }, { "call": "FakeIP and control checks use different public IPs", "key": "FakeIP and control checks use different public IPs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10780", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:91" ] }, @@ -4492,7 +4797,7 @@ "call": "FakeIP and control checks use the same public IP", "key": "FakeIP and control checks use the same public IP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10781", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:92" ] }, @@ -4500,7 +4805,7 @@ "call": "FakeIP works; public IP comparison is inconclusive", "key": "FakeIP works; public IP comparison is inconclusive", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10736", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10194", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:46" ] }, @@ -4508,21 +4813,43 @@ "call": "FakeTLS host", "key": "FakeTLS host", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3146" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3164" + ] + }, + { + "call": "Fallback DNS", + "key": "Fallback DNS", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14131", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:248" ] }, { "call": "Fallback DNS Servers", "key": "Fallback DNS Servers", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1401" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1418" + ] + }, + { + "call": "Fallback DNS servers must be plain UDP (IP or hostname). DoH/DoT URLs are not allowed here.", + "key": "Fallback DNS servers must be plain UDP (IP or hostname). DoH/DoT URLs are not allowed here.", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1433" + ] + }, + { + "call": "Fallback DNS servers must be plain UDP (IP or hostname). Path-style DoH (e.g. domain/path) is not allowed here.", + "key": "Fallback DNS servers must be plain UDP (IP or hostname). Path-style DoH (e.g. domain/path) is not allowed here.", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1435" ] }, { "call": "Fallback on unknown DC", "key": "Fallback on unknown DC", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3228" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3246" ] }, { @@ -4559,31 +4886,31 @@ "call": "Faster DNS health monitoring than the default cycle. Switches bootstrap DNS on failure.", "key": "Faster DNS health monitoring than the default cycle. Switches bootstrap DNS on failure.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2617" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2641" ] }, { "call": "Faster server search interval", "key": "Faster server search interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8810", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8359", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3226", - "src/tachyon/tabs/dashboard/initController.ts:1464" + "src/tachyon/tabs/dashboard/initController.ts:1467" ] }, { "call": "Fastest", "key": "Fastest", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5025", - "src/tachyon/methods/custom/getDashboardSections.ts:661" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4884", + "src/tachyon/methods/custom/getDashboardSections.ts:673" ] }, { "call": "Filter by service:", "key": "Filter by service:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12423", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11708", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:425" ] }, @@ -4598,22 +4925,29 @@ "call": "Filter:", "key": "Filter:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13409", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:401" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12641", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:412" + ] + }, + { + "call": "Finished with code", + "key": "Finished with code", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8357" ] }, { "call": "Finland (fi)", "key": "Finland (fi)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9779" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10055" ] }, { "call": "Firewall WAN port", "key": "Firewall WAN port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10525", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10014", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:136" ] }, @@ -4621,7 +4955,7 @@ "call": "Fix applied", "key": "Fix applied", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16271", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15639", "src/tachyon/tabs/diagnostic/initController.ts:1196" ] }, @@ -4629,7 +4963,7 @@ "call": "Fix resolv.conf", "key": "Fix resolv.conf", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16154", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15544", "src/tachyon/tabs/diagnostic/initController.ts:1081" ] }, @@ -4638,15 +4972,15 @@ "key": "Fix the highlighted fields and save again.", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3655", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2339" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2357" ] }, { "call": "Fixed", "key": "Fixed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15859", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16267", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15635", "src/tachyon/tabs/diagnostic/initController.ts:753", "src/tachyon/tabs/diagnostic/initController.ts:1192" ] @@ -4655,7 +4989,7 @@ "call": "Flush Conntrack Table", "key": "Flush Conntrack Table", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16171", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15561", "src/tachyon/tabs/diagnostic/initController.ts:1098" ] }, @@ -4663,30 +4997,30 @@ "call": "Fooling Methods (dpi-desync-fooling)", "key": "Fooling Methods (dpi-desync-fooling)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13692", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:715" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12915", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:726" ] }, { "call": "Fooling Methods (fooling)", "key": "Fooling Methods (fooling)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13642", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:664" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12866", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:675" ] }, { "call": "Force immediate download and refresh of all remote lists and rule sets", "key": "Force immediate download and refresh of all remote lists and rule sets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1958" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1982" ] }, { "call": "Forced device routing", "key": "Forced device routing", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10034" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10311" ] }, { @@ -4700,14 +5034,22 @@ "call": "Forces sing-box to tunnel DNS requests via DoQ with Encrypted Client Hello (ECH) for SNI hiding.", "key": "Forces sing-box to tunnel DNS requests via DoQ with Encrypted Client Hello (ECH) for SNI hiding.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2313" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2337" + ] + }, + { + "call": "Found", + "key": "Found", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437" ] }, { "call": "France (fr)", "key": "France (fr)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9778" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10054" ] }, { @@ -4728,28 +5070,28 @@ "call": "Fronting IP", "key": "Fronting IP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3191" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3209" ] }, { "call": "Fronting port", "key": "Fronting port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3180" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3198" ] }, { "call": "Fronting proxy protocol", "key": "Fronting proxy protocol", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3201" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3219" ] }, { "call": "Full System Diagnostic", "key": "Full System Diagnostic", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12995", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12244", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:173" ] }, @@ -4764,14 +5106,14 @@ "call": "Game Console IPs", "key": "Game Console IPs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1889" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1913" ] }, { "call": "Game Console Optimizer (NAT Type 1)", "key": "Game Console Optimizer (NAT Type 1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1877" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1901" ] }, { @@ -4799,7 +5141,7 @@ "call": "Generate bug report", "key": "Generate bug report", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11880", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11185", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:199" ] }, @@ -4822,16 +5164,16 @@ "call": "Generate WARP Config", "key": "Generate WARP Config", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8361", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8400", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8422" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8444", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8483", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8505" ] }, { "call": "Generated inbound", "key": "Generated inbound", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10483", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9978", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:89" ] }, @@ -4839,49 +5181,49 @@ "call": "Generated!", "key": "Generated!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8523" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8633" ] }, { "call": "Generating…", "key": "Generating…", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8442" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8542" ] }, { "call": "GeoIP Countries", "key": "GeoIP Countries", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9768" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10044" ] }, { "call": "GeoIP Mode", "key": "GeoIP Mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9740" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10016" ] }, { "call": "GeoSite / GeoIP", "key": "GeoSite / GeoIP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10937" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11252" ] }, { "call": "Germany (de)", "key": "Germany (de)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9775" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10051" ] }, { "call": "Get global check", "key": "Get global check", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11794", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11099", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:113" ] }, @@ -4896,7 +5238,7 @@ "call": "Global check", "key": "Global check", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15816", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15313", "src/tachyon/tabs/diagnostic/initController.ts:703" ] }, @@ -4904,8 +5246,8 @@ "call": "Global check failed", "key": "Global check failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15827", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15831", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15324", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15328", "src/tachyon/tabs/diagnostic/initController.ts:714", "src/tachyon/tabs/diagnostic/initController.ts:718" ] @@ -4914,8 +5256,16 @@ "call": "Global Default", "key": "Global Default", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14600", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1709" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13824", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1774" + ] + }, + { + "call": "GOOD", + "key": "GOOD", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13977", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:77" ] }, { @@ -4929,21 +5279,29 @@ "call": "gRPC service", "key": "gRPC service", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3003" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3021" ] }, { "call": "Handshake timeout", "key": "Handshake timeout", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3256" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3274" + ] + }, + { + "call": "Header Protection Key", + "key": "Header Protection Key", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9122", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3625" ] }, { "call": "Hello! I am Tachyon AI Assistant. How can I help you today? Ask me about domain blocks, diagnostics, or router settings.", "key": "Hello! I am Tachyon AI Assistant. How can I help you today? Ask me about domain blocks, diagnostics, or router settings.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12847", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12109", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:14" ] }, @@ -4951,32 +5309,32 @@ "call": "Hex or binary junk payload", "key": "Hex or binary junk payload", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3549", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3555", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3561" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3602", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3608", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3614" ] }, { "call": "Hex or binary payload", "key": "Hex or binary payload", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3531", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3537", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3543" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3584", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3590", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3596" ] }, { "call": "Hex or binary payload for init", "key": "Hex or binary payload for init", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3519" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3572" ] }, { "call": "Hex or binary payload for response", "key": "Hex or binary payload for response", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3525" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3578" ] }, { @@ -5060,32 +5418,41 @@ "call": "Hide values", "key": "Hide values", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11678", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10986", "src/partials/modal/renderModal.ts:310" ] }, + { + "call": "Hide versions", + "key": "Hide versions", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700", + "src/tachyon/tabs/updates/initController.ts:1738" + ] + }, { "call": "Higher-level check interval", "key": "Higher-level check interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8796", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8346", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3190", - "src/tachyon/tabs/dashboard/initController.ts:1450" + "src/tachyon/tabs/dashboard/initController.ts:1453" ] }, { "call": "Higher-priority DNS Check", "key": "Higher-priority DNS Check", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1493" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1517" ] }, { "call": "History", "key": "History", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13131", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16550", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12374", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15891", "src/tachyon/tabs/diagnostic/initController.ts:1480", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:96" ] @@ -5094,18 +5461,18 @@ "call": "History cleared", "key": "History cleared", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4605", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14076", - "src/tachyon/methods/shell/index.ts:1461", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1126" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4418", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13278", + "src/tachyon/methods/shell/index.ts:1557", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1137" ] }, { "call": "Host", "key": "Host", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18260", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18317", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17510", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17563", "src/tachyon/tabs/monitoring/initController.ts:876", "src/tachyon/tabs/monitoring/initController.ts:941" ] @@ -5121,14 +5488,14 @@ "call": "Hosts Lists Update Interval", "key": "Hosts Lists Update Interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8335" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8399" ] }, { "call": "How many hours of metrics to keep (default 24).", "key": "How many hours of metrics to keep (default 24).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2669" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2693" ] }, { @@ -5149,50 +5516,50 @@ "call": "How often to check DNS health in seconds (default 60).", "key": "How often to check DNS health in seconds (default 60).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2630" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2654" ] }, { "call": "How often to check proxy health in seconds (fast tier, default 30).", "key": "How often to check proxy health in seconds (fast tier, default 30).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2584" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2608" ] }, { "call": "How often to check Telegram for new messages (default: 5).", "key": "How often to check Telegram for new messages (default: 5).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3053" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3077" ] }, { "call": "How often to check the active DNS servers.", "key": "How often to check the active DNS servers.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1484" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1508" ] }, { "call": "How often to check whether a higher-priority DNS server has recovered.", "key": "How often to check whether a higher-priority DNS server has recovered.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1494" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1518" ] }, { "call": "HTTP", "key": "HTTP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10082", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10101" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10359", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10378" ] }, { "call": "HTTP error", "key": "HTTP error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5939", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5625", "src/tachyon/api.ts:27" ] }, @@ -5200,7 +5567,7 @@ "call": "HTTP hosts", "key": "HTTP hosts", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2996" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3014" ] }, { @@ -5214,55 +5581,55 @@ "call": "Idle timeout", "key": "Idle timeout", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8665", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8230", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2736", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3246", - "src/tachyon/tabs/dashboard/initController.ts:1295" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3264", + "src/tachyon/tabs/dashboard/initController.ts:1298" ] }, { "call": "If one health check fails with an error, continue running other checks instead of stopping.", "key": "If one health check fails with an error, continue running other checks instead of stopping.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2709" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2733" ] }, { "call": "Immediately upon release", "key": "Immediately upon release", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2071" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2095" ] }, { "call": "Import", "key": "Import", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7728", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7750", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7837" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7734", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7756", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7843" ] }, { "call": "Import (%d records)", "key": "Import (%d records)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7832" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7838" ] }, { "call": "Import AmneziaWG settings from .conf file", "key": "Import AmneziaWG settings from .conf file", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8557" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8667" ] }, { "call": "Import Hosts File", "key": "Import Hosts File", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7909", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8112" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7915", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8118" ] }, { @@ -5283,21 +5650,21 @@ "call": "Inbound JSON", "key": "Inbound JSON", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2768" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2786" ] }, { "call": "Inbound JSON cannot be empty", "key": "Inbound JSON cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2068" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2086" ] }, { "call": "Inbound JSON must be an object with a type field", "key": "Inbound JSON must be an object with a type field", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2079" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2097" ] }, { @@ -5338,7 +5705,7 @@ "call": "Include selected countries", "key": "Include selected countries", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9746" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10022" ] }, { @@ -5354,179 +5721,183 @@ "call": "Information", "key": "Information", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1832" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1850" ] }, { "call": "Init handshake timeout", "key": "Init handshake timeout", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3567" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3620" ] }, { "call": "Init packet header (H1)", "key": "Init packet header (H1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3494" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3547" ] }, { "call": "Init packet junk size (S1)", "key": "Init packet junk size (S1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3470" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3523" ] }, { "call": "Init Packet Magic Header (S1)", "key": "Init Packet Magic Header (S1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8841" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9082" ] }, { "call": "Init Packet Magic Header (S3)", "key": "Init Packet Magic Header (S3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8843" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9084" ] }, { "call": "Init Packet Payload (I1)", "key": "Init Packet Payload (I1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8849" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9107" ] }, { "call": "Init Packet Payload (I2)", "key": "Init Packet Payload (I2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8850" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9108" ] }, { "call": "Init Packet Payload (I3)", "key": "Init Packet Payload (I3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8851" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9109" ] }, { "call": "Init Packet Payload (I4)", "key": "Init Packet Payload (I4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8852" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9110" ] }, { "call": "Init Packet Payload (I5)", "key": "Init Packet Payload (I5)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8853" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9111" ] }, { "call": "Init payload (I1)", "key": "Init payload (I1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3518" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3571" ] }, { "call": "Init timeout (Itime)", "key": "Init timeout (Itime)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3566" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3619" ] }, { "call": "Install", "key": "Install", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20067", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20909", - "src/tachyon/tabs/updates/initController.ts:989", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:431" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19314", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20096", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20436", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20483", + "src/tachyon/tabs/updates/initController.ts:1011", + "src/tachyon/tabs/updates/initController.ts:1437", + "src/tachyon/tabs/updates/initController.ts:1490", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:419" ] }, { "call": "Install another build:", "key": "Install another build:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21420", - "src/tachyon/tabs/updates/initController.ts:1554" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20688", + "src/tachyon/tabs/updates/initController.ts:1724" ] }, { "call": "Installed", "key": "Installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14620", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14625", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14630", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1732", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1737", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1742" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1803", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1808", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1813" ] }, { "call": "Installed build → Available build", "key": "Installed build → Available build", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21295", - "src/tachyon/tabs/updates/initController.ts:1415" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20568", + "src/tachyon/tabs/updates/initController.ts:1585" ] }, { "call": "Installed version is newer than release", "key": "Installed version is newer than release", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20396", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21303", - "src/tachyon/tabs/updates/initController.ts:359", - "src/tachyon/tabs/updates/initController.ts:1423" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19610", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20576", + "src/tachyon/tabs/updates/initController.ts:372", + "src/tachyon/tabs/updates/initController.ts:1593" ] }, { "call": "Interface", "key": "Interface", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2370" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2394" ] }, { "call": "Interface Monitoring", "key": "Interface Monitoring", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1723" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1747" ] }, { "call": "Interface Monitoring Delay", "key": "Interface Monitoring Delay", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1757" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1781" ] }, { "call": "Interface monitoring for Bad WAN", "key": "Interface monitoring for Bad WAN", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1724" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1748" ] }, { "call": "Interrupt connections", "key": "Interrupt connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8667", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8816", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2750", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3242", - "src/tachyon/tabs/dashboard/initController.ts:1297", - "src/tachyon/tabs/dashboard/initController.ts:1470" + "src/tachyon/tabs/dashboard/initController.ts:1300", + "src/tachyon/tabs/dashboard/initController.ts:1473" ] }, { @@ -5547,22 +5918,22 @@ "call": "Interval", "key": "Interval", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8663", - "src/tachyon/tabs/dashboard/initController.ts:1293" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8228", + "src/tachyon/tabs/dashboard/initController.ts:1296" ] }, { "call": "Invalid ByeDPI strategy", "key": "Invalid ByeDPI strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7526" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7532" ] }, { "call": "Invalid CIDR prefix", "key": "Invalid CIDR prefix", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:242", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:219", "src/validators/validateSubnet.ts:25" ] }, @@ -5570,7 +5941,7 @@ "call": "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH", "key": "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:163", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:148", "src/validators/validateDns.ts:34" ] }, @@ -5578,7 +5949,7 @@ "call": "Invalid DNS server port", "key": "Invalid DNS server port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:153", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:138", "src/validators/validateDns.ts:21" ] }, @@ -5586,8 +5957,8 @@ "call": "Invalid domain address", "key": "Invalid domain address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:83", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:87", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:76", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:80", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5367", "src/validators/validateDomain.ts:67", "src/validators/validateDomain.ts:73" @@ -5605,7 +5976,7 @@ "call": "Invalid format. Use an IP address or CIDR subnet", "key": "Invalid format. Use an IP address or CIDR subnet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:229", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:206", "src/validators/validateSubnet.ts:10" ] }, @@ -5613,7 +5984,7 @@ "call": "Invalid HY2 URL: insecure must be 0 or 1", "key": "Invalid HY2 URL: insecure must be 0 or 1", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:824", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:776", "src/validators/validateHysteriaUrl.ts:104" ] }, @@ -5621,7 +5992,7 @@ "call": "Invalid HY2 URL: invalid host & port", "key": "Invalid HY2 URL: invalid host & port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:781", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:738", "src/validators/validateHysteriaUrl.ts:51" ] }, @@ -5629,8 +6000,8 @@ "call": "Invalid HY2 URL: invalid port number", "key": "Invalid HY2 URL: invalid port number", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:812", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:861", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:767", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:803", "src/validators/validateHysteriaUrl.ts:90", "src/validators/validateHysteriaUrl.ts:146" ] @@ -5639,7 +6010,7 @@ "call": "Invalid HY2 URL: missing credentials/server", "key": "Invalid HY2 URL: missing credentials/server", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:767", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:724", "src/validators/validateHysteriaUrl.ts:33" ] }, @@ -5647,7 +6018,7 @@ "call": "Invalid HY2 URL: missing host", "key": "Invalid HY2 URL: missing host", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:786", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:743", "src/validators/validateHysteriaUrl.ts:57" ] }, @@ -5655,7 +6026,7 @@ "call": "Invalid HY2 URL: missing host & port", "key": "Invalid HY2 URL: missing host & port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:775", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:732", "src/validators/validateHysteriaUrl.ts:44" ] }, @@ -5663,7 +6034,7 @@ "call": "Invalid HY2 URL: missing password", "key": "Invalid HY2 URL: missing password", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:771", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:728", "src/validators/validateHysteriaUrl.ts:39" ] }, @@ -5671,7 +6042,7 @@ "call": "Invalid HY2 URL: missing port", "key": "Invalid HY2 URL: missing port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:789", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:746", "src/validators/validateHysteriaUrl.ts:61" ] }, @@ -5679,7 +6050,7 @@ "call": "Invalid HY2 URL: must not contain spaces", "key": "Invalid HY2 URL: must not contain spaces", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:757", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:714", "src/validators/validateHysteriaUrl.ts:20" ] }, @@ -5687,7 +6058,7 @@ "call": "Invalid HY2 URL: must start with hysteria2:// or hy2://", "key": "Invalid HY2 URL: must start with hysteria2:// or hy2://", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:751", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:708", "src/validators/validateHysteriaUrl.ts:13" ] }, @@ -5695,7 +6066,7 @@ "call": "Invalid HY2 URL: obfs-password required when obfs is set", "key": "Invalid HY2 URL: obfs-password required when obfs is set", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:844", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:789", "src/validators/validateHysteriaUrl.ts:127" ] }, @@ -5703,7 +6074,7 @@ "call": "Invalid HY2 URL: parsing failed", "key": "Invalid HY2 URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:867", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:809", "src/validators/validateHysteriaUrl.ts:153" ] }, @@ -5711,7 +6082,7 @@ "call": "Invalid HY2 URL: sni cannot be empty", "key": "Invalid HY2 URL: sni cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:852", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:797", "src/validators/validateHysteriaUrl.ts:136" ] }, @@ -5719,7 +6090,7 @@ "call": "Invalid HY2 URL: unsupported obfs type", "key": "Invalid HY2 URL: unsupported obfs type", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:834", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:783", "src/validators/validateHysteriaUrl.ts:116" ] }, @@ -5727,7 +6098,7 @@ "call": "Invalid IP address", "key": "Invalid IP address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:30", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:29", "src/validators/validateIp.ts:28" ] }, @@ -5742,8 +6113,8 @@ "call": "Invalid JSON format", "key": "Invalid JSON format", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:312", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2081", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:280", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2099", "src/validators/validateOutboundJson.ts:58" ] }, @@ -5751,14 +6122,14 @@ "call": "Invalid line: \"%s\". Use: domain ip or ip domain", "key": "Invalid line: \"%s\". Use: domain ip or ip domain", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8020" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8026" ] }, { "call": "Invalid path format. Path must start with \"/\" and contain valid characters", "key": "Invalid path format. Path must start with \"/\" and contain valid characters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:217", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:194", "src/validators/validatePath.ts:22" ] }, @@ -5766,8 +6137,8 @@ "call": "Invalid port number. Must be between 1 and 65535", "key": "Invalid port number. Must be between 1 and 65535", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:438", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9620", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:400", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9896", "src/validators/validateShadowsocksUrl.ts:91" ] }, @@ -5789,7 +6160,7 @@ "call": "Invalid Shadowsocks URL: decoded credentials must contain method:password", "key": "Invalid Shadowsocks URL: decoded credentials must contain method:password", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:392", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:354", "src/validators/validateShadowsocksUrl.ts:38" ] }, @@ -5797,7 +6168,7 @@ "call": "Invalid Shadowsocks URL: invalid server and port", "key": "Invalid Shadowsocks URL: invalid server and port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:418", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:380", "src/validators/validateShadowsocksUrl.ts:67" ] }, @@ -5805,7 +6176,7 @@ "call": "Invalid Shadowsocks URL: missing credentials", "key": "Invalid Shadowsocks URL: missing credentials", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:384", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:346", "src/validators/validateShadowsocksUrl.ts:28" ] }, @@ -5813,7 +6184,7 @@ "call": "Invalid Shadowsocks URL: missing method and password separator \":\"", "key": "Invalid Shadowsocks URL: missing method and password separator \":\"", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:401", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:363", "src/validators/validateShadowsocksUrl.ts:47" ] }, @@ -5821,7 +6192,7 @@ "call": "Invalid Shadowsocks URL: missing port", "key": "Invalid Shadowsocks URL: missing port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:432", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:394", "src/validators/validateShadowsocksUrl.ts:84" ] }, @@ -5829,7 +6200,7 @@ "call": "Invalid Shadowsocks URL: missing server", "key": "Invalid Shadowsocks URL: missing server", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:425", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:387", "src/validators/validateShadowsocksUrl.ts:75" ] }, @@ -5837,7 +6208,7 @@ "call": "Invalid Shadowsocks URL: missing server address", "key": "Invalid Shadowsocks URL: missing server address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:411", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:373", "src/validators/validateShadowsocksUrl.ts:59" ] }, @@ -5845,7 +6216,7 @@ "call": "Invalid Shadowsocks URL: must not contain spaces", "key": "Invalid Shadowsocks URL: must not contain spaces", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:376", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:338", "src/validators/validateShadowsocksUrl.ts:17" ] }, @@ -5853,7 +6224,7 @@ "call": "Invalid Shadowsocks URL: must start with ss://", "key": "Invalid Shadowsocks URL: must start with ss://", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:369", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:331", "src/validators/validateShadowsocksUrl.ts:9" ] }, @@ -5861,7 +6232,7 @@ "call": "Invalid Shadowsocks URL: parsing failed", "key": "Invalid Shadowsocks URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:444", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:406", "src/validators/validateShadowsocksUrl.ts:97" ] }, @@ -5869,7 +6240,7 @@ "call": "Invalid SOCKS URL: invalid host and port", "key": "Invalid SOCKS URL: invalid host and port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:718", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:675", "src/validators/validateSocksUrl.ts:49" ] }, @@ -5877,7 +6248,7 @@ "call": "Invalid SOCKS URL: invalid port number", "key": "Invalid SOCKS URL: invalid port number", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:734", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:691", "src/validators/validateSocksUrl.ts:68" ] }, @@ -5885,7 +6256,7 @@ "call": "Invalid SOCKS URL: missing host and port", "key": "Invalid SOCKS URL: missing host and port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:711", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:668", "src/validators/validateSocksUrl.ts:41" ] }, @@ -5893,7 +6264,7 @@ "call": "Invalid SOCKS URL: missing hostname or IP", "key": "Invalid SOCKS URL: missing hostname or IP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:725", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:682", "src/validators/validateSocksUrl.ts:57" ] }, @@ -5901,7 +6272,7 @@ "call": "Invalid SOCKS URL: missing port", "key": "Invalid SOCKS URL: missing port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:729", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:686", "src/validators/validateSocksUrl.ts:62" ] }, @@ -5909,7 +6280,7 @@ "call": "Invalid SOCKS URL: missing username", "key": "Invalid SOCKS URL: missing username", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:704", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:661", "src/validators/validateSocksUrl.ts:33" ] }, @@ -5917,7 +6288,7 @@ "call": "Invalid SOCKS URL: must not contain spaces", "key": "Invalid SOCKS URL: must not contain spaces", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:691", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:650", "src/validators/validateSocksUrl.ts:18" ] }, @@ -5925,7 +6296,7 @@ "call": "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://", "key": "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:683", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:642", "src/validators/validateSocksUrl.ts:9" ] }, @@ -5933,7 +6304,7 @@ "call": "Invalid SOCKS URL: parsing failed", "key": "Invalid SOCKS URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:738", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:695", "src/validators/validateSocksUrl.ts:72" ] }, @@ -5948,7 +6319,7 @@ "call": "Invalid Trojan URL: must not contain spaces", "key": "Invalid Trojan URL: must not contain spaces", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:636", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:595", "src/validators/validateTrojanUrl.ts:16" ] }, @@ -5956,7 +6327,7 @@ "call": "Invalid Trojan URL: must start with trojan://", "key": "Invalid Trojan URL: must start with trojan://", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:630", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:589", "src/validators/validateTrojanUrl.ts:9" ] }, @@ -5964,7 +6335,7 @@ "call": "Invalid Trojan URL: parsing failed", "key": "Invalid Trojan URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:672", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:631", "src/validators/validateTrojanUrl.ts:61" ] }, @@ -5972,7 +6343,7 @@ "call": "Invalid TUIC URL: congestion_control must be bbr, cubic, or new_reno", "key": "Invalid TUIC URL: congestion_control must be bbr, cubic, or new_reno", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:953", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:892", "src/validators/validateTuicUrl.ts:103" ] }, @@ -5980,7 +6351,7 @@ "call": "Invalid TUIC URL: insecure must be 0 or 1", "key": "Invalid TUIC URL: insecure must be 0 or 1", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:976", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:909", "src/validators/validateTuicUrl.ts:128" ] }, @@ -5988,7 +6359,7 @@ "call": "Invalid TUIC URL: invalid host & port", "key": "Invalid TUIC URL: invalid host & port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:926", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:868", "src/validators/validateTuicUrl.ts:71" ] }, @@ -5996,7 +6367,7 @@ "call": "Invalid TUIC URL: invalid port number", "key": "Invalid TUIC URL: invalid port number", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:940", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:882", "src/validators/validateTuicUrl.ts:88" ] }, @@ -6004,7 +6375,7 @@ "call": "Invalid TUIC URL: missing credentials/server", "key": "Invalid TUIC URL: missing credentials/server", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:897", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:839", "src/validators/validateTuicUrl.ts:35" ] }, @@ -6012,7 +6383,7 @@ "call": "Invalid TUIC URL: missing host", "key": "Invalid TUIC URL: missing host", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:931", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:873", "src/validators/validateTuicUrl.ts:77" ] }, @@ -6020,7 +6391,7 @@ "call": "Invalid TUIC URL: missing host & port", "key": "Invalid TUIC URL: missing host & port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:908", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:850", "src/validators/validateTuicUrl.ts:49" ] }, @@ -6028,7 +6399,7 @@ "call": "Invalid TUIC URL: missing port", "key": "Invalid TUIC URL: missing port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:934", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:876", "src/validators/validateTuicUrl.ts:81" ] }, @@ -6036,8 +6407,8 @@ "call": "Invalid TUIC URL: missing UUID", "key": "Invalid TUIC URL: missing UUID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:903", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:914", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:845", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:856", "src/validators/validateTuicUrl.ts:43", "src/validators/validateTuicUrl.ts:57" ] @@ -6046,7 +6417,7 @@ "call": "Invalid TUIC URL: must not contain spaces", "key": "Invalid TUIC URL: must not contain spaces", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:888", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:830", "src/validators/validateTuicUrl.ts:23" ] }, @@ -6054,7 +6425,7 @@ "call": "Invalid TUIC URL: must start with tuic://", "key": "Invalid TUIC URL: must start with tuic://", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:882", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:824", "src/validators/validateTuicUrl.ts:16" ] }, @@ -6062,7 +6433,7 @@ "call": "Invalid TUIC URL: parsing failed", "key": "Invalid TUIC URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:999", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:929", "src/validators/validateTuicUrl.ts:154" ] }, @@ -6070,7 +6441,7 @@ "call": "Invalid TUIC URL: sni cannot be empty", "key": "Invalid TUIC URL: sni cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:993", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:923", "src/validators/validateTuicUrl.ts:147" ] }, @@ -6078,7 +6449,7 @@ "call": "Invalid TUIC URL: udp_relay_mode must be native, quic, or qux", "key": "Invalid TUIC URL: udp_relay_mode must be native, quic, or qux", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:965", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:901", "src/validators/validateTuicUrl.ts:116" ] }, @@ -6086,7 +6457,7 @@ "call": "Invalid TUIC URL: UUID must be a valid UUID v4 format", "key": "Invalid TUIC URL: UUID must be a valid UUID v4 format", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:919", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:861", "src/validators/validateTuicUrl.ts:63" ] }, @@ -6094,7 +6465,7 @@ "call": "Invalid TUIC URL: zero_rtt_handshake must be 0, 1, true, or false", "key": "Invalid TUIC URL: zero_rtt_handshake must be 0, 1, true, or false", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:985", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:915", "src/validators/validateTuicUrl.ts:138" ] }, @@ -6102,9 +6473,9 @@ "call": "Invalid URL format", "key": "Invalid URL format", "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:157", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:172", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:195", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:197", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:174", "src/validators/validateUrl.ts:9", "src/validators/validateUrl.ts:35", "src/validators/validateUrl.ts:38" @@ -6114,7 +6485,7 @@ "call": "Invalid VLESS URL: parsing failed", "key": "Invalid VLESS URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:560", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:521", "src/validators/validateVlessUrl.ts:117" ] }, @@ -6122,7 +6493,7 @@ "call": "Invalid VMess URL: parsing failed", "key": "Invalid VMess URL: parsing failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:620", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:579", "src/validators/validateVmessUrl.ts:68" ] }, @@ -6130,50 +6501,50 @@ "call": "IP Addresses (IP CIDR)", "key": "IP Addresses (IP CIDR)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10933" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11248" ] }, { "call": "IP Frag Bounds (--ip-frag)", "key": "IP Frag Bounds (--ip-frag)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13748", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:772" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12970", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:783" ] }, { "call": "IPs", "key": "IPs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9861" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10137" ] }, { "call": "IPv4 only", "key": "IPv4 only", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1594" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1618" ] }, { "call": "IPv6 only", "key": "IPv6 only", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1596" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1620" ] }, { "call": "Isolate BitTorrent traffic and force it direct to prevent VPN bans", "key": "Isolate BitTorrent traffic and force it direct to prevent VPN bans", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1822" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1846" ] }, { "call": "Issues", "key": "Issues", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15855", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347", "src/tachyon/tabs/diagnostic/initController.ts:749" ] }, @@ -6181,8 +6552,8 @@ "call": "Issues detected", "key": "Issues detected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10214", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10800", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9752", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10241", "src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:17", "src/tachyon/tabs/diagnostic/helpers/getMeta.ts:20" ] @@ -6191,7 +6562,7 @@ "call": "Issues detected. Review the diagnosis above.", "key": "Issues detected. Review the diagnosis above.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16297", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15661", "src/tachyon/tabs/diagnostic/initController.ts:1221" ] }, @@ -6199,7 +6570,7 @@ "call": "Japan (jp)", "key": "Japan (jp)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9783" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10059" ] }, { @@ -6209,14 +6580,14 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1124", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4068", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4331", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9385" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9661" ] }, { "call": "JSON outbound cannot be empty", "key": "JSON outbound cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:306", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:274", "src/validators/validateOutboundJson.ts:50" ] }, @@ -6224,7 +6595,7 @@ "call": "JSON outbound must be a JSON object", "key": "JSON outbound must be a JSON object", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:315", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:283", "src/validators/validateOutboundJson.ts:62" ] }, @@ -6232,7 +6603,7 @@ "call": "JSON outbound must contain a non-empty tag field", "key": "JSON outbound must contain a non-empty tag field", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:321", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:289", "src/validators/validateOutboundJson.ts:70" ] }, @@ -6240,7 +6611,7 @@ "call": "JSON outbound must contain a non-empty type field", "key": "JSON outbound must contain a non-empty type field", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:318", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:286", "src/validators/validateOutboundJson.ts:66" ] }, @@ -6255,98 +6626,98 @@ "call": "Junk Max Size (Jmax)", "key": "Junk Max Size (Jmax)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8840" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9081" ] }, { "call": "Junk Min Size (Jmin)", "key": "Junk Min Size (Jmin)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8839" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9080" ] }, { "call": "Junk packet count (Jc)", "key": "Junk packet count (Jc)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3452" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3505" ] }, { "call": "Junk Packet Count (Jc)", "key": "Junk Packet Count (Jc)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8838" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9079" ] }, { "call": "Junk packet max size (Jmax)", "key": "Junk packet max size (Jmax)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3464" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3517" ] }, { "call": "Junk packet min size (Jmin)", "key": "Junk packet min size (Jmin)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3458" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3511" ] }, { "call": "Junk payload (J1)", "key": "Junk payload (J1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3548" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3601" ] }, { "call": "Junk payload (J2)", "key": "Junk payload (J2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3554" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3607" ] }, { "call": "Junk payload (J3)", "key": "Junk payload (J3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3560" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3613" ] }, { "call": "Junk size for cookie packet", "key": "Junk size for cookie packet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3483" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3536" ] }, { "call": "Junk size for initiation packet", "key": "Junk size for initiation packet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3471" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3524" ] }, { "call": "Junk size for response packet", "key": "Junk size for response packet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3477" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3530" ] }, { "call": "Junk size for transport packet", "key": "Junk size for transport packet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3489" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3542" ] }, { "call": "Kazakhstan (kz)", "key": "Kazakhstan (kz)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9786" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10062" ] }, { @@ -6360,7 +6731,7 @@ "call": "Keep the previous working binary/package on the router flash for instant offline rollback if needed. Consumes extra storage.", "key": "Keep the previous working binary/package on the router flash for instant offline rollback if needed. Consumes extra storage.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2124" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2148" ] }, { @@ -6370,25 +6741,33 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2760" ] }, + { + "call": "Keepalive Timeout", + "key": "Keepalive Timeout", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3655" + ] + }, { "call": "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms.", "key": "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1578" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1602" ] }, { "call": "Key", "key": "Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9103" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9379" ] }, { "call": "Key path", "key": "Key path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2853" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2871" ] }, { @@ -6402,7 +6781,7 @@ "call": "LAN Devices", "key": "LAN Devices", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16534", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15877", "src/tachyon/tabs/diagnostic/initController.ts:1464" ] }, @@ -6410,7 +6789,7 @@ "call": "Language for AI Doctor diagnosis responses", "key": "Language for AI Doctor diagnosis responses", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2502" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2526" ] }, { @@ -6420,39 +6799,47 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:17" ] }, + { + "call": "Latency", + "key": "Latency", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13951", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:46" + ] + }, { "call": "Latency test failed", "key": "Latency test failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3844", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3863", - "src/tachyon/methods/shell/index.ts:519", - "src/tachyon/methods/shell/index.ts:540" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3648", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3667", + "src/tachyon/methods/shell/index.ts:547", + "src/tachyon/methods/shell/index.ts:568" ] }, { "call": "Latency test URL", "key": "Latency test URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2135" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2159" ] }, { "call": "Latest version is installed", "key": "Latest version is installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20398", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21301", - "src/tachyon/tabs/updates/initController.ts:362", - "src/tachyon/tabs/updates/initController.ts:1421" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19612", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20574", + "src/tachyon/tabs/updates/initController.ts:375", + "src/tachyon/tabs/updates/initController.ts:1591" ] }, { "call": "Latest version:", "key": "Latest version:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21303", - "src/tachyon/tabs/updates/initController.ts:1423" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20576", + "src/tachyon/tabs/updates/initController.ts:1593" ] }, { @@ -6480,42 +6867,42 @@ "call": "List must be an HTTP(S) URL or a local .lst path", "key": "List must be an HTTP(S) URL or a local .lst path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7221" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7227" ] }, { "call": "List of domains automatically detected and the section they were added to. To edit or remove them, open the routing rules of the respective section.", "key": "List of domains automatically detected and the section they were added to. To edit or remove them, open the routing rules of the respective section.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2821" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2845" ] }, { "call": "List Update Frequency", "key": "List Update Frequency", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1920" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1944" ] }, { "call": "Listen address", "key": "Listen address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2695" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2713" ] }, { "call": "Listen port", "key": "Listen port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2702" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2720" ] }, { "call": "Listening port", "key": "Listening port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10514", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10008", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:125" ] }, @@ -6523,64 +6910,64 @@ "call": "Lists and rule sets successfully updated!", "key": "Lists and rule sets successfully updated!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1977" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2001" ] }, { "call": "LM Studio (Local PC / Server)", "key": "LM Studio (Local PC / Server)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2480" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2504" ] }, { "call": "Load .conf", "key": "Load .conf", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8630", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8645" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8743", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8758" ] }, { "call": "Load .conf config", "key": "Load .conf config", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8556" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8666" ] }, { "call": "Load Current Records", "key": "Load Current Records", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7672" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7678" ] }, { "call": "Loaded %d current record(s)", "key": "Loaded %d current record(s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7666" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7672" ] }, { "call": "Loaded!", "key": "Loaded!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8721" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8935" ] }, { "call": "Loading client link...", "key": "Loading client link...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1791" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1809" ] }, { "call": "Loading connected LAN devices...", "key": "Loading connected LAN devices...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16319", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15680", "src/tachyon/tabs/diagnostic/initController.ts:1243" ] }, @@ -6588,8 +6975,8 @@ "call": "Loading connections", "key": "Loading connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17600", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18370", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16881", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17613", "src/tachyon/tabs/monitoring/initController.ts:1002", "src/tachyon/tabs/monitoring/render.ts:101" ] @@ -6598,56 +6985,72 @@ "call": "Loading service list...", "key": "Loading service list...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12171", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12212", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11474", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11513", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:150", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:194" ] }, + { + "call": "Loading versions...", + "key": "Loading versions...", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20451", + "src/tachyon/tabs/updates/initController.ts:1456" + ] + }, { "call": "Loading...", "key": "Loading...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21141", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21156", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21174", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21188", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21202", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21216", - "src/tachyon/tabs/updates/initController.ts:1253", - "src/tachyon/tabs/updates/initController.ts:1268", - "src/tachyon/tabs/updates/initController.ts:1286", - "src/tachyon/tabs/updates/initController.ts:1300", - "src/tachyon/tabs/updates/initController.ts:1314", - "src/tachyon/tabs/updates/initController.ts:1328" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20313", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20327", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20339", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20350", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20361", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20371", + "src/tachyon/tabs/updates/initController.ts:1275", + "src/tachyon/tabs/updates/initController.ts:1291", + "src/tachyon/tabs/updates/initController.ts:1313", + "src/tachyon/tabs/updates/initController.ts:1328", + "src/tachyon/tabs/updates/initController.ts:1343", + "src/tachyon/tabs/updates/initController.ts:1357" ] }, { "call": "Local Address", "key": "Local Address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8747" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8961" ] }, { "call": "Log Level", "key": "Log Level", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2282" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2306" + ] + }, + { + "call": "Loss", + "key": "Loss", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13952", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:47" ] }, { "call": "LuCI Web UI", "key": "LuCI Web UI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2110" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2134" ] }, { "call": "lx", "key": "lx", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6689", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6354", "src/tachyon/helpers/singBoxVariant.ts:58" ] }, @@ -6655,7 +7058,7 @@ "call": "Main DNS", "key": "Main DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9824", "src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:67" ] }, @@ -6663,7 +7066,7 @@ "call": "Main DNS server. If multiple servers are selected, a timeout switches to a backup.", "key": "Main DNS server. If multiple servers are selected, a timeout switches to a backup.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1369" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1386" ] }, { @@ -6677,11 +7080,11 @@ "call": "Manual", "key": "Manual", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2447", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8307", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8705", - "src/tachyon/tabs/dashboard/initController.ts:914", - "src/tachyon/tabs/dashboard/initController.ts:1346", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2351", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7927", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8267", + "src/tachyon/tabs/dashboard/initController.ts:917", + "src/tachyon/tabs/dashboard/initController.ts:1349", "src/tachyon/tabs/dashboard/partials/renderSections.ts:450" ] }, @@ -6689,92 +7092,100 @@ "call": "Manual list update", "key": "Manual list update", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1957" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1981" ] }, { "call": "MASQUE Access Token", "key": "MASQUE Access Token", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9151" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9427" ] }, { "call": "MASQUE Account ID", "key": "MASQUE Account ID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9139" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9415" ] }, { "call": "MASQUE Private Key", "key": "MASQUE Private Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9403" ] }, { "call": "Masquerade LAN traffic into tailnet", "key": "Masquerade LAN traffic into tailnet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3336" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3354" ] }, { "call": "Match destination IPs or subnets", "key": "Match destination IPs or subnets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9862" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10138" ] }, { "call": "Match destination ports. Use a single port or a range", "key": "Match destination ports. Use a single port or a range", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10055" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10332" ] }, { "call": "Match Found", "key": "Match Found", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10725" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11040" ] }, { "call": "Match traffic by packet DSCP mark (assigned in Windows via Policy-Based QoS). Examples: 46 (EF), 0x2e, 34 (AF41)", "key": "Match traffic by packet DSCP mark (assigned in Windows via Policy-Based QoS). Examples: 46 (EF), 0x2e, 34 (AF41)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10063" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10340" + ] + }, + { + "call": "Max Handshake Attempts", + "key": "Max Handshake Attempts", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3661" ] }, { "call": "Max reconnects per hour before alert (default 10).", "key": "Max reconnects per hour before alert (default 10).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2764" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2788" ] }, { "call": "Maximum size of junk packets", "key": "Maximum size of junk packets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3465" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3518" ] }, { "call": "Maximum time to wait for example.com to resolve during a DNS health check.", "key": "Maximum time to wait for example.com to resolve during a DNS health check.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1504" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1528" ] }, { "call": "Memory Usage", "key": "Memory Usage", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9149", - "src/tachyon/tabs/dashboard/initController.ts:1877" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8682", + "src/tachyon/tabs/dashboard/initController.ts:1884" ] }, { @@ -6795,14 +7206,14 @@ "call": "Method", "key": "Method", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3010" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3028" ] }, { "call": "Metrics Retention (hours)", "key": "Metrics Retention (hours)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2668" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2692" ] }, { @@ -6826,28 +7237,28 @@ "call": "Minimum size of junk packets", "key": "Minimum size of junk packets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3459" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3512" ] }, { "call": "Mixed Proxy Password", "key": "Mixed Proxy Password", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9678" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9954" ] }, { "call": "Mixed Proxy Port", "key": "Mixed Proxy Port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9601" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9877" ] }, { "call": "Mixed Proxy Username", "key": "Mixed Proxy Username", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9642" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9918" ] }, { @@ -6861,7 +7272,7 @@ "call": "Model name to use. Leave empty to use default (gpt-4o-mini / claude-3-5-haiku / deepseek-chat / llama3:latest).", "key": "Model name to use. Leave empty to use default (gpt-4o-mini / claude-3-5-haiku / deepseek-chat / llama3:latest).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2489" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2513" ] }, { @@ -6882,7 +7293,7 @@ "call": "Monitored Interfaces", "key": "Monitored Interfaces", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1733" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1757" ] }, { @@ -6898,7 +7309,7 @@ "call": "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour.", "key": "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2751" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2775" ] }, { @@ -6919,15 +7330,15 @@ "call": "MTU", "key": "MTU", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8810", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3395" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9024", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3413" ] }, { "call": "Must be a comma-separated list of numeric IDs", "key": "Must be a comma-separated list of numeric IDs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3043" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3067" ] }, { @@ -6942,7 +7353,7 @@ "call": "My Strategies", "key": "My Strategies", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13129", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12372", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:94" ] }, @@ -6950,8 +7361,8 @@ "call": "Name", "key": "Name", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13880", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:918" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13096", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:929" ] }, { @@ -6973,8 +7384,8 @@ "call": "Native internet restored. Tachyon stopped.", "key": "Native internet restored. Tachyon stopped.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16605", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16705", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15934", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16027", "src/tachyon/tabs/diagnostic/initController.ts:1533", "src/tachyon/tabs/diagnostic/initController.ts:1643" ] @@ -6983,14 +7394,14 @@ "call": "Native tailscaled (tailnet reachable from LAN without client)", "key": "Native tailscaled (tailnet reachable from LAN without client)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3326" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3344" ] }, { "call": "Netherlands (nl)", "key": "Netherlands (nl)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9776" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10052" ] }, { @@ -7005,7 +7416,7 @@ "key": "Network Interface", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1950", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9344" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9620" ] }, { @@ -7019,14 +7430,14 @@ "call": "New domains:", "key": "New domains:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7821" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7827" ] }, { "call": "New version %s is available for %s", "key": "New version %s is available for %s", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7075", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6767", "src/tachyon/services/core.service.ts:38" ] }, @@ -7034,8 +7445,8 @@ "call": "NFQUEUE range is available", "key": "NFQUEUE range is available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10894", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11013", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10309", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:100", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:97" ] @@ -7044,8 +7455,8 @@ "call": "NFQUEUE range overlaps with another rule", "key": "NFQUEUE range overlaps with another rule", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10893", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11012", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10309", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:99", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:96" ] @@ -7054,7 +7465,7 @@ "call": "NFQWS Strategy", "key": "NFQWS Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7446" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7452" ] }, { @@ -7068,7 +7479,7 @@ "call": "NFQWS2 Strategy", "key": "NFQWS2 Strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7479" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7485" ] }, { @@ -7082,21 +7493,21 @@ "call": "No", "key": "No", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8235", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8296", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8694", - "src/tachyon/tabs/dashboard/initController.ts:822", - "src/tachyon/tabs/dashboard/initController.ts:826", - "src/tachyon/tabs/dashboard/initController.ts:902", - "src/tachyon/tabs/dashboard/initController.ts:1334" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7855", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7858", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7918", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8258", + "src/tachyon/tabs/dashboard/initController.ts:825", + "src/tachyon/tabs/dashboard/initController.ts:829", + "src/tachyon/tabs/dashboard/initController.ts:905", + "src/tachyon/tabs/dashboard/initController.ts:1337" ] }, { "call": "No active clients", "key": "No active clients", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3032", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2845", "src/tachyon/tabs/dashboard/partials/renderConnections.ts:63" ] }, @@ -7104,7 +7515,7 @@ "call": "No active connections", "key": "No active connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18391", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17632", "src/tachyon/tabs/monitoring/initController.ts:1026" ] }, @@ -7112,7 +7523,7 @@ "call": "No active DHCP clients found on local network.", "key": "No active DHCP clients found on local network.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16330", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15691", "src/tachyon/tabs/diagnostic/initController.ts:1255" ] }, @@ -7123,27 +7534,35 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:856" ] }, + { + "call": "No benchmark data yet. Click \"Start Benchmark\" to begin.", + "key": "No benchmark data yet. Click \"Start Benchmark\" to begin.", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14007", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:109" + ] + }, { "call": "No benchmark history yet. Run a benchmark to see results here.", "key": "No benchmark history yet. Run a benchmark to see results here.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14098", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1151" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13298", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1162" ] }, { "call": "No benchmark results yet. Configure options and click \"Start Benchmark\".", "key": "No benchmark results yet. Configure options and click \"Start Benchmark\".", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13513", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:514" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12742", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:525" ] }, { "call": "No check targets found in the configuration.", "key": "No check targets found in the configuration.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12250", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11549", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:239" ] }, @@ -7151,7 +7570,7 @@ "call": "No closed connections", "key": "No closed connections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18392", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17632", "src/tachyon/tabs/monitoring/initController.ts:1027" ] }, @@ -7159,7 +7578,7 @@ "call": "No conflict detected", "key": "No conflict detected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10439", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9934", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:32" ] }, @@ -7167,15 +7586,15 @@ "call": "No Custom Rules Matched", "key": "No Custom Rules Matched", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10806" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11121" ] }, { "call": "No custom strategies added yet.", "key": "No custom strategies added yet.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13907", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:945" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13121", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:956" ] }, { @@ -7197,7 +7616,7 @@ "call": "No DHCP clients detected", "key": "No DHCP clients detected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16016", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15474", "src/tachyon/tabs/diagnostic/initController.ts:943" ] }, @@ -7205,7 +7624,7 @@ "call": "No diagnostic history available yet.", "key": "No diagnostic history available yet.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16455", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15807", "src/tachyon/tabs/diagnostic/initController.ts:1382" ] }, @@ -7213,14 +7632,14 @@ "call": "No domains detected yet", "key": "No domains detected yet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2838" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2862" ] }, { "call": "No enabled server inbounds configured", "key": "No enabled server inbounds configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10568", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10054", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:187" ] }, @@ -7228,14 +7647,14 @@ "call": "No file selected", "key": "No file selected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7681" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7687" ] }, { "call": "No issues detected. System is running normally.", "key": "No issues detected. System is running normally.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16307", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15668", "src/tachyon/tabs/diagnostic/initController.ts:1230" ] }, @@ -7243,7 +7662,7 @@ "call": "No issues found", "key": "No issues found", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15866", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349", "src/tachyon/tabs/diagnostic/initController.ts:760" ] }, @@ -7251,7 +7670,7 @@ "call": "No other marking rules found", "key": "No other marking rules found", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10690", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10159", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:105" ] }, @@ -7259,7 +7678,7 @@ "call": "No public firewall port required", "key": "No public firewall port required", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10492", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9987", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:99" ] }, @@ -7267,7 +7686,7 @@ "call": "No rules use ByeDPI", "key": "No rules use ByeDPI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11119", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10474", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:79" ] }, @@ -7275,7 +7694,7 @@ "call": "No rules use Zapret", "key": "No rules use Zapret", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10876", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10299", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:79" ] }, @@ -7283,7 +7702,7 @@ "call": "No rules use Zapret2", "key": "No rules use Zapret2", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10995", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:82" ] }, @@ -7306,39 +7725,57 @@ "call": "No strategies match the active filter.", "key": "No strategies match the active filter.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14205", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1264" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13395", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1275" + ] + }, + { + "call": "No versions found", + "key": "No versions found", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20407", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20410", + "src/tachyon/tabs/updates/initController.ts:1403", + "src/tachyon/tabs/updates/initController.ts:1406" + ] + }, + { + "call": "No working strategy to apply", + "key": "No working strategy to apply", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13834", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1787" ] }, { "call": "Node list is empty", "key": "Node list is empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8591", - "src/tachyon/tabs/dashboard/initController.ts:1211" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8160", + "src/tachyon/tabs/dashboard/initController.ts:1214" ] }, { "call": "Nodes", "key": "Nodes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8392", - "src/tachyon/tabs/dashboard/initController.ts:1010" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7999", + "src/tachyon/tabs/dashboard/initController.ts:1013" ] }, { "call": "None", "key": "None", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16007", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15471", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:871", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:884", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:897", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:928", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:449", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2783", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3075", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3084", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2801", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3093", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3102", "src/tachyon/tabs/diagnostic/initController.ts:934" ] }, @@ -7346,11 +7783,11 @@ "call": "Not configured", "key": "Not configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2617", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5872", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10448", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14875", - "src/tachyon/methods/custom/getDashboardSections.ts:1654", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9943", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14440", + "src/tachyon/methods/custom/getDashboardSections.ts:1666", "src/tachyon/tabs/dashboard/partials/renderSections.ts:623", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:46", "src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:152" @@ -7360,8 +7797,8 @@ "call": "Not connected", "key": "Not connected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2336", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2816", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649", "src/tachyon/tabs/dashboard/partials/renderSections.ts:335", "src/tachyon/tabs/dashboard/partials/renderSections.ts:829" ] @@ -7370,8 +7807,8 @@ "call": "Not detected", "key": "Not detected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10578", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9964", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10064", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:70", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:199" ] @@ -7380,7 +7817,7 @@ "call": "Not implement yet", "key": "Not implement yet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12044", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11349", "src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:193" ] }, @@ -7388,31 +7825,31 @@ "call": "Not installed", "key": "Not installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6670", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6676", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14621", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14626", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14631", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21177", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21191", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21205", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21219", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6339", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6344", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20339", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20350", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20361", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20371", "src/tachyon/helpers/singBoxVariant.ts:34", "src/tachyon/helpers/singBoxVariant.ts:42", - "src/tachyon/tabs/updates/initController.ts:1289", - "src/tachyon/tabs/updates/initController.ts:1303", - "src/tachyon/tabs/updates/initController.ts:1317", + "src/tachyon/tabs/updates/initController.ts:1316", "src/tachyon/tabs/updates/initController.ts:1331", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1733", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1738", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1743" + "src/tachyon/tabs/updates/initController.ts:1346", + "src/tachyon/tabs/updates/initController.ts:1360", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1804", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1809", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1814" ] }, { "call": "Not public", "key": "Not public", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10462", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9957", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:62" ] }, @@ -7420,7 +7857,7 @@ "call": "Not required for this listen address", "key": "Not required for this listen address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10528", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10015", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:139" ] }, @@ -7428,12 +7865,12 @@ "call": "Not responding", "key": "Not responding", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2333", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2813", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14823", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14845", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14850", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14898", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14391", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14410", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14415", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14463", "src/tachyon/tabs/dashboard/partials/renderSections.ts:332", "src/tachyon/tabs/dashboard/partials/renderSections.ts:826", "src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:91", @@ -7446,11 +7883,11 @@ "call": "Not running", "key": "Not running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6226", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15353", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15531", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15578", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15651", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5910", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14871", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15041", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15087", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15149", "src/tachyon/tabs/diagnostic/diagnostic.store.ts:152", "src/tachyon/tabs/diagnostic/initController.ts:127", "src/tachyon/tabs/diagnostic/initController.ts:358", @@ -7462,7 +7899,7 @@ "call": "Not set", "key": "Not set", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10878" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11193" ] }, { @@ -7476,105 +7913,105 @@ "call": "Notify on Certificate Warnings", "key": "Notify on Certificate Warnings", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3125" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3149" ] }, { "call": "Notify on Core Crashes", "key": "Notify on Core Crashes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3073" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3097" ] }, { "call": "Notify on DNS Leaks", "key": "Notify on DNS Leaks", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3138" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3162" ] }, { "call": "Notify on Server Switches", "key": "Notify on Server Switches", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3099" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3123" ] }, { "call": "Notify on Service Restarts", "key": "Notify on Service Restarts", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3086" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3110" ] }, { "call": "Notify on Subscription Updates", "key": "Notify on Subscription Updates", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3112" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3136" ] }, { "call": "Number of consecutive failed checks required before switching DNS servers.", "key": "Number of consecutive failed checks required before switching DNS servers.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1516" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1540" ] }, { "call": "Number of consecutive failed probes before switching sections", "key": "Number of consecutive failed probes before switching sections", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2219" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2243" ] }, { "call": "Number of consecutive failures before restarting (default 3).", "key": "Number of consecutive failures before restarting (default 3).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2595" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2619" ] }, { "call": "Number of consecutive successful checks required before returning to a higher-priority DNS server.", "key": "Number of consecutive successful checks required before returning to a higher-priority DNS server.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1536" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1560" ] }, { "call": "Number of junk packets before handshake (1-10)", "key": "Number of junk packets before handshake (1-10)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3453" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3506" ] }, { "call": "Obfuscation", "key": "Obfuscation", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3083" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3101" ] }, { "call": "Obfuscation password", "key": "Obfuscation password", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3106" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3124" ] }, { "call": "Ollama (Local PC / Server)", "key": "Ollama (Local PC / Server)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2479" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2503" ] }, { "call": "One record per line: example.com 192.168.1.100 or 192.168.1.100 example.com. Lines starting with # are ignored.", "key": "One record per line: example.com 192.168.1.100 or 192.168.1.100 example.com. Lines starting with # are ignored.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7983" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7989" ] }, { @@ -7639,18 +8076,18 @@ "call": "OOB Values (-o)", "key": "OOB Values (-o)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13730", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:754" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12952", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:765" ] }, { "call": "Open", "key": "Open", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21278", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21315", - "src/tachyon/tabs/updates/initController.ts:1397", - "src/tachyon/tabs/updates/initController.ts:1436" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20551", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20588", + "src/tachyon/tabs/updates/initController.ts:1567", + "src/tachyon/tabs/updates/initController.ts:1606" ] }, { @@ -7664,7 +8101,7 @@ "call": "Open Project Page", "key": "Open Project Page", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14738", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14313", "src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:31" ] }, @@ -7672,69 +8109,69 @@ "call": "Operation completed successfully!", "key": "Operation completed successfully!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19984", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:324" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:329" ] }, { "call": "Operation failed", "key": "Operation failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20115", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:483" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19355", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:471" ] }, { "call": "Operation in progress...", "key": "Operation in progress...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19804", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19859", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:110", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:172" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19070", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19125", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:115", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:177" ] }, { "call": "Operation log", "key": "Operation log", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19845", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:157" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19111", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:162" ] }, { "call": "Operation log is not available", "key": "Operation log is not available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3964", - "src/tachyon/methods/shell/index.ts:663" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3766", + "src/tachyon/methods/shell/index.ts:696" ] }, { "call": "Operation started. Waiting for log output...", "key": "Operation started. Waiting for log output...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19841", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:152" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19107", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:157" ] }, { "call": "Operation timed out", "key": "Operation timed out", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1161", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3820", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3892", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1066", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3628", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3696", "src/helpers/withTimeout.ts:7", - "src/tachyon/methods/shell/index.ts:489", - "src/tachyon/methods/shell/index.ts:577" + "src/tachyon/methods/shell/index.ts:517", + "src/tachyon/methods/shell/index.ts:605" ] }, { "call": "Optimize AWG MTU", "key": "Optimize AWG MTU", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16173", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15563", "src/tachyon/tabs/diagnostic/initController.ts:1100" ] }, @@ -7742,7 +8179,7 @@ "call": "Optimize RAM memory", "key": "Optimize RAM memory", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16165", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15555", "src/tachyon/tabs/diagnostic/initController.ts:1092" ] }, @@ -7758,22 +8195,22 @@ "call": "Optional — leave empty for default", "key": "Optional — leave empty for default", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9115" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9391" ] }, { "call": "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")...", "key": "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13974", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1018" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13185", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1029" ] }, { "call": "Optional tls-auth or tls-crypt key", "key": "Optional tls-auth or tls-crypt key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9260" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9536" ] }, { @@ -7801,22 +8238,22 @@ "call": "Or paste hosts file content:", "key": "Or paste hosts file content:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7922" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7928" ] }, { "call": "Other peers", "key": "Other peers", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9247", - "src/tachyon/tabs/dashboard/initController.ts:1985" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8792", + "src/tachyon/tabs/dashboard/initController.ts:2028" ] }, { "call": "outbounds must be a non-empty array of strings", "key": "outbounds must be a non-empty array of strings", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:356", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:318", "src/validators/validateOutboundJson.ts:111" ] }, @@ -7824,7 +8261,7 @@ "call": "Output Network Interface", "key": "Output Network Interface", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1670" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1694" ] }, { @@ -7838,35 +8275,35 @@ "call": "Overwrite existing records (if unchecked, merge with existing records)", "key": "Overwrite existing records (if unchecked, merge with existing records)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7951" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7957" ] }, { "call": "P2P Client Ports", "key": "P2P Client Ports", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1831" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1855" ] }, { "call": "P2P Leak Protection", "key": "P2P Leak Protection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1821" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1845" ] }, { "call": "Padding", "key": "Padding", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3165" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3183" ] }, { "call": "Parallel (fast failover, ≤3 s)", "key": "Parallel (fast failover, ≤3 s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1358" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1375" ] }, { @@ -7882,38 +8319,38 @@ "call": "Parsed records:", "key": "Parsed records:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7810" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7816" ] }, { "call": "Password", "key": "Password", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8937", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9071", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3046" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9213", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9347", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3064" ] }, { "call": "Password cannot be empty", "key": "Password cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9704" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9980" ] }, { "call": "Paste content or upload a file to preview imported DNS records.", "key": "Paste content or upload a file to preview imported DNS records.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7716", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7744" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7722", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7750" ] }, { "call": "Path cannot be empty", "key": "Path cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:205", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:182", "src/validators/validatePath.ts:7" ] }, @@ -7921,28 +8358,28 @@ "call": "Path must be absolute (start with /)", "key": "Path must be absolute (start with /)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2263" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2287" ] }, { "call": "Path must contain at least one directory (like /tmp/cache.db)", "key": "Path must contain at least one directory (like /tmp/cache.db)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2272" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2296" ] }, { "call": "Path must end with cache.db", "key": "Path must end with cache.db", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2267" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2291" ] }, { "call": "Pattern Builder", "key": "Pattern Builder", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13128", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12371", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:93" ] }, @@ -7950,41 +8387,41 @@ "call": "Patterns reset to defaults!", "key": "Patterns reset to defaults!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13783", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:808" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13003", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:819" ] }, { "call": "Patterns reset to factory defaults", "key": "Patterns reset to factory defaults", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4513", - "src/tachyon/methods/shell/index.ts:1352" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4326", + "src/tachyon/methods/shell/index.ts:1448" ] }, { "call": "Patterns saved successfully", "key": "Patterns saved successfully", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4488", - "src/tachyon/methods/shell/index.ts:1314" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4302", + "src/tachyon/methods/shell/index.ts:1410" ] }, { "call": "Patterns saved successfully!", "key": "Patterns saved successfully!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13769", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:794" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12989", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:805" ] }, { "call": "Pause updates", "key": "Pause updates", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17579", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17580", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18152", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16861", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16862", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17405", "src/tachyon/tabs/monitoring/initController.ts:746", "src/tachyon/tabs/monitoring/render.ts:80", "src/tachyon/tabs/monitoring/render.ts:81" @@ -7994,56 +8431,56 @@ "call": "Payload (I3)", "key": "Payload (I3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3530" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3583" ] }, { "call": "Payload (I4)", "key": "Payload (I4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3536" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3589" ] }, { "call": "Payload (I5)", "key": "Payload (I5)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3542" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3595" ] }, { "call": "Peer Public Key", "key": "Peer Public Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8770" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8984" ] }, { "call": "PEM-encoded CA certificate", "key": "PEM-encoded CA certificate", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9224" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9500" ] }, { "call": "PEM-encoded client certificate", "key": "PEM-encoded client certificate", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9236" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9512" ] }, { "call": "PEM-encoded client private key", "key": "PEM-encoded client private key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9248" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9524" ] }, { "call": "Pending", "key": "Pending", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6146", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5830", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:971", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:984", "src/tachyon/tabs/diagnostic/diagnostic.store.ts:63" @@ -8053,7 +8490,7 @@ "call": "Pending...", "key": "Pending...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12123", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11429", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:98" ] }, @@ -8068,22 +8505,22 @@ "call": "Periodically checks if the proxy is responding. Restarts Tachyon after consecutive failures.", "key": "Periodically checks if the proxy is responding. Restarts Tachyon after consecutive failures.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2571" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2595" ] }, { "call": "Persistent Keepalive", "key": "Persistent Keepalive", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8821", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3402" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9035", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3420" ] }, { "call": "Persistent Smart Detect", "key": "Persistent Smart Detect", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2722" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2746" ] }, { @@ -8112,50 +8549,50 @@ "call": "Pin P2P isolation to the torrent client's own ports, comma separated. Each entry is \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp). Without a port the whole protocol is routed direct.", "key": "Pin P2P isolation to the torrent client's own ports, comma separated. Each entry is \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp). Without a port the whole protocol is routed direct.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1832" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1856" ] }, { "call": "Plain-UDP DNS servers used as a last resort when all primary DNS fail. These are always unencrypted (no DoH/DoT). Example: 1.1.1.1, 8.8.8.8. Unlike the ISP fallback toggle, these are your own chosen servers.", "key": "Plain-UDP DNS servers used as a last resort when all primary DNS fail. These are always unencrypted (no DoH/DoT). Example: 1.1.1.1, 8.8.8.8. Unlike the ISP fallback toggle, these are your own chosen servers.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1402" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1419" ] }, { "call": "Please specify strategy name and arguments", "key": "Please specify strategy name and arguments", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13825", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:859" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13045", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:870" ] }, { "call": "Polling Interval (seconds)", "key": "Polling Interval (seconds)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3052" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3076" ] }, { "call": "Polling interval must be at least 1 second", "key": "Polling interval must be at least 1 second", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3065" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3089" ] }, { "call": "Port cannot be empty", "key": "Port cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9612" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9888" ] }, { "call": "Port conflict", "key": "Port conflict", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10428", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9923", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:19" ] }, @@ -8163,7 +8600,7 @@ "call": "Port for the local mixed proxy of this section", "key": "Port for the local mixed proxy of this section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9602" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9878" ] }, { @@ -8171,7 +8608,7 @@ "key": "Port must be between 1 and 65535", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5523", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1900" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1918" ] }, { @@ -8185,71 +8622,79 @@ "call": "Port range start must not exceed its end", "key": "Port range start must not exceed its end", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1866" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1890" ] }, { "call": "Ports", "key": "Ports", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10054", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10940" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10331", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11255" ] }, { "call": "Ports must be between 1 and 65535", "key": "Ports must be between 1 and 65535", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1862" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1886" ] }, { "call": "Pre-built index of Tachyon documentation chunks. When enabled, AI Doctor searches relevant docs before generating a diagnosis.", "key": "Pre-built index of Tachyon documentation chunks. When enabled, AI Doctor searches relevant docs before generating a diagnosis.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2543" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2567" ] }, { "call": "Pre-download all preset lists", "key": "Pre-download all preset lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1995" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2019" + ] + }, + { + "call": "pre-release", + "key": "pre-release", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20477", + "src/tachyon/tabs/updates/initController.ts:1484" ] }, { "call": "Pre-shared key", "key": "Pre-shared key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8996" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9272" ] }, { "call": "Pre-shared Key (PSK)", "key": "Pre-shared Key (PSK)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3443" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3461" ] }, { "call": "Prefer IPv4", "key": "Prefer IPv4", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1593" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1617" ] }, { "call": "Prefer IPv6", "key": "Prefer IPv6", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1595" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1619" ] }, { "call": "Preferred IP", "key": "Preferred IP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3208" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3226" ] }, { @@ -8263,40 +8708,48 @@ "call": "Preparing strategies and isolated nftables queue...", "key": "Preparing strategies and isolated nftables queue...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14481", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1572" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13704", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1637" ] }, { "call": "Preshared Key", "key": "Preshared Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8804" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9018" ] }, { "call": "Prevents multiple reload_firewall calls within 120 seconds to avoid connection drops.", "key": "Prevents multiple reload_firewall calls within 120 seconds to avoid connection drops.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2642" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2666" + ] + }, + { + "call": "Primary DNS", + "key": "Primary DNS", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14115", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:232" ] }, { "call": "Priority", "key": "Priority", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9471", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10790" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9747", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11105" ] }, { "call": "Priority details", "key": "Priority details", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2532", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2533", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8834", - "src/tachyon/tabs/dashboard/initController.ts:1494", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2420", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2421", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8382", + "src/tachyon/tabs/dashboard/initController.ts:1497", "src/tachyon/tabs/dashboard/partials/renderSections.ts:536", "src/tachyon/tabs/dashboard/partials/renderSections.ts:537" ] @@ -8305,8 +8758,8 @@ "call": "Priority details are unavailable", "key": "Priority details are unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8782", - "src/tachyon/tabs/dashboard/initController.ts:1431" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8332", + "src/tachyon/tabs/dashboard/initController.ts:1434" ] }, { @@ -8337,7 +8790,7 @@ "call": "Private Key", "key": "Private Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8759" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8973" ] }, { @@ -8386,25 +8839,43 @@ "call": "Protocol", "key": "Protocol", "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13949", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2091", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9188", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2643", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2677" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9464", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2661", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2695", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:44" + ] + }, + { + "call": "Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)", + "key": "Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9048", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3471" + ] + }, + { + "call": "Provider", + "key": "Provider", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13948", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:43" ] }, { "call": "Provider Global Default", "key": "Provider Global Default", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13295", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:276" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12535", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:287" ] }, { "call": "Proxy", "key": "Proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12066", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11375", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:29" ] }, @@ -8412,7 +8883,7 @@ "call": "Proxy / DPI", "key": "Proxy / DPI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16412", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15767", "src/tachyon/tabs/diagnostic/initController.ts:1338" ] }, @@ -8420,58 +8891,58 @@ "call": "Proxy Fail Threshold", "key": "Proxy Fail Threshold", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2594" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2618" ] }, { "call": "Proxy Health Check Interval (s)", "key": "Proxy Health Check Interval (s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2583" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2607" ] }, { "call": "Proxy Health Check URL", "key": "Proxy Health Check URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2605" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2629" ] }, { "call": "Proxy link is unavailable", "key": "Proxy link is unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8228", - "src/tachyon/tabs/dashboard/initController.ts:817" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7851", + "src/tachyon/tabs/dashboard/initController.ts:820" ] }, { "call": "Proxy Section for Bot", "key": "Proxy Section for Bot", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3149" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3173" ] }, { "call": "Proxy to use for WARP API registration (api.cloudflareclient.com)", "key": "Proxy to use for WARP API registration (api.cloudflareclient.com)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8897" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9173" ] }, { "call": "PSK", "key": "PSK", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8995" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9271" ] }, { "call": "Public host", "key": "Public host", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10443", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2709", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9938", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2727", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:40" ] }, @@ -8479,94 +8950,110 @@ "call": "QR code is too large", "key": "QR code is too large", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1674" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1692" ] }, { "call": "QUIC (HTTP/3)", "key": "QUIC (HTTP/3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10079", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10098" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10356", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10375" ] }, { "call": "RAG Knowledge Base + Live ISP Probe Context", "key": "RAG Knowledge Base + Live ISP Probe Context", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14032", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1075" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13235", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1086" + ] + }, + { + "call": "Rating", + "key": "Rating", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13953", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:48" ] }, { "call": "RDP", "key": "RDP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10085", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10104" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10362", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10381" ] }, { "call": "Read error", "key": "Read error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8731" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8945" + ] + }, + { + "call": "Ready to benchmark DNS providers", + "key": "Ready to benchmark DNS providers", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13936", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:29" ] }, { "call": "Reality fake site", "key": "Reality fake site", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2871" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2889" ] }, { "call": "Reality fake site port", "key": "Reality fake site port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2882" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900" ] }, { "call": "Reality max time difference", "key": "Reality max time difference", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2925" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2943" ] }, { "call": "Reality private key", "key": "Reality private key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2893" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2911" ] }, { "call": "Reality public key", "key": "Reality public key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2918" ] }, { "call": "Reality short ID", "key": "Reality short ID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2906" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2924" ] }, { "call": "Reality short ID must contain 1-8 hex digits", "key": "Reality short ID must contain 1-8 hex digits", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2192" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2210" ] }, { "call": "Rebuild firewall rules", "key": "Rebuild firewall rules", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16152", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15542", "src/tachyon/tabs/diagnostic/initController.ts:1079" ] }, @@ -8574,23 +9061,39 @@ "call": "Rebuilt release", "key": "Rebuilt release", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21297", - "src/tachyon/tabs/updates/initController.ts:1417" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20570", + "src/tachyon/tabs/updates/initController.ts:1587" ] }, { "call": "Recommended", "key": "Recommended", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14452", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1541" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13674", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1603" + ] + }, + { + "call": "Recommended DNS Configuration", + "key": "Recommended DNS Configuration", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14087", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:202" + ] + }, + { + "call": "Recommended DNS settings applied successfully and service restarted!", + "key": "Recommended DNS settings applied successfully and service restarted!", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14230", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:363" ] }, { "call": "Recommended Quick Fixes:", "key": "Recommended Quick Fixes:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16238", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15612", "src/tachyon/tabs/diagnostic/initController.ts:1163" ] }, @@ -8598,14 +9101,14 @@ "call": "Reconnect Threshold", "key": "Reconnect Threshold", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2763" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2787" ] }, { "call": "Reconnect WAN", "key": "Reconnect WAN", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16158", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15548", "src/tachyon/tabs/diagnostic/initController.ts:1085" ] }, @@ -8613,21 +9116,21 @@ "call": "Records proxy/DNS latency and health status in hourly buckets for analysis.", "key": "Records proxy/DNS latency and health status in hourly buckets for analysis.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2656" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2680" ] }, { "call": "Records: %d", "key": "Records: %d", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8054" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8060" ] }, { "call": "Refill", "key": "Refill", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2159", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2118", "src/tachyon/tabs/dashboard/partials/renderSections.ts:138" ] }, @@ -8635,7 +9138,7 @@ "call": "Refresh", "key": "Refresh", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16354", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15714", "src/tachyon/tabs/diagnostic/initController.ts:1280" ] }, @@ -8643,7 +9146,7 @@ "call": "Refresh Device List", "key": "Refresh Device List", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16334", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15695", "src/tachyon/tabs/diagnostic/initController.ts:1259" ] }, @@ -8651,7 +9154,7 @@ "call": "Registration Detour", "key": "Registration Detour", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8896" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9172" ] }, { @@ -8665,23 +9168,47 @@ "call": "Reinstall", "key": "Reinstall", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21040", - "src/tachyon/tabs/updates/initController.ts:1148" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20213", + "src/tachyon/tabs/updates/initController.ts:1170" + ] + }, + { + "call": "Reject After Time", + "key": "Reject After Time", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9126", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3649" + ] + }, + { + "call": "Rekey After Time", + "key": "Rekey After Time", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9124", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3637" + ] + }, + { + "call": "Rekey Timeout", + "key": "Rekey Timeout", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9125", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3643" ] }, { "call": "Reload now", "key": "Reload now", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20005", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:349" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19263", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:354" ] }, { "call": "Reloading...", "key": "Reloading...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20037", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19290", "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:390" ] }, @@ -8689,7 +9216,7 @@ "call": "Remote Hosts Lists", "key": "Remote Hosts Lists", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8132" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8138" ] }, { @@ -8703,17 +9230,17 @@ "call": "Removal completed successfully!", "key": "Removal completed successfully!", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19983", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:323" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:328" ] }, { "call": "Remove", "key": "Remove", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20992", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8246", - "src/tachyon/tabs/updates/initController.ts:1095" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20174", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8260", + "src/tachyon/tabs/updates/initController.ts:1117" ] }, { @@ -8741,15 +9268,15 @@ "call": "Removing", "key": "Removing", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19808", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:114" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19074", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:119" ] }, { "call": "Require a username and password for the local mixed proxy", "key": "Require a username and password for the local mixed proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9628" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9904" ] }, { @@ -8763,7 +9290,7 @@ "call": "Reset Bootstrap DNS", "key": "Reset Bootstrap DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16172", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15562", "src/tachyon/tabs/diagnostic/initController.ts:1099" ] }, @@ -8773,7 +9300,7 @@ "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:415", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:456", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2405" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2429" ] }, { @@ -8787,14 +9314,14 @@ "call": "Resolve domain names before routing so sing-box can use real destination IPs.", "key": "Resolve domain names before routing so sing-box can use real destination IPs.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9715" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9991" ] }, { "call": "Resolve gateway", "key": "Resolve gateway", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16159", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15549", "src/tachyon/tabs/diagnostic/initController.ts:1086" ] }, @@ -8802,7 +9329,7 @@ "call": "Resolve real IP for routing", "key": "Resolve real IP for routing", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9714" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9990" ] }, { @@ -8837,42 +9364,42 @@ "call": "Response packet header (H2)", "key": "Response packet header (H2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3500" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3553" ] }, { "call": "Response packet junk size (S2)", "key": "Response packet junk size (S2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3476" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3529" ] }, { "call": "Response Packet Magic Header (S2)", "key": "Response Packet Magic Header (S2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8842" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9083" ] }, { "call": "Response Packet Magic Header (S4)", "key": "Response Packet Magic Header (S4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8844" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9085" ] }, { "call": "Response payload (I2)", "key": "Response payload (I2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3524" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3577" ] }, { "call": "Restart dnsmasq", "key": "Restart dnsmasq", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16153", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15543", "src/tachyon/tabs/diagnostic/initController.ts:1080" ] }, @@ -8880,7 +9407,7 @@ "call": "Restart firewall", "key": "Restart firewall", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16162", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15552", "src/tachyon/tabs/diagnostic/initController.ts:1089" ] }, @@ -8888,7 +9415,7 @@ "call": "Restart network", "key": "Restart network", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16163", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15553", "src/tachyon/tabs/diagnostic/initController.ts:1090" ] }, @@ -8896,7 +9423,7 @@ "call": "Restart sing-box DNS", "key": "Restart sing-box DNS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16156", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15546", "src/tachyon/tabs/diagnostic/initController.ts:1083" ] }, @@ -8904,7 +9431,7 @@ "call": "Restart Tachyon", "key": "Restart Tachyon", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11745", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11050", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:64" ] }, @@ -8912,7 +9439,7 @@ "call": "Restart Zapret/ByeDPI", "key": "Restart Zapret/ByeDPI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16164", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15554", "src/tachyon/tabs/diagnostic/initController.ts:1091" ] }, @@ -8920,7 +9447,7 @@ "call": "Restarts", "key": "Restarts", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2681", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2539", "src/tachyon/tabs/dashboard/partials/renderSections.ts:688" ] }, @@ -8936,7 +9463,7 @@ "call": "Restore config backup", "key": "Restore config backup", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16157", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15547", "src/tachyon/tabs/diagnostic/initController.ts:1084" ] }, @@ -8944,9 +9471,9 @@ "call": "Restore Native Internet", "key": "Restore Native Internet", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11823", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16669", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16693", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11128", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15992", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16015", "src/tachyon/tabs/diagnostic/initController.ts:1603", "src/tachyon/tabs/diagnostic/initController.ts:1627", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:142" @@ -8956,8 +9483,8 @@ "call": "Restore Native Internet (Stop Tachyon)", "key": "Restore Native Internet (Stop Tachyon)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16169", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16588", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15559", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15921", "src/tachyon/tabs/diagnostic/initController.ts:1096", "src/tachyon/tabs/diagnostic/initController.ts:1516" ] @@ -8973,15 +9500,15 @@ "call": "Restores the Tachyon factory defaults: all rules, subscriptions, custom DNS servers and other options will be lost.", "key": "Restores the Tachyon factory defaults: all rules, subscriptions, custom DNS servers and other options will be lost.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2406" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2430" ] }, { "call": "Restoring native direct internet (stopping Tachyon)...", "key": "Restoring native direct internet (stopping Tachyon)...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16591", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16697", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15924", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16019", "src/tachyon/tabs/diagnostic/initController.ts:1519", "src/tachyon/tabs/diagnostic/initController.ts:1631" ] @@ -8990,21 +9517,21 @@ "call": "Restrict LAN access for specific users", "key": "Restrict LAN access for specific users", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2745" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2763" ] }, { "call": "Restricted users (auth_user)", "key": "Restricted users (auth_user)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2756" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2774" ] }, { "call": "Resume updates", "key": "Resume updates", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18152", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17405", "src/tachyon/tabs/monitoring/initController.ts:746" ] }, @@ -9019,19 +9546,19 @@ "call": "Rollback", "key": "Rollback", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20971", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20971", - "src/tachyon/tabs/updates/initController.ts:1065", - "src/tachyon/tabs/updates/initController.ts:1065" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20153", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20153", + "src/tachyon/tabs/updates/initController.ts:1087", + "src/tachyon/tabs/updates/initController.ts:1087" ] }, { "call": "Route", "key": "Route", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12440", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18264", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18319", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11725", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17514", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17565", "src/tachyon/tabs/monitoring/initController.ts:880", "src/tachyon/tabs/monitoring/initController.ts:943", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:444" @@ -9041,35 +9568,35 @@ "call": "Route all non-local LAN traffic through the tailnet exit node instead of the proxy engines.", "key": "Route all non-local LAN traffic through the tailnet exit node instead of the proxy engines.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3350" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3368" ] }, { "call": "Route bot API requests through this section. Leave empty to use the default mixed proxy.", "key": "Route bot API requests through this section. Leave empty to use the default mixed proxy.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3150" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3174" ] }, { "call": "Route main DNS requests through the selected section.", "key": "Route main DNS requests through the selected section.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1605" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1629" ] }, { "call": "Route requests to this DNS server through another section.", "key": "Route requests to this DNS server through another section.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7418" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7424" ] }, { "call": "Route via Proxy", "key": "Route via Proxy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16419", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15773", "src/tachyon/tabs/diagnostic/initController.ts:1345" ] }, @@ -9077,23 +9604,23 @@ "call": "Routing mode", "key": "Routing mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2721" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2739" ] }, { "call": "Routing Rule Tracer", "key": "Routing Rule Tracer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10652" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10967" ] }, { "call": "Routing rules", "key": "Routing rules", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10496", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10505", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10533", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9991", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10000", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10019", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:103", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:114", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:144" @@ -9103,7 +9630,7 @@ "call": "Routing section", "key": "Routing section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2730" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2748" ] }, { @@ -9117,7 +9644,7 @@ "call": "Rule", "key": "Rule", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10743" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11058" ] }, { @@ -9131,7 +9658,7 @@ "call": "Rule set must be an HTTP(S) URL or a local .srs / .json path", "key": "Rule set must be an HTTP(S) URL or a local .srs / .json path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7212" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7218" ] }, { @@ -9145,30 +9672,30 @@ "call": "Rule sets", "key": "Rule sets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9924", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9953" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10201", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10230" ] }, { "call": "Rule Sets (.srs / .json)", "key": "Rule Sets (.srs / .json)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10934" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11249" ] }, { "call": "Rule:", "key": "Rule:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13296", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:277" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12536", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:288" ] }, { "call": "Rules", "key": "Rules", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2722", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2740", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:104", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:111" ] @@ -9177,7 +9704,7 @@ "call": "Rules mangle counters", "key": "Rules mangle counters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10664", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10134", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:79" ] }, @@ -9185,7 +9712,7 @@ "call": "Rules mangle exist", "key": "Rules mangle exist", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10659", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10129", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:74" ] }, @@ -9193,7 +9720,7 @@ "call": "Rules mangle output counters", "key": "Rules mangle output counters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10674", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10144", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:89" ] }, @@ -9201,7 +9728,7 @@ "call": "Rules mangle output exist", "key": "Rules mangle output exist", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10669", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10139", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:84" ] }, @@ -9209,7 +9736,7 @@ "call": "Rules proxy counters", "key": "Rules proxy counters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10684", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10154", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:99" ] }, @@ -9217,7 +9744,7 @@ "call": "Rules proxy exist", "key": "Rules proxy exist", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10679", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10149", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:94" ] }, @@ -9225,7 +9752,7 @@ "call": "Run AI Doctor", "key": "Run AI Doctor", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11813", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11118", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:132" ] }, @@ -9233,7 +9760,7 @@ "call": "Run Diagnostic", "key": "Run Diagnostic", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12051", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11360", "src/tachyon/tabs/diagnostic/partials/renderRunAction.ts:17" ] }, @@ -9241,7 +9768,7 @@ "call": "Run doctor repair", "key": "Run doctor repair", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11803", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11108", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:122" ] }, @@ -9249,13 +9776,13 @@ "call": "Running", "key": "Running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2612", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5867", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14858", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14423", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:326", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2911", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2912", - "src/tachyon/methods/custom/getDashboardSections.ts:1649", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2935", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2936", + "src/tachyon/methods/custom/getDashboardSections.ts:1661", "src/tachyon/tabs/dashboard/partials/renderSections.ts:618", "src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:135" ] @@ -9264,22 +9791,22 @@ "call": "Running benchmarks...", "key": "Running benchmarks...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14204", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1263" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13395", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1274" ] }, { "call": "Running diagnostics…", "key": "Running diagnostics…", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3218" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3242" ] }, { "call": "Russia (ru)", "key": "Russia (ru)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9773" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10049" ] }, { @@ -9315,14 +9842,14 @@ "call": "Save a snapshot of the working config and restore it later if something breaks.", "key": "Save a snapshot of the working config and restore it later if something breaks.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2420" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2444" ] }, { "call": "Save component backup before update", "key": "Save component backup before update", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2123" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2147" ] }, { @@ -9351,24 +9878,24 @@ "call": "Scheduled auto-update time", "key": "Scheduled auto-update time", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2080" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2104" ] }, { "call": "Score", "key": "Score", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13494", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14116", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:495", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1169" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12723", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13316", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:506", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1180" ] }, { "call": "Search", "key": "Search", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17556", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16838", "src/tachyon/tabs/monitoring/render.ts:57" ] }, @@ -9376,7 +9903,7 @@ "call": "Search domain or service...", "key": "Search domain or service...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12396", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11684", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:397" ] }, @@ -9384,36 +9911,36 @@ "call": "Search Mode", "key": "Search Mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13286", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:265" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12526", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:276" ] }, { "call": "Secret", "key": "Secret", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3122" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3140" ] }, { "call": "Secret key for authenticating remote access to YACD when WAN access is enabled.", "key": "Secret key for authenticating remote access to YACD when WAN access is enabled.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1798" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1822" ] }, { "call": "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required.", "key": "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2447" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2471" ] }, { "call": "Section", "key": "Section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2349", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2373", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:515" ] }, @@ -9421,28 +9948,28 @@ "call": "Section action", "key": "Section action", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10920" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11235" ] }, { "call": "Section name", "key": "Section name", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7316" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7322" ] }, { "call": "Section Rules Content", "key": "Section Rules Content", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10946" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11261" ] }, { "call": "Section used for Cloudflare WARP API registration. If your ISP blocks Cloudflare API on WAN, select a proxy section (with Mixed proxy enabled) or a tunnel interface section (WireGuard / AmneziaWG / VPN). Leave empty to use direct WAN / default mixed proxy.", "key": "Section used for Cloudflare WARP API registration. If your ISP blocks Cloudflare API on WAN, select a proxy section (with Mixed proxy enabled) or a tunnel interface section (WireGuard / AmneziaWG / VPN). Leave empty to use direct WAN / default mixed proxy.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2326" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2350" ] }, { @@ -9459,15 +9986,15 @@ "key": "Security", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2103", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2780" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2798" ] }, { "call": "Select", "key": "Select", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8565", - "src/tachyon/tabs/dashboard/initController.ts:1185" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8140", + "src/tachyon/tabs/dashboard/initController.ts:1188" ] }, { @@ -9481,28 +10008,28 @@ "call": "Select a file with .conf extension", "key": "Select a file with .conf extension", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8656" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8769" ] }, { "call": "Select a network interface", "key": "Select a network interface", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9350" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9626" ] }, { "call": "Select a predefined domain list", "key": "Select a predefined domain list", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9872" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10148" ] }, { "call": "Select a section", "key": "Select a section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7439", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7445", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:88" ] }, @@ -9517,7 +10044,7 @@ "call": "Select a transit section", "key": "Select a transit section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9549" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9825" ] }, { @@ -9531,7 +10058,7 @@ "call": "Select AI LLM provider for diagnostics", "key": "Select AI LLM provider for diagnostics", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2472" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2496" ] }, { @@ -9552,21 +10079,21 @@ "call": "Select an intermediate section", "key": "Select an intermediate section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9562" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9838" ] }, { "call": "Select and order the sections through which blocked domains are tested. Checked sections are tried top-to-bottom.", "key": "Select and order the sections through which blocked domains are tested. Checked sections are tried top-to-bottom.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2791" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2815" ] }, { "call": "Select DNS protocol to use", "key": "Select DNS protocol to use", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1337" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1354" ] }, { @@ -9580,14 +10107,14 @@ "call": "Select network interface for VPN connection", "key": "Select network interface for VPN connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9345" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9621" ] }, { "call": "Select one or more country ISO codes (e.g. ru, us, de, nl, fr, fi, se, tr, cn, jp, sg, by, kz, ua).", "key": "Select one or more country ISO codes (e.g. ru, us, de, nl, fr, fi, se, tr, cn, jp, sg, by, kz, ua).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9769" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10045" ] }, { @@ -9601,21 +10128,21 @@ "call": "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing", "key": "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2246" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2270" ] }, { "call": "Select or enter the IP addresses of your game consoles.", "key": "Select or enter the IP addresses of your game consoles.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1890" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1914" ] }, { "call": "Select path for sing-box config file. Change this ONLY if you know what you are doing", "key": "Select path for sing-box config file. Change this ONLY if you know what you are doing", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2232" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2256" ] }, { @@ -9629,37 +10156,37 @@ "call": "Select the fastest node", "key": "Select the fastest node", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8800", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8350", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3204", - "src/tachyon/tabs/dashboard/initController.ts:1454" + "src/tachyon/tabs/dashboard/initController.ts:1457" ] }, { "call": "Select the log level for sing-box", "key": "Select the log level for sing-box", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2283" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2307" ] }, { "call": "Select the network interface from which the traffic will originate", "key": "Select the network interface from which the traffic will originate", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1623" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647" ] }, { "call": "Select the network interface to which the traffic will originate", "key": "Select the network interface to which the traffic will originate", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1671" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1695" ] }, { "call": "Select the WAN interfaces to be monitored", "key": "Select the WAN interfaces to be monitored", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1734" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758" ] }, { @@ -9673,7 +10200,7 @@ "call": "Select which components are permitted to update automatically", "key": "Select which components are permitted to update automatically", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2105" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2129" ] }, { @@ -9687,24 +10214,24 @@ "call": "Selected", "key": "Selected", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8659", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8786", - "src/tachyon/tabs/dashboard/initController.ts:1289", - "src/tachyon/tabs/dashboard/initController.ts:1440" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8224", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8336", + "src/tachyon/tabs/dashboard/initController.ts:1292", + "src/tachyon/tabs/dashboard/initController.ts:1443" ] }, { "call": "Selected section", "key": "Selected section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2724" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2742" ] }, { "call": "Selector and URLTest outbounds must contain a non-empty outbounds array", "key": "Selector and URLTest outbounds must contain a non-empty outbounds array", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:333", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:298", "src/validators/validateOutboundJson.ts:85" ] }, @@ -9712,7 +10239,7 @@ "call": "Send", "key": "Send", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12895", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12154", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:67" ] }, @@ -9720,28 +10247,28 @@ "call": "Send a Telegram notification if a potential DNS leak is detected.", "key": "Send a Telegram notification if a potential DNS leak is detected.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3139" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3163" ] }, { "call": "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored.", "key": "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3074" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3098" ] }, { "call": "Send a Telegram notification if SSL/TLS certificates are close to expiration.", "key": "Send a Telegram notification if SSL/TLS certificates are close to expiration.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3126" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3150" ] }, { "call": "Send a Telegram notification if the Tachyon service is restarted by the watchdog.", "key": "Send a Telegram notification if the Tachyon service is restarted by the watchdog.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3087" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3111" ] }, { @@ -9755,14 +10282,14 @@ "call": "Send a Telegram notification when a URLTest group switches to a new server.", "key": "Send a Telegram notification when a URLTest group switches to a new server.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3100" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3124" ] }, { "call": "Send a Telegram notification when proxy subscriptions are successfully updated.", "key": "Send a Telegram notification when proxy subscriptions are successfully updated.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3113" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3137" ] }, { @@ -9776,22 +10303,22 @@ "call": "Sequence Overlaps (seqovl)", "key": "Sequence Overlaps (seqovl)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13654", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:676" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12878", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:687" ] }, { "call": "Sequential (one active at a time)", "key": "Sequential (one active at a time)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1357" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1374" ] }, { "call": "Sequential: failover to the next server after N failures. Parallel: aggressive failover — switches in seconds (1 failure = switch), best if your ISP blocks DoH/DoT.", "key": "Sequential: failover to the next server after N failures. Parallel: aggressive failover — switches in seconds (1 failure = switch), best if your ISP blocks DoH/DoT.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1353" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1370" ] }, { @@ -9805,13 +10332,13 @@ "call": "Server Address", "key": "Server Address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8781", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8915", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8973", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9025", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9085", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9165", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3363" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8995", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9191", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9249", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9301", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9361", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9441", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3381" ] }, { @@ -9826,50 +10353,50 @@ "call": "Server group for automatic lowest-latency selection", "key": "Server group for automatic lowest-latency selection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9413" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9689" ] }, { "call": "Server group for priority failover", "key": "Server group for priority failover", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9472" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9748" ] }, { "call": "Server information", "key": "Server information", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1795" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1813" ] }, { "call": "Server name", "key": "Server name", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1684", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2654" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1702", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2672" ] }, { "call": "Server name / SNI", "key": "Server name / SNI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2809" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2827" ] }, { "call": "Server Name Indication — leave empty to use server address", "key": "Server Name Indication — leave empty to use server address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8950" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9226" ] }, { "call": "Server outbound must contain a non-empty server field", "key": "Server outbound must contain a non-empty server field", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:341", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:306", "src/validators/validateOutboundJson.ts:94" ] }, @@ -9877,7 +10404,7 @@ "call": "Server outbound must contain a numeric server_port from 1 to 65535", "key": "Server outbound must contain a numeric server_port from 1 to 65535", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:346", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:311", "src/validators/validateOutboundJson.ts:100" ] }, @@ -9885,33 +10412,33 @@ "call": "Server Port", "key": "Server Port", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8792", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8926", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8984", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9036", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9096", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9176" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9006", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9202", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9260", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9312", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9372", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9452" ] }, { "call": "Server Private Key", "key": "Server Private Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3409" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3427" ] }, { "call": "Server Public Key", "key": "Server Public Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3418" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3436" ] }, { "call": "Server unavailable", "key": "Server unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12967", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12222", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:148" ] }, @@ -9919,14 +10446,14 @@ "call": "Server VPN IP address and subnet (e.g. 10.0.0.1/24)", "key": "Server VPN IP address and subnet (e.g. 10.0.0.1/24)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3364" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3382" ] }, { "call": "server_port must be a number from 1 to 65535", "key": "server_port must be a number from 1 to 65535", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:353", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:315", "src/validators/validateOutboundJson.ts:107" ] }, @@ -9950,7 +10477,7 @@ "call": "Service / Target", "key": "Service / Target", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12435", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11720", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:439" ] }, @@ -9958,19 +10485,19 @@ "call": "Service action failed", "key": "Service action failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3779", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3798", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15736", - "src/tachyon/tabs/diagnostic/initController.ts:609", - "src/tachyon/methods/shell/index.ts:440", - "src/tachyon/methods/shell/index.ts:461" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3587", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3606", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15233", + "src/tachyon/methods/shell/index.ts:468", + "src/tachyon/methods/shell/index.ts:489", + "src/tachyon/tabs/diagnostic/initController.ts:609" ] }, { "call": "Service availability check", "key": "Service availability check", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12205", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11506", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:186" ] }, @@ -9978,7 +10505,7 @@ "call": "Service list", "key": "Service list", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9875" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10152" ] }, { @@ -9992,32 +10519,24 @@ "call": "Services are online and ready! Reloading page...", "key": "Services are online and ready! Reloading page...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20034", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19287", "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:387" ] }, - { - "call": "Services are online, waiting for full initialization...", - "key": "Services are online, waiting for full initialization...", - "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20026", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:375" - ] - }, { "call": "Services info", "key": "Services info", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9158", - "src/tachyon/tabs/dashboard/initController.ts:1887" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8691", + "src/tachyon/tabs/dashboard/initController.ts:1894" ] }, { "call": "Services restarted. Click to reload page.", "key": "Services restarted. Click to reload page.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20056", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:418" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19303", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:406" ] }, { @@ -10025,7 +10544,7 @@ "key": "Settings", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1185", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7287", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7293", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1040", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1299", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:624" @@ -10105,8 +10624,8 @@ "call": "Show sing-box config", "key": "Show sing-box config", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11871", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16735", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11176", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16056", "src/tachyon/tabs/diagnostic/initController.ts:1677", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:190" ] @@ -10115,8 +10634,8 @@ "call": "Show sing-box config failed", "key": "Show sing-box config failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16746", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16753", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16067", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16074", "src/tachyon/tabs/diagnostic/initController.ts:1688", "src/tachyon/tabs/diagnostic/initController.ts:1695" ] @@ -10132,14 +10651,14 @@ "call": "sing-box", "key": "sing-box", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2111" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2135" ] }, { "call": "Sing-box autostart disabled", "key": "Sing-box autostart disabled", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9895", "src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:77" ] }, @@ -10147,14 +10666,14 @@ "call": "sing-box endpoint (userspace, default)", "key": "sing-box endpoint (userspace, default)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3323" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3341" ] }, { "call": "Sing-box FakeIP DNS does not work", "key": "Sing-box FakeIP DNS does not work", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10758", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10211", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:69" ] }, @@ -10162,7 +10681,7 @@ "call": "Sing-box FakeIP DNS works", "key": "Sing-box FakeIP DNS works", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10757", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10211", "src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:68" ] }, @@ -10170,7 +10689,7 @@ "call": "Sing-box installed", "key": "Sing-box installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9880", "src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:62" ] }, @@ -10178,7 +10697,7 @@ "call": "Sing-box listening ports", "key": "Sing-box listening ports", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10410", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9905", "src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:87" ] }, @@ -10186,7 +10705,7 @@ "call": "Sing-box process running", "key": "Sing-box process running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10405", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9900", "src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:82" ] }, @@ -10194,7 +10713,7 @@ "call": "Sing-box service exist", "key": "Sing-box service exist", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9890", "src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:72" ] }, @@ -10202,7 +10721,7 @@ "call": "Sing-box version is compatible (newer than 1.12.4)", "key": "Sing-box version is compatible (newer than 1.12.4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9885", "src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:67" ] }, @@ -10210,7 +10729,7 @@ "call": "Singapore (sg)", "key": "Singapore (sg)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9784" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10060" ] }, { @@ -10224,28 +10743,36 @@ "call": "Skip loopback & local entries (127.0.0.1, ::1, 0.0.0.0, localhost)", "key": "Skip loopback & local entries (127.0.0.1, ::1, 0.0.0.0, localhost)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7937" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7943" ] }, { "call": "Skip TLS certificate verification (not recommended)", "key": "Skip TLS certificate verification (not recommended)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8961" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9237" ] }, { "call": "Skipped comments/invalid:", "key": "Skipped comments/invalid:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7818" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7824" ] }, { "call": "Skipped loopback:", "key": "Skipped loopback:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7814" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7820" + ] + }, + { + "call": "SLOW", + "key": "SLOW", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13983", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:83" ] }, { @@ -10266,14 +10793,14 @@ "call": "SNAT LAN sources when leaving through tailscale0 so peers can answer. Required unless every peer accepts routes.", "key": "SNAT LAN sources when leaving through tailscale0 so peers can answer. Required unless every peer accepts routes.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3337" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3355" ] }, { "call": "Snell Version", "key": "Snell Version", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9008" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9284" ] }, { @@ -10287,30 +10814,30 @@ "call": "Sort Alphabetically", "key": "Sort Alphabetically", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8080" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8086" ] }, { "call": "Sort by latency", "key": "Sort by latency", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9574" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9850" ] }, { "call": "Sorts servers in this section by lowest latency in the dashboard.", "key": "Sorts servers in this section by lowest latency in the dashboard.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9575" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9851" ] }, { "call": "Source", "key": "Source", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18276", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18323", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10755", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17526", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17569", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11070", "src/tachyon/tabs/monitoring/initController.ts:892", "src/tachyon/tabs/monitoring/initController.ts:947" ] @@ -10319,14 +10846,14 @@ "call": "Source Devices", "key": "Source Devices", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10939" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11254" ] }, { "call": "Source Network Interface", "key": "Source Network Interface", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1622" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1646" ] }, { @@ -10340,70 +10867,70 @@ "call": "Specify a file path", "key": "Specify a file path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2027" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2045" ] }, { "call": "Specify different files", "key": "Specify different files", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2038", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2050" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2056", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2068" ] }, { "call": "Speed", "key": "Speed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13493", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:494" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12722", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:505" ] }, { "call": "Split Modes (dpi-desync)", "key": "Split Modes (dpi-desync)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13680", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:703" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12903", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:714" ] }, { "call": "Split Positions (dpi-desync-split-pos)", "key": "Split Positions (dpi-desync-split-pos)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13686", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:709" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12909", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:720" ] }, { "call": "Split Positions (pos)", "key": "Split Positions (pos)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13636", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:658" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12860", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:669" ] }, { "call": "Split Values (-s)", "key": "Split Values (-s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13718", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:742" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12940", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:753" ] }, { "call": "SSH", "key": "SSH", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10084", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10103" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10361", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10380" ] }, { "call": "Standalone ByeDPI autostart is enabled", "key": "Standalone ByeDPI autostart is enabled", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11162", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:122" ] }, @@ -10411,7 +10938,7 @@ "call": "Standalone ByeDPI is active together with Tachyon ByeDPI rules", "key": "Standalone ByeDPI is active together with Tachyon ByeDPI rules", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11159", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:119" ] }, @@ -10419,7 +10946,7 @@ "call": "Standalone ByeDPI service is active", "key": "Standalone ByeDPI service is active", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11160", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:120" ] }, @@ -10427,7 +10954,7 @@ "call": "Standalone ByeDPI service is inactive", "key": "Standalone ByeDPI service is inactive", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11163", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:123" ] }, @@ -10435,7 +10962,7 @@ "call": "Standalone Zapret is active together with Tachyon Zapret rules", "key": "Standalone Zapret is active together with Tachyon Zapret rules", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10908", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:111" ] }, @@ -10443,7 +10970,7 @@ "call": "Standalone Zapret service is active", "key": "Standalone Zapret service is active", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10909", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:112" ] }, @@ -10451,7 +10978,7 @@ "call": "Standalone Zapret service is inactive", "key": "Standalone Zapret service is inactive", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10910", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:113" ] }, @@ -10459,7 +10986,7 @@ "call": "Standalone Zapret2 autostart is enabled", "key": "Standalone Zapret2 autostart is enabled", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11036", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:123" ] }, @@ -10467,7 +10994,7 @@ "call": "Standalone Zapret2 is active together with Tachyon Zapret2 rules", "key": "Standalone Zapret2 is active together with Tachyon Zapret2 rules", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11031", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10405", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:118" ] }, @@ -10475,7 +11002,7 @@ "call": "Standalone Zapret2 service is active", "key": "Standalone Zapret2 service is active", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11034", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121" ] }, @@ -10483,7 +11010,7 @@ "call": "Standalone Zapret2 service is inactive", "key": "Standalone Zapret2 service is inactive", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11037", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:124" ] }, @@ -10502,18 +11029,26 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:310" ] }, + { + "call": "Start Benchmark", + "key": "Start Benchmark", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14151", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:273" + ] + }, { "call": "Start bot", "key": "Start bot", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2893" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2917" ] }, { "call": "Start sing-box", "key": "Start sing-box", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16151", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15541", "src/tachyon/tabs/diagnostic/initController.ts:1078" ] }, @@ -10521,7 +11056,7 @@ "call": "Start Tachyon", "key": "Start Tachyon", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11765", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11070", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:84" ] }, @@ -10536,32 +11071,40 @@ "call": "Start watchdog", "key": "Start watchdog", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16155", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15545", "src/tachyon/tabs/diagnostic/initController.ts:1082" ] }, + { + "call": "Starting DNS benchmark...", + "key": "Starting DNS benchmark...", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14202", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:331" + ] + }, { "call": "Starting…", "key": "Starting…", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:359", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2940" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2964" ] }, { "call": "State", "key": "State", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9226", - "src/tachyon/tabs/dashboard/initController.ts:1964" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8774", + "src/tachyon/tabs/dashboard/initController.ts:2007" ] }, { "call": "Status", "key": "Status", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2663", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12477", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2522", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11762", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:448", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:935", "src/tachyon/tabs/dashboard/partials/renderSections.ts:670", @@ -10572,8 +11115,8 @@ "call": "Status / Suite", "key": "Status / Suite", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13490", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:491" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12719", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:502" ] }, { @@ -10587,7 +11130,7 @@ "call": "Stop bot", "key": "Stop bot", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2900" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2924" ] }, { @@ -10601,7 +11144,7 @@ "call": "Stop Tachyon", "key": "Stop Tachyon", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11755", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11060", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:74" ] }, @@ -10609,12 +11152,12 @@ "call": "Stopped", "key": "Stopped", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2616", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5871", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14870", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14435", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:332", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2917", - "src/tachyon/methods/custom/getDashboardSections.ts:1653", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2941", + "src/tachyon/methods/custom/getDashboardSections.ts:1665", "src/tachyon/tabs/dashboard/partials/renderSections.ts:622", "src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:147" ] @@ -10624,46 +11167,46 @@ "key": "Stopping…", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:373", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2954" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2978" ] }, { "call": "Store auto-detected domains in /etc instead of /tmp to survive reboots.", "key": "Store auto-detected domains in /etc instead of /tmp to survive reboots.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2723" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2747" ] }, { "call": "Strategy & Parameters", "key": "Strategy & Parameters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13485", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:486" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12714", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:497" ] }, { "call": "Strategy benchmark started", "key": "Strategy benchmark started", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14527", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1625" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13751", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690" ] }, { "call": "Strategy deleted", "key": "Strategy deleted", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13955", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:993" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13166", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1004" ] }, { "call": "Strategy Name", "key": "Strategy Name", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13796", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:828" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13016", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:839" ] }, { @@ -10677,15 +11220,15 @@ "call": "Strict ECH + DoQ DNS Enforcer", "key": "Strict ECH + DoQ DNS Enforcer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2312" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2336" ] }, { "call": "STUN (P2P Calls)", "key": "STUN (P2P Calls)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10080", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10099" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10357", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10376" ] }, { @@ -10706,7 +11249,7 @@ "call": "Subscription info:", "key": "Subscription info:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2171", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2130", "src/tachyon/tabs/dashboard/partials/renderSections.ts:152" ] }, @@ -10714,10 +11257,10 @@ "call": "Subscription update failed", "key": "Subscription update failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4193", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4211", - "src/tachyon/methods/shell/index.ts:939", - "src/tachyon/methods/shell/index.ts:959" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4010", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4028", + "src/tachyon/methods/shell/index.ts:1035", + "src/tachyon/methods/shell/index.ts:1055" ] }, { @@ -10731,7 +11274,7 @@ "call": "Subscription URL", "key": "Subscription URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9296" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9572" ] }, { @@ -10745,22 +11288,29 @@ "call": "Subscriptions updated", "key": "Subscriptions updated", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7829", - "src/tachyon/tabs/dashboard/initController.ts:336" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7481", + "src/tachyon/tabs/dashboard/initController.ts:339" ] }, { "call": "Success", "key": "Success", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8526" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8636" ] }, { "call": "Successfully imported %d DNS record(s)", "key": "Successfully imported %d DNS record(s)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7904" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7910" + ] + }, + { + "call": "Successfully updated %d hosts entries", + "key": "Successfully updated %d hosts entries", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8352" ] }, { @@ -10781,14 +11331,14 @@ "call": "Sweden (se)", "key": "Sweden (se)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9780" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10056" ] }, { "call": "Switch DNS to DoH", "key": "Switch DNS to DoH", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16166", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15556", "src/tachyon/tabs/diagnostic/initController.ts:1093" ] }, @@ -10796,15 +11346,15 @@ "call": "Switch to auto-selection", "key": "Switch to auto-selection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8634", - "src/tachyon/tabs/dashboard/initController.ts:1254" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8200", + "src/tachyon/tabs/dashboard/initController.ts:1257" ] }, { "call": "Sync System Time (NTP)", "key": "Sync System Time (NTP)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16170", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15560", "src/tachyon/tabs/diagnostic/initController.ts:1097" ] }, @@ -10819,15 +11369,15 @@ "call": "System info", "key": "System info", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9146", - "src/tachyon/tabs/dashboard/initController.ts:1874" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8679", + "src/tachyon/tabs/dashboard/initController.ts:1881" ] }, { "call": "System information", "key": "System information", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14666", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13886", "src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:24" ] }, @@ -10842,22 +11392,40 @@ "call": "Table exist", "key": "Table exist", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10654", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10124", "src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:69" ] }, + { + "call": "Tachyon", + "key": "Tachyon", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14226", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14240", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:359", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:373" + ] + }, { "call": "Tachyon Core", "key": "Tachyon Core", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2109" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2133" + ] + }, + { + "call": "Tachyon DNS Benchmark & Auto-Tuning", + "key": "Tachyon DNS Benchmark & Auto-Tuning", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14270", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:406" ] }, { "call": "Tachyon Error", "key": "Tachyon Error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7087", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6777", "src/tachyon/services/core.service.ts:52" ] }, @@ -10893,7 +11461,7 @@ "call": "Tachyon service is stopped. Start the service to display connections.", "key": "Tachyon service is stopped. Start the service to display connections.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18360", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17603", "src/tachyon/tabs/monitoring/initController.ts:991" ] }, @@ -10901,7 +11469,7 @@ "call": "Tachyon service is stopped. Start the service to display the dashboard.", "key": "Tachyon service is stopped. Start the service to display the dashboard.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3126", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2935", "src/tachyon/tabs/dashboard/render.ts:17" ] }, @@ -10916,22 +11484,22 @@ "call": "Tachyon update did not complete within the timeout", "key": "Tachyon update did not complete within the timeout", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4092", - "src/tachyon/methods/shell/index.ts:822" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3921", + "src/tachyon/methods/shell/index.ts:913" ] }, { "call": "Tachyon will not modify your DHCP configuration", "key": "Tachyon will not modify your DHCP configuration", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2197" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2221" ] }, { "call": "Tachyon-managed ciadpi runtime has restarted", "key": "Tachyon-managed ciadpi runtime has restarted", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11131", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:91" ] }, @@ -10939,7 +11507,7 @@ "call": "Tachyon-managed ciadpi runtime is not ready", "key": "Tachyon-managed ciadpi runtime is not ready", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11134", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:94" ] }, @@ -10947,7 +11515,7 @@ "call": "Tachyon-managed ciadpi runtime is not running", "key": "Tachyon-managed ciadpi runtime is not running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11137", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:97" ] }, @@ -10955,7 +11523,7 @@ "call": "Tachyon-managed ciadpi runtime is ready", "key": "Tachyon-managed ciadpi runtime is ready", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11133", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:93" ] }, @@ -10963,7 +11531,7 @@ "call": "Tachyon-managed nfqws runtime is not ready", "key": "Tachyon-managed nfqws runtime is not ready", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10884", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:87" ] }, @@ -10971,7 +11539,7 @@ "call": "Tachyon-managed nfqws runtime is not running", "key": "Tachyon-managed nfqws runtime is not running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10887", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:90" ] }, @@ -10979,7 +11547,7 @@ "call": "Tachyon-managed nfqws runtime is ready", "key": "Tachyon-managed nfqws runtime is ready", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10883", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:86" ] }, @@ -10987,7 +11555,7 @@ "call": "Tachyon-managed nfqws2 runtime is not ready", "key": "Tachyon-managed nfqws2 runtime is not ready", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11003", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:90" ] }, @@ -10995,7 +11563,7 @@ "call": "Tachyon-managed nfqws2 runtime is not running", "key": "Tachyon-managed nfqws2 runtime is not running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11006", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:93" ] }, @@ -11003,7 +11571,7 @@ "call": "Tachyon-managed nfqws2 runtime is ready", "key": "Tachyon-managed nfqws2 runtime is ready", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11002", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:89" ] }, @@ -11011,30 +11579,30 @@ "call": "Tailscale", "key": "Tailscale", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9221", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2115", - "src/tachyon/tabs/dashboard/initController.ts:1954" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8769", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2139", + "src/tachyon/tabs/dashboard/initController.ts:1997" ] }, { "call": "Tailscale auth key", "key": "Tailscale auth key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3264" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3282" ] }, { "call": "Tailscale control URL", "key": "Tailscale control URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3273" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3291" ] }, { "call": "Tailscale endpoint", "key": "Tailscale endpoint", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10491", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9986", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:98" ] }, @@ -11042,23 +11610,23 @@ "call": "Tailscale hostname", "key": "Tailscale hostname", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3281" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3299" ] }, { "call": "Tailscale mode", "key": "Tailscale mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3322" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3340" ] }, { "call": "Target", "key": "Target", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14113", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13313", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:766", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1166" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1177" ] }, { @@ -11079,16 +11647,16 @@ "call": "Target Service / Suite", "key": "Target Service / Suite", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13249", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:228" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12493", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:239" ] }, { "call": "TCP Window Sizes (wsize)", "key": "TCP Window Sizes (wsize)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13660", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:682" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12884", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:693" ] }, { @@ -11125,14 +11693,14 @@ "call": "Telegram Bot Token", "key": "Telegram Bot Token", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3012" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3036" ] }, { "call": "Telegram Channel", "key": "Telegram Channel", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14749", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14323", "src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:42" ] }, @@ -11140,19 +11708,19 @@ "call": "Test Connection", "key": "Test Connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3203", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3234", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3253", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3260" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3227", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3258", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3277", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3284" ] }, { "call": "Test latency", "key": "Test latency", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2260", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2892", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2202", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2206", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2711", "src/tachyon/tabs/dashboard/partials/renderSections.ts:247", "src/tachyon/tabs/dashboard/partials/renderSections.ts:255", "src/tachyon/tabs/dashboard/partials/renderSections.ts:907" @@ -11204,39 +11772,47 @@ "call": "Test Telegram Connection", "key": "Test Telegram Connection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3190" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3214" + ] + }, + { + "call": "Testing", + "key": "Testing", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14178", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:305" ] }, { "call": "Testing bypass strategies in isolated sandbox...", "key": "Testing bypass strategies in isolated sandbox...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14511", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1607" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13735", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1672" ] }, { "call": "Testing strategy", "key": "Testing strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14318", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1389" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13532", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1433" ] }, { "call": "Testing URL", "key": "Testing URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8662", - "src/tachyon/tabs/dashboard/initController.ts:1292" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8227", + "src/tachyon/tabs/dashboard/initController.ts:1295" ] }, { "call": "Testing...", "key": "Testing...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12133", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12761", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11439", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12030", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:108", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:797" ] @@ -11245,7 +11821,7 @@ "call": "Testing…", "key": "Testing…", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3215" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3239" ] }, { @@ -11268,14 +11844,14 @@ "call": "The rule applies to the domain and all its subdomains. Use full:, keyword:, or regex: prefixes for exact match, keyword match, or regular expression.", "key": "The rule applies to the domain and all its subdomains. Use full:, keyword:, or regex: prefixes for exact match, keyword match, or regular expression.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9822" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10098" ] }, { "call": "There are rules using ByeDPI", "key": "There are rules using ByeDPI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11118", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10474", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:78" ] }, @@ -11283,7 +11859,7 @@ "call": "There are rules using Zapret", "key": "There are rules using Zapret", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10875", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10299", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:78" ] }, @@ -11291,7 +11867,7 @@ "call": "There are rules using Zapret2", "key": "There are rules using Zapret2", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10994", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:81" ] }, @@ -11299,7 +11875,7 @@ "call": "Thinking...", "key": "Thinking...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12919", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12178", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:97" ] }, @@ -11307,7 +11883,7 @@ "call": "This action will stop Tachyon, restore standard dnsmasq/DNS, remove all proxy/anti-censorship firewall rules and restore direct Internet connection through your ISP.", "key": "This action will stop Tachyon, restore standard dnsmasq/DNS, remove all proxy/anti-censorship firewall rules and restore direct Internet connection through your ISP.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16674", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15997", "src/tachyon/tabs/diagnostic/initController.ts:1608" ] }, @@ -11315,13 +11891,13 @@ "call": "This field is required", "key": "This field is required", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11010", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1907", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1926", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1931", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2021", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2183", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3069" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11325", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1925", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1944", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1949", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2039", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2201", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3087" ] }, { @@ -11379,8 +11955,8 @@ "call": "This router", "key": "This router", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9237", - "src/tachyon/tabs/dashboard/initController.ts:1975" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8782", + "src/tachyon/tabs/dashboard/initController.ts:2018" ] }, { @@ -11415,9 +11991,9 @@ "call": "Time", "key": "Time", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18267", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18320", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18468", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17517", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17566", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17700", "src/tachyon/tabs/monitoring/initController.ts:883", "src/tachyon/tabs/monitoring/initController.ts:944", "src/tachyon/tabs/monitoring/initController.ts:1127" @@ -11427,7 +12003,7 @@ "call": "Time in seconds for DNS record caching (default: 60)", "key": "Time in seconds for DNS record caching (default: 60)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1556" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1580" ] }, { @@ -11441,52 +12017,60 @@ "call": "Time of day to run scheduled component updates in HH:MM (24h) format, e.g. 04:00", "key": "Time of day to run scheduled component updates in HH:MM (24h) format, e.g. 04:00", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2081" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2105" ] }, { "call": "Time skew tolerance", "key": "Time skew tolerance", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3238" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3256" + ] + }, + { + "call": "Timeout", + "key": "Timeout", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14014", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:117" ] }, { "call": "tiny", "key": "tiny", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6691", - "src/tachyon/helpers/singBoxVariant.ts:60" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6358", + "src/tachyon/helpers/singBoxVariant.ts:62" ] }, { "call": "TLS / HTTPS", "key": "TLS / HTTPS", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10083", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10102" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10360", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10379" ] }, { "call": "TLS Auth/Crypt Key", "key": "TLS Auth/Crypt Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9259" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9535" ] }, { "call": "TLS SNI", "key": "TLS SNI", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8949" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9225" ] }, { "call": "TLS-Rec Bounds (--tlsrec)", "key": "TLS-Rec Bounds (--tlsrec)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13742", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:766" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12964", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:777" ] }, { @@ -11500,16 +12084,16 @@ "call": "Token is required when the bot is enabled", "key": "Token is required when the bot is enabled", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3021" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3045" ] }, { "call": "Tolerance", "key": "Tolerance", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8664", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8229", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2709", - "src/tachyon/tabs/dashboard/initController.ts:1294" + "src/tachyon/tabs/dashboard/initController.ts:1297" ] }, { @@ -11530,14 +12114,14 @@ "call": "Total lines:", "key": "Total lines:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7806" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7812" ] }, { "call": "Total targets", "key": "Total targets", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12349", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11640", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:345" ] }, @@ -11545,23 +12129,23 @@ "call": "Trace", "key": "Trace", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10656" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10971" ] }, { "call": "Tracing routing rules...", "key": "Tracing routing rules...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10700" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11015" ] }, { "call": "Traffic", "key": "Traffic", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2154", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9122", - "src/tachyon/tabs/dashboard/initController.ts:1848", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2114", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8655", + "src/tachyon/tabs/dashboard/initController.ts:1855", "src/tachyon/tabs/dashboard/partials/renderSections.ts:133" ] }, @@ -11576,14 +12160,14 @@ "call": "Traffic from these IP addresses will never be routed through this section, even if other conditions match.", "key": "Traffic from these IP addresses will never be routed through this section, even if other conditions match.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10046" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10323" ] }, { "call": "Traffic of specified protocols (e.g. BitTorrent, QUIC, STUN) will bypass this section.", "key": "Traffic of specified protocols (e.g. BitTorrent, QUIC, STUN) will bypass this section.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10074" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10351" ] }, { @@ -11597,30 +12181,30 @@ "call": "Traffic Total", "key": "Traffic Total", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9134", - "src/tachyon/tabs/dashboard/initController.ts:1861" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8667", + "src/tachyon/tabs/dashboard/initController.ts:1868" ] }, { "call": "Traffic type filter", "key": "Traffic type filter", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10094" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10371" ] }, { "call": "Traffic will go through the default route (Direct/Default).", "key": "Traffic will go through the default route (Direct/Default).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10807" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11122" ] }, { "call": "Transient connection error", "key": "Transient connection error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20857", - "src/tachyon/tabs/updates/initController.ts:922" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20044", + "src/tachyon/tabs/updates/initController.ts:944" ] }, { @@ -11635,50 +12219,50 @@ "key": "Transport", "places": [ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2097", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9047", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2947" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9323", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2965" ] }, { "call": "Transport host", "key": "Transport host", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2971" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2989" ] }, { "call": "Transport packet header (H4)", "key": "Transport packet header (H4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3512" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3565" ] }, { "call": "Transport packet junk size (S4)", "key": "Transport packet junk size (S4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3488" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3541" ] }, { "call": "Transport path", "key": "Transport path", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2955" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2973" ] }, { "call": "Transport path must start with /", "key": "Transport path must start with /", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2104" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2122" ] }, { "call": "Troubleshooting", "key": "Troubleshooting", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14732", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14307", "src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:25" ] }, @@ -11693,38 +12277,38 @@ "call": "TTFB", "key": "TTFB", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13492", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:493" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12721", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:504" ] }, { "call": "TTL must be a positive number", "key": "TTL must be a positive number", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1567" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1591" ] }, { "call": "TTL value cannot be empty", "key": "TTL value cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1562" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1586" ] }, { "call": "TTL Values (dpi-desync-ttl)", "key": "TTL Values (dpi-desync-ttl)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13698", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:721" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12921", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:732" ] }, { "call": "TTL Values (ttl)", "key": "TTL Values (ttl)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13648", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:670" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12872", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:681" ] }, { @@ -11745,16 +12329,16 @@ "call": "Turkey (tr)", "key": "Turkey (tr)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9781" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10057" ] }, { "call": "Type", "key": "Type", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18261", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18318", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1699", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17511", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17564", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1717", "src/tachyon/tabs/monitoring/initController.ts:877", "src/tachyon/tabs/monitoring/initController.ts:942" ] @@ -11763,14 +12347,14 @@ "call": "UDP (Unprotected DNS)", "key": "UDP (Unprotected DNS)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1342" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1359" ] }, { "call": "UDP / QUIC protocols", "key": "UDP / QUIC protocols", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12099", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11405", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:65" ] }, @@ -11778,7 +12362,7 @@ "call": "Ukraine (ua)", "key": "Ukraine (ua)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9787" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10063" ] }, { @@ -11808,17 +12392,17 @@ "call": "Unavailability timeout", "key": "Unavailability timeout", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8794", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8344", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3178", - "src/tachyon/tabs/dashboard/initController.ts:1448" + "src/tachyon/tabs/dashboard/initController.ts:1451" ] }, { "call": "Unavailable", "key": "Unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12157", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12351", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11460", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11642", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:135", "src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:347" ] @@ -11827,35 +12411,35 @@ "call": "Underload packet header (H3)", "key": "Underload packet header (H3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3506" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3559" ] }, { "call": "Underload Packet Magic Header (H1)", "key": "Underload Packet Magic Header (H1)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8845" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9086" ] }, { "call": "Underload Packet Magic Header (H2)", "key": "Underload Packet Magic Header (H2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8846" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9087" ] }, { "call": "Underload Packet Magic Header (H3)", "key": "Underload Packet Magic Header (H3)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8847" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9088" ] }, { "call": "Underload Packet Magic Header (H4)", "key": "Underload Packet Magic Header (H4)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8848" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9089" ] }, { @@ -11878,7 +12462,7 @@ "call": "Unexpected Tachyon-managed ciadpi runtime is running", "key": "Unexpected Tachyon-managed ciadpi runtime is running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11136", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479", "src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:96" ] }, @@ -11886,7 +12470,7 @@ "call": "Unexpected Tachyon-managed nfqws runtime is running", "key": "Unexpected Tachyon-managed nfqws runtime is running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10886", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:89" ] }, @@ -11894,7 +12478,7 @@ "call": "Unexpected Tachyon-managed nfqws2 runtime is running", "key": "Unexpected Tachyon-managed nfqws2 runtime is running", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11005", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:92" ] }, @@ -11909,33 +12493,33 @@ "call": "United Kingdom (gb)", "key": "United Kingdom (gb)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9777" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10053" ] }, { "call": "United States (us)", "key": "United States (us)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9774" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10050" ] }, { "call": "unknown", "key": "unknown", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6669", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10433", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11183", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11185", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11186", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11187", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11194", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11196", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11198", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11200", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11203", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11204", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20443", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6339", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9928", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10509", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10511", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10512", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10513", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10520", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10522", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10524", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10526", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10529", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10530", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19660", "src/tachyon/helpers/singBoxVariant.ts:33", "src/tachyon/services/systemInfo.service.ts:10", "src/tachyon/services/systemInfo.service.ts:12", @@ -11947,7 +12531,7 @@ "src/tachyon/services/systemInfo.service.ts:27", "src/tachyon/services/systemInfo.service.ts:30", "src/tachyon/services/systemInfo.service.ts:31", - "src/tachyon/tabs/updates/initController.ts:421", + "src/tachyon/tabs/updates/initController.ts:437", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:25" ] }, @@ -11955,10 +12539,10 @@ "call": "Unknown", "key": "Unknown", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5873", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:353", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2934", - "src/tachyon/methods/custom/getDashboardSections.ts:1655" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2958", + "src/tachyon/methods/custom/getDashboardSections.ts:1667" ] }, { @@ -11981,20 +12565,20 @@ "call": "Unknown error", "key": "Unknown error", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5950", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14374", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14534", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15841", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15877", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15943", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16637", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5636", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13600", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13758", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15338", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15357", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15424", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15965", "src/tachyon/api.ts:40", "src/tachyon/tabs/diagnostic/initController.ts:731", "src/tachyon/tabs/diagnostic/initController.ts:772", "src/tachyon/tabs/diagnostic/initController.ts:857", "src/tachyon/tabs/diagnostic/initController.ts:1568", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1456", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1632" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1518", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1697" ] }, { @@ -12023,7 +12607,7 @@ "call": "Unspecified IP address is not allowed", "key": "Unspecified IP address is not allowed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:235", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:212", "src/validators/validateSubnet.ts:17" ] }, @@ -12031,7 +12615,7 @@ "call": "Unstable", "key": "Unstable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2705", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2559", "src/tachyon/tabs/dashboard/partials/renderSections.ts:712" ] }, @@ -12039,7 +12623,7 @@ "call": "Unsupported security mode for this protocol", "key": "Unsupported security mode for this protocol", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2217" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2235" ] }, { @@ -12053,49 +12637,65 @@ "call": "Update", "key": "Update", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20909", - "src/tachyon/tabs/updates/initController.ts:989" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20096", + "src/tachyon/tabs/updates/initController.ts:1011" + ] + }, + { + "call": "Update failed:", + "key": "Update failed:", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8354" ] }, { "call": "Update is available", "key": "Update is available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20393", - "src/tachyon/tabs/updates/initController.ts:355" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19607", + "src/tachyon/tabs/updates/initController.ts:368" ] }, { "call": "Update is available for current release", "key": "Update is available for current release", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21285", - "src/tachyon/tabs/updates/initController.ts:1404" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20558", + "src/tachyon/tabs/updates/initController.ts:1574" ] }, { "call": "Update is available:", "key": "Update is available:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21265", - "src/tachyon/tabs/updates/initController.ts:1383" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20539", + "src/tachyon/tabs/updates/initController.ts:1553" ] }, { "call": "Update lists now", "key": "Update lists now", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1960" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1984" + ] + }, + { + "call": "Update Lists Now", + "key": "Update Lists Now", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8345", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8367", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8372" ] }, { "call": "Update subscriptions", "key": "Update subscriptions", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2241", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2253", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2254", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16161", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2185", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2196", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2196", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15551", "src/tachyon/tabs/diagnostic/initController.ts:1088", "src/tachyon/tabs/dashboard/partials/renderSections.ts:224", "src/tachyon/tabs/dashboard/partials/renderSections.ts:237", @@ -12113,7 +12713,7 @@ "call": "Updated/duplicates:", "key": "Updated/duplicates:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7823" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7829" ] }, { @@ -12127,15 +12727,15 @@ "call": "Updating", "key": "Updating", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19810", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:116" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19076", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:121" ] }, { "call": "Updating device routing mode...", "key": "Updating device routing mode...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16423", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15776", "src/tachyon/tabs/diagnostic/initController.ts:1349" ] }, @@ -12143,26 +12743,33 @@ "call": "Updating lists...", "key": "Updating lists...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1964" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1988" + ] + }, + { + "call": "Updating…", + "key": "Updating…", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8341" ] }, { "call": "Uplink", "key": "Uplink", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9124", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9136", - "src/tachyon/tabs/dashboard/initController.ts:1850", - "src/tachyon/tabs/dashboard/initController.ts:1863" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8657", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8669", + "src/tachyon/tabs/dashboard/initController.ts:1857", + "src/tachyon/tabs/dashboard/initController.ts:1870" ] }, { "call": "Uploaded", "key": "Uploaded", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18273", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18322", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18482", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17523", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17568", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17712", "src/tachyon/tabs/monitoring/initController.ts:889", "src/tachyon/tabs/monitoring/initController.ts:946", "src/tachyon/tabs/monitoring/initController.ts:1141" @@ -12172,14 +12779,16 @@ "call": "Upstream Mode", "key": "Upstream Mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1352" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14107", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1369", + "src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:224" ] }, { "call": "URL must start with vless://, vmess://, ss://, trojan://, socks4://, socks4a://, socks5://, hysteria2://, hy2://, or tuic://", "key": "URL must start with vless://, vmess://, ss://, trojan://, socks4://, socks4a://, socks5://, hysteria2://, hy2://, or tuic://", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1032", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:959", "src/validators/validateProxyUrl.ts:47" ] }, @@ -12187,7 +12796,7 @@ "call": "URL must use one of the following protocols:", "key": "URL must use one of the following protocols:", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:179", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:163", "src/validators/validateUrl.ts:18" ] }, @@ -12195,7 +12804,7 @@ "call": "URL to test through the proxy (default: Cloudflare 204).", "key": "URL to test through the proxy (default: Cloudflare 204).", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2606" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2630" ] }, { @@ -12216,24 +12825,24 @@ "call": "URLs of remote hosts files to download and apply. Supports standard hosts format: IP domain.", "key": "URLs of remote hosts files to download and apply. Supports standard hosts format: IP domain.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8133" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8139" ] }, { "call": "URLTest", "key": "URLTest", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9412" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9688" ] }, { "call": "URLTest details", "key": "URLTest details", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2513", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2514", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8685", - "src/tachyon/tabs/dashboard/initController.ts:1321", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2404", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2405", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8250", + "src/tachyon/tabs/dashboard/initController.ts:1324", "src/tachyon/tabs/dashboard/partials/renderSections.ts:517", "src/tachyon/tabs/dashboard/partials/renderSections.ts:518" ] @@ -12242,8 +12851,8 @@ "call": "URLTest details are unavailable", "key": "URLTest details are unavailable", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8655", - "src/tachyon/tabs/dashboard/initController.ts:1280" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8220", + "src/tachyon/tabs/dashboard/initController.ts:1283" ] }, { @@ -12258,95 +12867,95 @@ "call": "Use 3-tier check intervals: fast (15s), normal (120s), slow (300s) instead of a single interval.", "key": "Use 3-tier check intervals: fast (15s), normal (120s), slow (300s) instead of a single interval.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2681" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2705" ] }, { "call": "Use 32 hex characters", "key": "Use 32 hex characters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2201" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2219" ] }, { "call": "Use a domain name or IP address", "key": "Use a domain name or IP address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1991", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1997", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2113" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2009", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2015", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2131" ] }, { "call": "Use a duration like 30s, 5m, or 1h30m", "key": "Use a duration like 30s, 5m, or 1h30m", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2092" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2110" ] }, { "call": "Use a non-negative integer", "key": "Use a non-negative integer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2098", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3071" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2116", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3089" ] }, { "call": "Use a non-zero secret", "key": "Use a non-zero secret", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2204" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2222" ] }, { "call": "Use an HTTP or HTTPS URL", "key": "Use an HTTP or HTTPS URL", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2060", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2062" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2078", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2080" ] }, { "call": "Use an IP address", "key": "Use an IP address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2014" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2032" ] }, { "call": "Use an IP listen address", "key": "Use an IP listen address", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2007" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2025" ] }, { "call": "Use another section as an intermediate hop to connect to servers in this section. Does not apply to network interfaces or JSON outbounds.", "key": "Use another section as an intermediate hop to connect to servers in this section. Does not apply to network interfaces or JSON outbounds.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9511" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9787" ] }, { "call": "Use CIDR prefixes like 192.168.1.0/24 or 2001:db8::/32", "key": "Use CIDR prefixes like 192.168.1.0/24 or 2001:db8::/32", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2161" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2179" ] }, { "call": "Use CIDR prefixes or IP addresses like 192.168.1.0/24, 192.168.1.10, or 2001:db8::1", "key": "Use CIDR prefixes or IP addresses like 192.168.1.0/24, 192.168.1.10, or 2001:db8::1", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2175" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2193" ] }, { "call": "Use letters, digits, dots, underscores, or hyphens", "key": "Use letters, digits, dots, underscores, or hyphens", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2119" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2137" ] }, { @@ -12366,33 +12975,33 @@ "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4786", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4793", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4800", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1921", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1943", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1950", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2019", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2047" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1945", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1967", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1974", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2043", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2071" ] }, { "call": "Use sing-box duration format like 1d, 12h or 6h", "key": "Use sing-box duration format like 1d, 12h or 6h", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8336", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8348" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8400", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8412" ] }, { "call": "Use tailnet exit node for LAN", "key": "Use tailnet exit node for LAN", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3349" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3367" ] }, { "call": "Used by", "key": "Used by", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10433", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9928", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:25" ] }, @@ -12400,15 +13009,15 @@ "call": "User custom strategy", "key": "User custom strategy", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13835", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:870" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13054", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:881" ] }, { "call": "User names (e.g. from VLESS/Trojan/SS/JSON inbound users) that are forbidden from reaching LAN subnets. Leave empty to restrict all users on this inbound.", "key": "User names (e.g. from VLESS/Trojan/SS/JSON inbound users) that are forbidden from reaching LAN subnets. Leave empty to restrict all users on this inbound.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2757" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2775" ] }, { @@ -12422,37 +13031,37 @@ "call": "Username", "key": "Username", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9060", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3030" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9336", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3048" ] }, { "call": "Username cannot be empty", "key": "Username cannot be empty", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9668" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9944" ] }, { "call": "Valid", "key": "Valid", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:28", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:75", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:89", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:156", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:159", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:192", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:212", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:256", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:361", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:447", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:558", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:618", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:674", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:740", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:865", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:997", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:27", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:69", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:82", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:141", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:144", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:169", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:189", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:233", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:323", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:409", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:519", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:577", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:633", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:697", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:807", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:927", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5402", "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5415", "src/validators/validateDns.ts:25", @@ -12477,7 +13086,7 @@ "call": "Validates sing-box config before restart to prevent boot loops on broken configs.", "key": "Validates sing-box config before restart to prevent boot loops on broken configs.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2695" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2719" ] }, { @@ -12498,23 +13107,32 @@ "call": "Value must be a positive integer", "key": "Value must be a positive integer", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1911" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1929" ] }, { "call": "Value must not contain control characters", "key": "Value must not contain control characters", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11013", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1935" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11328", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1953" ] }, { "call": "Verifying router and service readiness...", "key": "Verifying router and service readiness...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20022", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:370" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19283", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:382" + ] + }, + { + "call": "Versions", + "key": "Versions", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20702", + "src/tachyon/tabs/updates/initController.ts:1738" ] }, { @@ -12535,8 +13153,8 @@ "call": "View logs", "key": "View logs", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11862", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15920", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11167", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15401", "src/tachyon/tabs/diagnostic/initController.ts:831", "src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:181" ] @@ -12545,8 +13163,8 @@ "call": "View logs failed", "key": "View logs failed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15930", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15933", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15411", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15414", "src/tachyon/tabs/diagnostic/initController.ts:841", "src/tachyon/tabs/diagnostic/initController.ts:844" ] @@ -12555,36 +13173,36 @@ "call": "Visible name of this section", "key": "Visible name of this section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7317" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7323" ] }, { "call": "VLESS flow", "key": "VLESS flow", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3074" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3092" ] }, { "call": "vless://, vmess://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links", "key": "vless://, vmess://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9272" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9548" ] }, { "call": "Waiting for router services to restart...", "key": "Waiting for router services to restart...", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20001", - "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:344" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19259", + "src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:349" ] }, { "call": "WAN", "key": "WAN", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9964", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:70" ] }, @@ -12592,7 +13210,7 @@ "call": "WAN public IP", "key": "WAN public IP", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10577", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10063", "src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:198" ] }, @@ -12600,56 +13218,49 @@ "call": "WARP Access Token", "key": "WARP Access Token", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8885" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9161" ] }, { "call": "WARP Account ID", "key": "WARP Account ID", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8873" - ] - }, - { - "call": "WARP Configuration generated and loaded successfully!", - "key": "WARP Configuration generated and loaded successfully!", - "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8527" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9149" ] }, { "call": "WARP Generator Proxy Section", "key": "WARP Generator Proxy Section", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2325" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2349" ] }, { "call": "WARP Private Key", "key": "WARP Private Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8861" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9137" ] }, { "call": "Watchdog probes every Connection section; when the active one fails several checks in a row, traffic switches to a healthy backup and Telegram is notified. Requires a config reload to take effect.", "key": "Watchdog probes every Connection section; when the active one fails several checks in a row, traffic switches to a healthy backup and Telegram is notified. Requires a config reload to take effect.", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2207" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2231" ] }, { "call": "Watchdog Status", "key": "Watchdog Status", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2555" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2579" ] }, { "call": "WebRTC Leak Protection", "key": "WebRTC Leak Protection", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2300" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2324" ] }, { @@ -12684,7 +13295,7 @@ "call": "What Tachyon should do when this section matches", "key": "What Tachyon should do when this section matches", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7330" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7336" ] }, { @@ -12698,7 +13309,7 @@ "call": "Why Discord fails?", "key": "Why Discord fails?", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12991", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12242", "src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:171" ] }, @@ -12706,58 +13317,66 @@ "call": "WireGuard private key from your Cloudflare account", "key": "WireGuard private key from your Cloudflare account", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9404" ] }, { "call": "WireGuard private key from your Cloudflare WARP account", "key": "WireGuard private key from your Cloudflare WARP account", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8862" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9138" ] }, { "call": "Working", "key": "Working", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14117", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1170" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13317", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1181" + ] + }, + { + "call": "working strategies", + "key": "working strategies", + "places": [ + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437" ] }, { "call": "XHTTP mode", "key": "XHTTP mode", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2984" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3002" ] }, { "call": "YACD Secret Key", "key": "YACD Secret Key", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1797" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1821" ] }, { "call": "Yes", "key": "Yes", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232", - "src/tachyon/tabs/dashboard/initController.ts:822" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7855", + "src/tachyon/tabs/dashboard/initController.ts:825" ] }, { "call": "You can select Output Network Interface, by default autodetect", "key": "You can select Output Network Interface, by default autodetect", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1661" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1685" ] }, { "call": "Zapret", "key": "Zapret", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2112" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2136" ] }, { @@ -12771,7 +13390,7 @@ "call": "Zapret package is installed", "key": "Zapret package is installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10868", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10294", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:71" ] }, @@ -12779,7 +13398,7 @@ "call": "Zapret package is not installed", "key": "Zapret package is not installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10869", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10294", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:72" ] }, @@ -12787,7 +13406,7 @@ "call": "Zapret provider binary is available", "key": "Zapret provider binary is available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10857", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10289", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:60" ] }, @@ -12795,7 +13414,7 @@ "call": "Zapret provider binary is not available", "key": "Zapret provider binary is not available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10858", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10289", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:61" ] }, @@ -12803,7 +13422,7 @@ "call": "Zapret sing-box outbound is configured", "key": "Zapret sing-box outbound is configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10900", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:103" ] }, @@ -12811,7 +13430,7 @@ "call": "Zapret sing-box outbound is not configured", "key": "Zapret sing-box outbound is not configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10901", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314", "src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:104" ] }, @@ -12819,31 +13438,31 @@ "call": "Zapret v1 (nfqws)", "key": "Zapret v1 (nfqws)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13175", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14625", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14626", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12413", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:149", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1737", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1738" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1808", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1809" ] }, { "call": "Zapret v2 (nfqws2)", "key": "Zapret v2 (nfqws2)", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13174", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14620", - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14621", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12412", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846", "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:148", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1732", - "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1733" + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1803", + "src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1804" ] }, { "call": "Zapret2", "key": "Zapret2", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2113" + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2137" ] }, { @@ -12857,7 +13476,7 @@ "call": "Zapret2 package is installed", "key": "Zapret2 package is installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10987", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10380", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:74" ] }, @@ -12865,7 +13484,7 @@ "call": "Zapret2 package is not installed", "key": "Zapret2 package is not installed", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10988", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10380", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:75" ] }, @@ -12873,7 +13492,7 @@ "call": "Zapret2 provider binary is available", "key": "Zapret2 provider binary is available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10976", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10375", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:63" ] }, @@ -12881,7 +13500,7 @@ "call": "Zapret2 provider binary is not available", "key": "Zapret2 provider binary is not available", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10977", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10375", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:64" ] }, @@ -12889,7 +13508,7 @@ "call": "Zapret2 sing-box outbound is configured", "key": "Zapret2 sing-box outbound is configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11019", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:106" ] }, @@ -12897,7 +13516,7 @@ "call": "Zapret2 sing-box outbound is not configured", "key": "Zapret2 sing-box outbound is not configured", "places": [ - "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11020", + "../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400", "src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:107" ] } diff --git a/fe-app-tachyon/locales/tachyon.pot b/fe-app-tachyon/locales/tachyon.pot index e2728753..0a36987c 100644 --- a/fe-app-tachyon/locales/tachyon.pot +++ b/fe-app-tachyon/locales/tachyon.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: TACHYON\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-01 18:58+0300\n" -"PO-Revision-Date: 2026-09-01 18:58+0300\n" +"POT-Creation-Date: 2026-09-05 07:59+0300\n" +"PO-Revision-Date: 2026-09-05 07:59+0300\n" "Last-Translator: Dushnilin \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -28,15 +28,15 @@ msgstr "" msgid "-- Select --" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11250 msgid ".lst Lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2495 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2519 msgid "(provider default)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9391 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9667 msgid "+ Add JSON outbound" msgstr "" @@ -44,199 +44,237 @@ msgstr "" msgid "+ Add level" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9477 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9753 msgid "+ Add priority" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13818 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13038 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:862 msgid "+ Add Strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9694 msgid "+ Add URLTest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14322 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1393 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13682 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1612 +msgid "⏳ Stopping..." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13543 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1446 msgid "⚠️ Benchmark completed. No working bypass found for this target." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1457 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13543 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1445 +msgid "⚠️ Benchmark stopped" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1481 msgid "⚠️ If all Bootstrap DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1446 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1470 msgid "⚠️ If all Main DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11843 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11148 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:162 msgid "⚡ DPI Strategy Fuzzer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13437 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:429 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12669 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:440 msgid "⚡ Fast (>1MB/s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13224 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:198 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12469 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:209 msgid "⚡ QUIC / HTTP/3 (UDP 443)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13262 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:243 -msgid "⚡ Quick Benchmark (Presets ~12-14)" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12506 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:254 +msgid "⚡ Quick Benchmark (Presets ~30+)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14654 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1772 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13874 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1843 msgid "⚡ Strategy Fuzzer & Auto-Tuner" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14369 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1451 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13595 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1513 msgid "✅ Auto-applied best strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14321 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1392 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13538 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1439 msgid "✅ Benchmark completed! Optimal strategy identified." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13428 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12660 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:431 msgid "✅ Working only" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13217 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:195 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12466 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:206 msgid "✈️ Telegram Suite (Web + Bot API)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9209 -#: src/tachyon/tabs/dashboard/initController.ts:1941 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8750 +#: src/tachyon/tabs/dashboard/initController.ts:1969 msgid "✔ Online" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9162 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9171 -#: src/tachyon/tabs/dashboard/initController.ts:1891 -#: src/tachyon/tabs/dashboard/initController.ts:1900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8696 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8712 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8712 +#: src/tachyon/tabs/dashboard/initController.ts:1899 +#: src/tachyon/tabs/dashboard/initController.ts:1910 +#: src/tachyon/tabs/dashboard/initController.ts:1911 +#: src/tachyon/tabs/dashboard/initController.ts:1925 +#: src/tachyon/tabs/dashboard/initController.ts:1926 msgid "✔ Running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9209 -#: src/tachyon/tabs/dashboard/initController.ts:1941 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8750 +#: src/tachyon/tabs/dashboard/initController.ts:1969 msgid "✘ Offline" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9162 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9171 -#: src/tachyon/tabs/dashboard/initController.ts:1891 -#: src/tachyon/tabs/dashboard/initController.ts:1900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8696 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703 +#: src/tachyon/tabs/dashboard/initController.ts:1899 +#: src/tachyon/tabs/dashboard/initController.ts:1912 msgid "✘ Stopped" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13225 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:199 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12470 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:210 msgid "🌐 Custom Target URL..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12440 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:180 -msgid "🎬 YouTube Suite (Web + 4K Stream)" +msgid "🎬 YouTube Full Suite (Web + 4K Stream + CDN)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13393 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:383 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12626 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:394 msgid "🏆 Apply Best Match" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13222 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12468 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:208 msgid "🏴‍☠️ RuTracker Suite" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13207 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:185 -msgid "💬 Discord Suite (API + WSS + CDN)" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12455 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:195 +msgid "🐦 X / Twitter Suite (API + Media CDN)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13763 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:788 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12445 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:185 +msgid "💬 Discord Suite (Gateway + Voice + CDN)" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12984 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:799 msgid "💾 Save Custom Patterns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13212 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:190 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12461 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:201 msgid "📸 Instagram / Meta (Web + CDN)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14067 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1117 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13269 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1128 msgid "🔄 Refresh" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13776 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:801 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12996 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:812 msgid "🔄 Reset to Factory Defaults" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13267 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:248 -msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12511 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:259 +msgid "🔍 Combinatorial Deep Fuzzing (~150-300+)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14072 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13274 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1133 msgid "🗑️ Clear History" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13980 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14589 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1025 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1697 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12457 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:197 +msgid "🤖 ChatGPT / OpenAI Suite" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13191 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13813 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1036 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1762 msgid "🧠 Synthesize with AI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14544 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1643 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13768 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1708 msgid "🧠 Synthesizing..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14476 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1569 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13701 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1634 msgid "🚀 Initializing benchmark in sandbox..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13523 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14359 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14537 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:527 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1439 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1635 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12752 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13576 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13761 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:538 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1485 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1700 msgid "🚀 Start Benchmark" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14466 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14570 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1557 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1676 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437 +msgid "🛑 Benchmark stopped" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13571 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13794 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1480 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1622 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1741 msgid "🛑 Stop Benchmark" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13272 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12513 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:261 msgid "🛠️ My Custom Strategies Only" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12450 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:190 +msgid "🟣 Twitch Suite (Live Stream + HLS CDN)" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:527 msgid "Accept external proxy connections and route them with sing-box." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3316 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3334 msgid "Accept routes" msgstr "" @@ -244,12 +282,12 @@ msgstr "" msgid "Access schedule and screen time limits" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7300 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7329 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7306 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7335 msgid "Action" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10184 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9722 #: src/tachyon/helpers/notifyActionFailure.ts:40 msgid "Action failed" msgstr "" @@ -258,19 +296,19 @@ msgstr "" msgid "Action Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13498 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13888 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:499 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:926 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12727 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13104 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:510 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:937 msgid "Actions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8508 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17519 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18132 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8094 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16803 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17388 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:464 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:470 -#: src/tachyon/tabs/dashboard/initController.ts:1127 +#: src/tachyon/tabs/dashboard/initController.ts:1130 #: src/tachyon/tabs/monitoring/initController.ts:722 #: src/tachyon/tabs/monitoring/render.ts:20 msgid "Active" @@ -286,29 +324,29 @@ msgstr "" msgid "Active (Blocking)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10303 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9817 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:56 msgid "Active Bootstrap DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3019 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3093 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2904 #: src/tachyon/tabs/dashboard/partials/renderConnections.ts:50 #: src/tachyon/tabs/dashboard/partials/renderConnections.ts:126 msgid "Active Clients" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9148 -#: src/tachyon/tabs/dashboard/initController.ts:1876 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8681 +#: src/tachyon/tabs/dashboard/initController.ts:1883 msgid "Active Connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9824 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:67 msgid "Active Main DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12255 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11554 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:245 msgid "Active routes" msgstr "" @@ -335,8 +373,8 @@ msgstr "" msgid "Add at least one DNS server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13854 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:891 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13072 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:902 msgid "Add Custom DPI Strategy" msgstr "" @@ -344,19 +382,19 @@ msgstr "" msgid "Add prefix to nodes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9979 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10256 msgid "Add URLs or local paths to .lst lists containing domains and subnets." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10003 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10280 msgid "Add URLs or local paths to .lst lists containing domains. IP entries are ignored." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10231 msgid "Add URLs or local paths to .srs / .json lists. Only domain rules are supported." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9925 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10202 msgid "Add URLs or local paths to .srs / .json lists. Subnets are ignored by default." msgstr "" @@ -368,7 +406,7 @@ msgstr "" msgid "Additional Individual Devices (IP / MAC)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10159 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:106 msgid "Additional marking rules found" msgstr "" @@ -391,11 +429,13 @@ msgstr "" msgid "Additionally show servers by protocol, transport, and security. Add only servers matching the specified parameters." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1714 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13950 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1732 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:45 msgid "Address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3029 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3053 msgid "Administrator Chat IDs" msgstr "" @@ -407,15 +447,15 @@ msgstr "" msgid "Advanced System" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3299 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3317 msgid "Advertise exit node" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3309 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3327 msgid "Advertise routes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9390 msgid "AEAD Method" msgstr "" @@ -423,99 +463,99 @@ msgstr "" msgid "AI & Watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2446 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2470 msgid "AI Agent REST API Bearer Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2513 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2537 msgid "AI API Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13052 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12298 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:235 msgid "AI Chat & Tachyon Assistant" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11833 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11138 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:152 msgid "AI Chat Assistant" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14000 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1046 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13209 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1057 msgid "AI Diagnostics & Strategy Rationale" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16634 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15963 #: src/tachyon/tabs/diagnostic/initController.ts:1563 msgid "AI Doctor Diagnosis" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15943 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16638 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16646 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15424 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15966 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15974 #: src/tachyon/tabs/diagnostic/initController.ts:857 #: src/tachyon/tabs/diagnostic/initController.ts:1569 #: src/tachyon/tabs/diagnostic/initController.ts:1577 msgid "AI Doctor failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2501 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2525 msgid "AI Doctor Language" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13130 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12373 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:95 msgid "AI Doctor RAG" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14027 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1071 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13231 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1082 msgid "AI DPI Engineer & Strategy Synthesizer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2488 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2512 msgid "AI Model" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2471 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2495 msgid "AI Provider" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12970 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12225 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:151 msgid "AI service error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14560 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1662 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13784 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1727 msgid "AI successfully synthesized custom strategies!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14583 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13807 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1756 msgid "AI Synthesis Error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14582 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13806 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1755 msgid "AI synthesis failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13419 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17539 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17353 #: src/tachyon/tabs/monitoring/initController.ts:681 #: src/tachyon/tabs/monitoring/render.ts:40 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:411 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:422 msgid "All" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3247 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3271 msgid "All checks passed — Telegram bot should work correctly" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2108 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2132 msgid "All components" msgstr "" @@ -524,7 +564,7 @@ msgstr "" msgid "All devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13177 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12415 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:151 msgid "All Engines (Full Matrix)" msgstr "" @@ -554,8 +594,8 @@ msgstr "" msgid "All remaining servers means every server not already assigned to a higher-priority level." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17548 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18077 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16830 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17326 #: src/tachyon/tabs/monitoring/initController.ts:644 #: src/tachyon/tabs/monitoring/render.ts:49 msgid "All Routes" @@ -565,14 +605,14 @@ msgstr "" msgid "All servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12266 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12378 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11563 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11666 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:257 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:376 msgid "All services" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10035 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10312 msgid "All traffic from these IP addresses will be routed through the section unconditionally, ignoring all other conditions." msgstr "" @@ -585,7 +625,7 @@ msgstr "" msgid "Allow in interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8960 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9236 msgid "Allow Insecure TLS" msgstr "" @@ -605,7 +645,7 @@ msgstr "" msgid "Allowed domain prefixes are full:, keyword:, and regex:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1785 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1809 msgid "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall." msgstr "" @@ -613,15 +653,15 @@ msgstr "" msgid "Allows limiting the list of servers for URLTest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2460 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2484 msgid "Allows Tachyon to send diagnostic snapshots to ChatGPT or DeepSeek API for intelligent root-cause analysis and auto-repair recommendations." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2828 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2846 msgid "ALPN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3062 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3080 msgid "Alter ID" msgstr "" @@ -634,21 +674,61 @@ msgstr "" msgid "Always visible" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3632 +msgid "AmneziaWG 3.1 content padding range, e.g. 38-104" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3626 +msgid "AmneziaWG 3.1 header protection key" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3656 +msgid "AmneziaWG 3.1 keepalive timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3662 +msgid "AmneziaWG 3.1 max handshake attempts" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3650 +msgid "AmneziaWG 3.1 reject after time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9124 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3638 +msgid "AmneziaWG 3.1 rekey after time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9125 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3644 +msgid "AmneziaWG 3.1 rekey timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8939 msgid "AmneziaWG config loaded successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8438 msgid "AmneziaWG Generator" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16041 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9047 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3470 +msgid "AmneziaWG Version" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15499 #: src/tachyon/tabs/diagnostic/initController.ts:970 msgid "Anonymized support report copied to clipboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20842 -#: src/tachyon/tabs/updates/initController.ts:906 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20029 +#: src/tachyon/tabs/updates/initController.ts:928 msgid "Another component action is already running" msgstr "" @@ -660,30 +740,37 @@ msgstr "" msgid "Anti-Bypass: Block Private DNS / DoH / DoT" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2538 msgid "API Key for OpenAI (sk-...) or DeepSeek (optional for Ollama / LM Studio)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14600 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13824 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1774 msgid "Applied" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14287 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1353 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13500 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1394 msgid "Apply" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10095 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14156 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14246 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:279 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:379 +msgid "Apply Recommended DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10372 msgid "Apply rules of this section only to selected protocols." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10026 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10303 msgid "Apply section rules only to the specified local IP addresses" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13309 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:291 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12549 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:302 msgid "Apply Strategy To" msgstr "" @@ -691,22 +778,24 @@ msgstr "" msgid "Apply this schedule rule to all devices in the selected family profile(s)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15629 #: src/tachyon/tabs/diagnostic/initController.ts:1181 msgid "Applying fix" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16254 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14221 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15627 #: src/tachyon/tabs/diagnostic/initController.ts:1179 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:353 msgid "Applying..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13882 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13098 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:931 msgid "Arguments" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12889 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12149 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:60 msgid "Ask Tachyon AI Assistant a question..." msgstr "" @@ -715,7 +804,7 @@ msgstr "" msgid "Assigned Devices (MAC / IP)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3040 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3064 msgid "At least one Admin Chat ID is required" msgstr "" @@ -727,60 +816,60 @@ msgstr "" msgid "At least one valid IP or subnet must be specified." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9488 msgid "Auth Digest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2449 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8316 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8714 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12072 -#: src/tachyon/tabs/dashboard/initController.ts:923 -#: src/tachyon/tabs/dashboard/initController.ts:1355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8274 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11381 +#: src/tachyon/tabs/dashboard/initController.ts:926 +#: src/tachyon/tabs/dashboard/initController.ts:1358 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:452 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:35 msgid "Auto" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13736 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:760 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12958 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:771 msgid "Auto Modes (--auto)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10967 #: src/partials/modal/renderModal.ts:286 msgid "Auto refresh" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3219 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3237 msgid "Auto update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13336 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12574 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:332 msgid "Auto-apply best strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14374 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14379 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1456 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1461 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13600 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13605 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1518 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1523 msgid "Auto-apply failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2820 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2844 msgid "Auto-detected domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9850 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10126 msgid "Auto-detected Domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2778 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2802 msgid "Auto-detects blocked domains from logs and adds them to the first section where they work via proxy." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2206 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2230 msgid "Auto-failover of proxy sections" msgstr "" @@ -788,24 +877,28 @@ msgstr "" msgid "Auto-generate HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16167 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15557 #: src/tachyon/tabs/diagnostic/initController.ts:1094 msgid "Auto-Heal Network Stack" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1338 +msgid "Auto-Tune & Benchmark DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8387 msgid "Auto-update Hosts Lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2065 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2089 msgid "Auto-update mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2008 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2032 msgid "Automatic component update checks" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2054 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2078 msgid "Automatic component updates" msgstr "" @@ -817,50 +910,54 @@ msgstr "" msgid "Automatically add text to the name of each server from this subscription for convenient filtering." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2009 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1334 +msgid "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2033 msgid "Automatically check installed components for new versions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2055 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2079 msgid "Automatically download and install new versions of components" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8356 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8439 msgid "Automatically generate a Cloudflare WARP account and configure all AmneziaWG settings." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2737 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2761 msgid "Automatically increase check intervals when healthy (to 5 min) and decrease on problems (to 120s)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14039 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1082 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13242 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1093 msgid "Automatically runs a diagnostic probe against the target service, queries the built-in DPI Knowledge Base, and synthesizes 3-5 custom bypass strategies tailored to your ISP." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8804 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8354 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3215 -#: src/tachyon/tabs/dashboard/initController.ts:1458 +#: src/tachyon/tabs/dashboard/initController.ts:1461 msgid "Automatically select the fastest node in the current level" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8388 msgid "Automatically update remote hosts lists on schedule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12148 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11451 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11641 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:125 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:346 msgid "Available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11739 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11044 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:58 msgid "Available actions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11643 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:348 msgid "Avg. latency" msgstr "" @@ -871,7 +968,7 @@ msgstr "" msgid "Backend validation failed: %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12090 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11398 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:58 msgid "Basic connectivity" msgstr "" @@ -880,37 +977,47 @@ msgstr "" msgid "Beginning of the schedule interval (e.g. 22:00)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9785 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10061 msgid "Belarus (by)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12370 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:92 msgid "Benchmark & Test" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14063 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14184 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:311 +msgid "Benchmark completed successfully" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13265 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1124 msgid "Benchmark History" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14460 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1550 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14254 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:388 +msgid "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13684 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1614 msgid "Benchmark stopped" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13363 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12598 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:363 msgid "Benchmarking in progress..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14115 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1168 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13315 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1179 msgid "Best Strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10078 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10374 msgid "BitTorrent / P2P" msgstr "" @@ -947,7 +1054,7 @@ msgstr "" msgid "Block: deny the listed sites. Allow only (whitelist): deny everything except the listed sites. Whitelist mode requires DNS-level blocking and applies to the schedule window." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12092 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11399 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:59 msgid "Blocked resources" msgstr "" @@ -960,7 +1067,7 @@ msgstr "" msgid "Blocked Sites (Domains)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2746 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2764 msgid "Blocks access to private/LAN IP addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, etc.) for selected users before applying routing mode." msgstr "" @@ -968,42 +1075,44 @@ msgstr "" msgid "Blocks port 853 (DNS-over-TLS) and prevents bypass via encrypted DNS or Private Relay on smartphones for devices in this profile." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9817 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14123 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:57 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:240 msgid "Bootstrap DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1386 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1403 msgid "Bootstrap DNS Servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2991 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3015 msgid "Bot Status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10741 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:51 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:79 msgid "Browser FakeIP check could not be completed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10771 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:82 msgid "Browser is not using FakeIP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10770 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:81 msgid "Browser is using FakeIP correctly" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16796 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16113 #: src/tachyon/tabs/diagnostic/initController.ts:1745 msgid "Bug report downloaded" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9871 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10147 msgid "Built-in rule sets" msgstr "" @@ -1011,20 +1120,20 @@ msgstr "" msgid "By flag emoji from name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2072 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2096 msgid "By schedule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2138 msgid "ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13176 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14630 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14631 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12414 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:150 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1742 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1743 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1813 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1814 msgid "ByeDPI (ciadpi)" msgstr "" @@ -1047,37 +1156,37 @@ msgstr "" msgid "ByeDPI option requires a value: %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11111 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:71 msgid "ByeDPI package is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:72 msgid "ByeDPI package is not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10464 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:64 msgid "ByeDPI provider binary is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10464 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:65 msgid "ByeDPI provider binary is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11147 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10484 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:107 msgid "ByeDPI sing-box outbound is configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11148 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10484 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:108 msgid "ByeDPI sing-box outbound is not configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7505 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7511 msgid "ByeDPI Strategy" msgstr "" @@ -1085,28 +1194,28 @@ msgstr "" msgid "ByeDPI strategy cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1878 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1902 msgid "Bypasses UDP traffic for selected game consoles (PS5/Xbox) to achieve NAT Type 1 / 2 (Full Cone NAT) for P2P matchmaking, while keeping TCP (PSN/Auth) routed through the proxy." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9223 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9499 msgid "CA Certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1996 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2020 msgid "Cache all built-in lists and databases even if they are not currently selected in any section. Recommended if you have plenty of storage space or USB drive." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2245 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2269 msgid "Cache File Path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2259 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2283 msgid "Cache file path cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16688 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7970 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7976 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:475 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:658 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:709 @@ -1115,14 +1224,14 @@ msgstr "" msgid "Cancel" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10277 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10354 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10556 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10619 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10826 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10942 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11069 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14790 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9797 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10042 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10267 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14363 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:26 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:27 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:172 @@ -1134,7 +1243,7 @@ msgstr "" msgid "Cannot receive checks result" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2338 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2356 msgid "Cannot save server" msgstr "" @@ -1142,62 +1251,62 @@ msgstr "" msgid "Cannot save settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9510 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9786 msgid "Cascade connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2838 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2856 msgid "Certificate path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1659 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1677 msgid "Certificate pin is unavailable. Apply or restart the server to generate the default certificate, then open this dialog again." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12813 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12076 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:865 msgid "Check again" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12026 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:793 msgid "Check all" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19981 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20535 -#: src/tachyon/tabs/updates/initController.ts:540 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19749 +#: src/tachyon/tabs/updates/initController.ts:556 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:326 msgid "Check completed!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2433 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2891 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2342 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2711 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:434 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:906 msgid "Check Connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12628 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12744 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11901 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12014 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:652 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:778 msgid "Check domain" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8791 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8341 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2697 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3166 -#: src/tachyon/tabs/dashboard/initController.ts:1445 +#: src/tachyon/tabs/dashboard/initController.ts:1448 msgid "Check interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12284 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11580 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:276 msgid "Check mode:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11853 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11158 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:172 msgid "Check Services" msgstr "" @@ -1206,43 +1315,43 @@ msgstr "" msgid "Check timeout after which the server is considered dead" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20900 -#: src/tachyon/tabs/updates/initController.ts:975 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20087 +#: src/tachyon/tabs/updates/initController.ts:997 msgid "Check update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8789 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8339 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2723 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3153 -#: src/tachyon/tabs/dashboard/initController.ts:1443 +#: src/tachyon/tabs/dashboard/initController.ts:1446 msgid "Check URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12987 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12241 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:170 msgid "Check YouTube" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8931 -#: src/tachyon/tabs/dashboard/initController.ts:1624 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8470 +#: src/tachyon/tabs/dashboard/initController.ts:1627 msgid "Checking Connection..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19806 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19072 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:117 msgid "Checking for updates..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10267 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10344 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10546 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10607 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10708 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10816 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10932 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11059 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14778 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17063 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9787 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10032 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10093 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10176 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10257 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10341 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10429 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16370 #: src/tachyon/tabs/diagnostic/initController.ts:2051 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:14 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:15 @@ -1256,10 +1365,10 @@ msgstr "" msgid "Checking, please wait" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2329 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2427 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2809 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2881 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2337 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2704 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:328 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:428 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:822 @@ -1268,32 +1377,32 @@ msgid "Checking..." msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:300 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2883 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2907 msgid "Checking…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6050 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5734 #: src/tachyon/tabs/diagnostic/helpers/getCheckTitle.ts:2 msgid "checks" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10219 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10235 #: src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:10 #: src/tachyon/tabs/diagnostic/helpers/getMeta.ts:26 msgid "Checks failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10208 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10733 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10805 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9746 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10192 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10246 #: src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:23 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:43 #: src/tachyon/tabs/diagnostic/helpers/getMeta.ts:13 msgid "Checks passed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10242 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9769 #: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:27 msgid "Checks passed with manual DHCP" msgstr "" @@ -1302,7 +1411,7 @@ msgstr "" msgid "Child (🧒)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9782 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10058 msgid "China (cn)" msgstr "" @@ -1310,11 +1419,11 @@ msgstr "" msgid "Choose a visual icon for this profile" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7636 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7642 msgid "Choose Hosts File..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2066 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2090 msgid "Choose whether to install updates immediately when detected or at a scheduled time (e.g. maintenance window)" msgstr "" @@ -1322,7 +1431,7 @@ msgstr "" msgid "Choose whether to restrict the entire internet or only specific Tachyon routing sections." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9741 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10017 msgid "Choose whether to route traffic to all destinations except selected countries (Exclude) or only to selected countries (Include)." msgstr "" @@ -1330,24 +1439,24 @@ msgstr "" msgid "Choose which routing sections to apply this schedule to." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:227 #: src/validators/validateSubnet.ts:35 msgid "CIDR must be between 0 and 32 for IPv4 or 0 and 128 for IPv6" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9477 msgid "Cipher" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8105 msgid "Clean Comments" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10657 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10972 msgid "Clear" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16160 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15550 #: src/tachyon/tabs/diagnostic/initController.ts:1087 msgid "Clear DNS cache" msgstr "" @@ -1360,134 +1469,141 @@ msgstr "" msgid "Click to show" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3375 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3393 msgid "Client Address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9235 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9511 msgid "Client Certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3387 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3405 msgid "Client DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2936 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2954 msgid "Client fingerprint" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9247 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9523 msgid "Client Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1731 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1749 msgid "Client link" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1639 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1657 msgid "Client link is not available yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1690 msgid "Client link QR code" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3427 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3445 msgid "Client Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3434 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3452 msgid "Client Public Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3376 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3394 msgid "Client VPN IP address (e.g. 10.0.0.2/32)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8647 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11635 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12198 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12818 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13045 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16625 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18277 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18324 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20077 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20119 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10946 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11499 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12081 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12291 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12764 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14162 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17527 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17570 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19359 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3721 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10964 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1806 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11279 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1824 #: src/partials/modal/renderModal.ts:263 -#: src/tachyon/tabs/dashboard/initController.ts:1267 +#: src/tachyon/tabs/dashboard/initController.ts:1270 #: src/tachyon/tabs/diagnostic/initController.ts:1553 #: src/tachyon/tabs/monitoring/initController.ts:893 #: src/tachyon/tabs/monitoring/initController.ts:948 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:227 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:286 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:178 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:871 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:541 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:442 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:488 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:552 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:430 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:476 msgid "Close" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17567 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17568 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16850 #: src/tachyon/tabs/monitoring/render.ts:68 #: src/tachyon/tabs/monitoring/render.ts:69 msgid "Close all connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18245 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18246 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17496 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17497 #: src/tachyon/tabs/monitoring/initController.ts:860 #: src/tachyon/tabs/monitoring/initController.ts:861 msgid "Close connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17528 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18138 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16812 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17394 #: src/tachyon/tabs/monitoring/initController.ts:729 #: src/tachyon/tabs/monitoring/render.ts:29 msgid "Closed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9140 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9416 msgid "Cloudflare account / device ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9428 msgid "Cloudflare API access token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8874 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9150 msgid "Cloudflare WARP account / device ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8886 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9162 msgid "Cloudflare WARP API access token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3030 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3054 msgid "Comma-separated list of Telegram user IDs authorized to control the bot." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13814 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13034 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:857 msgid "Command-line arguments string..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10931 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11246 msgid "Community Lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7079 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3932 +#: src/tachyon/methods/shell/index.ts:928 +msgid "Component action timed out" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6769 #: src/tachyon/services/core.service.ts:43 msgid "Component update available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2018 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2042 msgid "Component update check interval" msgstr "" @@ -1501,32 +1617,37 @@ msgstr "" msgid "Components" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6687 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6352 #: src/tachyon/helpers/singBoxVariant.ts:56 msgid "compressed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3171 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3189 msgid "Concurrency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7288 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7294 msgid "Conditions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14450 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1539 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13672 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1601 msgid "confidence" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2231 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2255 msgid "Config File Path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2419 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2443 msgid "Config Snapshots" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4489 +#: src/tachyon/methods/shell/index.ts:1660 +msgid "Configuration applied" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:377 msgid "Configuration for Tachyon service" msgstr "" @@ -1535,47 +1656,47 @@ msgstr "" msgid "Configure User-Agent in the item settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2614 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5869 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14864 -#: src/tachyon/methods/custom/getDashboardSections.ts:1651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14429 +#: src/tachyon/methods/custom/getDashboardSections.ts:1663 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:620 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:141 msgid "Conflict" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9548 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9824 msgid "Connect through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2335 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2815 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:334 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:828 msgid "Connected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15710 #: src/tachyon/tabs/diagnostic/initController.ts:1276 msgid "Connected Devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9271 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9547 msgid "Connection URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18379 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17622 #: src/tachyon/tabs/monitoring/initController.ts:1012 msgid "Connections are unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14893 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14458 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:174 msgid "Connectivity probe failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14551 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1652 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13775 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1717 msgid "Consulting DPI Knowledge Base & AI..." msgstr "" @@ -1583,37 +1704,42 @@ msgstr "" msgid "Content Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3482 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3631 +msgid "Content Padding Addition" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3535 msgid "Cookie packet junk size (S3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3241 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1626 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3056 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1644 #: src/helpers/copyToClipboard.ts:10 msgid "Copied" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11627 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1756 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10939 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1774 #: src/partials/modal/renderModal.ts:258 msgid "Copy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19848 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:160 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19114 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:165 msgid "Copy log" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2494 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2495 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8572 -#: src/tachyon/tabs/dashboard/initController.ts:1192 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2388 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2389 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8144 +#: src/tachyon/tabs/dashboard/initController.ts:1195 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:498 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:499 msgid "Copy proxy link" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16581 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15916 #: src/tachyon/tabs/diagnostic/initController.ts:1511 msgid "Copy Support Report" msgstr "" @@ -1622,21 +1748,21 @@ msgstr "" msgid "Core configuration and preferences" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10778 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:89 msgid "Could not compare FakeIP and control public IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9788 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10064 msgid "Country code (e.g. ru, us, de)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16522 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15867 #: src/tachyon/tabs/diagnostic/initController.ts:1452 msgid "Current Diagnosis" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9565 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9841 msgid "Current section cannot be used as its own transit section" msgstr "" @@ -1644,17 +1770,17 @@ msgstr "" msgid "Current section cannot download its own subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2926 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2743 #: src/tachyon/tabs/dashboard/partials/renderWidget.ts:22 msgid "Currently unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12095 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11401 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:61 msgid "Custom" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2550 msgid "Custom API Endpoint URL" msgstr "" @@ -1662,45 +1788,45 @@ msgstr "" msgid "Custom device headers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7982 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7988 msgid "Custom DNS Records (Hosts)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12094 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11400 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:60 msgid "Custom domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3507 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3560 msgid "Custom header for cookie packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3513 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3566 msgid "Custom header for data packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3495 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3548 msgid "Custom header for handshake initiation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3501 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3554 msgid "Custom header for handshake response" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2481 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2505 msgid "Custom OpenAI-Compatible API" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2527 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2551 msgid "Custom OpenAI-compatible API endpoint URL (e.g. http://192.168.1.100:11434/v1/chat/completions)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9386 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9662 msgid "Custom outbound configurations in JSON format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13838 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:874 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13057 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:885 msgid "Custom strategy added!" msgstr "" @@ -1727,13 +1853,13 @@ msgstr "" msgid "Dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2085 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2052 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:50 msgid "Dashboard currently unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14111 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1164 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13311 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1175 msgid "Date" msgstr "" @@ -1741,16 +1867,16 @@ msgstr "" msgid "Days of Week" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3158 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3182 msgid "Default (auto)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2330 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2342 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2354 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2366 msgid "Default (Direct WAN / Default mixed proxy)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2136 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2160 msgid "Default address for checking server availability and latency. URLTest uses its own address." msgstr "" @@ -1758,19 +1884,19 @@ msgstr "" msgid "Default Tab on Startup" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1782 msgid "Delay in milliseconds before reloading Tachyon after interface UP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1765 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1789 msgid "Delay value cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13948 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1831 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1849 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:721 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:729 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:986 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:997 msgid "Delete" msgstr "" @@ -1788,11 +1914,11 @@ msgstr "" msgid "Detect server country" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2301 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2325 msgid "Detects and drops STUN/TURN packets in nftables to prevent real IP leaks via WebRTC." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:359 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:321 #: src/validators/validateOutboundJson.ts:115 msgid "detour must be a non-empty string" msgstr "" @@ -1802,7 +1928,7 @@ msgstr "" msgid "dev." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10025 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10302 msgid "Device filter" msgstr "" @@ -1810,7 +1936,7 @@ msgstr "" msgid "Device or IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15785 #: src/tachyon/tabs/diagnostic/initController.ts:1359 msgid "Device updated" msgstr "" @@ -1819,12 +1945,12 @@ msgstr "" msgid "Devices (MAC / IP)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10251 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9771 #: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:37 msgid "DHCP has DNS server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9771 #: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:36 msgid "DHCP is managed manually" msgstr "" @@ -1835,19 +1961,19 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12063 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12069 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11372 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11378 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2741 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:25 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:32 msgid "Direct" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8904 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9180 msgid "Direct (Default)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15773 #: src/tachyon/tabs/diagnostic/initController.ts:1346 msgid "Direct Bypass" msgstr "" @@ -1856,21 +1982,21 @@ msgstr "" msgid "Direct connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15767 #: src/tachyon/tabs/diagnostic/initController.ts:1337 msgid "Direct WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11775 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11080 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:94 msgid "Disable autostart" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1809 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1833 msgid "Disable QUIC" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1810 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1834 msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" msgstr "" @@ -1885,8 +2011,8 @@ msgstr "" msgid "Disabling interception is incompatible with action=zapret2 because Tachyon sends matched traffic through NFQUEUE." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13724 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:748 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12946 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:759 msgid "Disorder Values (-d)" msgstr "" @@ -1895,90 +2021,99 @@ msgstr "" msgid "Display name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10081 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10100 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10377 msgid "DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1333 +msgid "DNS Auto-Tuner & Benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1507 msgid "DNS Check Interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2629 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2653 msgid "DNS Check Interval (s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1515 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1539 msgid "DNS Failures Before Switching" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10322 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9829 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:75 msgid "DNS on router" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1875 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1356 msgid "DNS over HTTPS (DoH)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1877 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1341 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1358 msgid "DNS over QUIC (DoQ)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1876 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1340 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1357 msgid "DNS over TLS (DoT)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2646 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7364 msgid "DNS protocol" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14097 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:213 +msgid "DNS Protocol" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1353 msgid "DNS Protocol Type" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2647 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7359 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7365 msgid "DNS protocol used by the resolver" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7429 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1613 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7435 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1637 msgid "DNS requests through section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1555 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1579 msgid "DNS Rewrite TTL" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2656 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7372 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7378 msgid "DNS server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:142 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:131 #: src/validators/validateDns.ts:8 msgid "DNS server address cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3388 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3406 msgid "DNS server pushed to the client configuration" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2657 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7373 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7379 msgid "DNS server used by the resolver" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1387 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1404 msgid "DNS server used to obtain IP addresses for upstream DNS and proxies. If multiple servers are selected, a timeout switches to a backup." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1368 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1385 msgid "DNS Servers" msgstr "" @@ -1986,31 +2121,31 @@ msgstr "" msgid "DNS Settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1591 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1615 msgid "DNS Strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1535 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1559 msgid "DNS Successful Checks Before Recovery" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1604 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1628 msgid "DNS through proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7417 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7423 msgid "DNS through section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1577 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1601 msgid "DNS Turbo Cache" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1503 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1527 msgid "DNS Unavailability Timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14733 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14308 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:26 msgid "Do not panic, everything can be fixed, just..." msgstr "" @@ -2039,34 +2174,34 @@ msgstr "" msgid "Do not test specified servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15841 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15878 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15886 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15338 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15366 #: src/tachyon/tabs/diagnostic/initController.ts:731 #: src/tachyon/tabs/diagnostic/initController.ts:773 #: src/tachyon/tabs/diagnostic/initController.ts:781 msgid "Doctor failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15853 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15865 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15866 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349 #: src/tachyon/tabs/diagnostic/initController.ts:747 #: src/tachyon/tabs/diagnostic/initController.ts:759 #: src/tachyon/tabs/diagnostic/initController.ts:760 msgid "Doctor repair" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10455 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9950 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:54 msgid "Does not resolve" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9978 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10255 msgid "Domain and IP lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10002 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10279 msgid "Domain lists" msgstr "" @@ -2074,16 +2209,16 @@ msgstr "" msgid "Domain Resolver" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2790 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2814 msgid "Domain test sections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9821 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10932 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11247 msgid "Domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10127 msgid "Domains automatically detected by Smart Detect or added via Telegram bot. You can manually edit or remove them here." msgstr "" @@ -2091,51 +2226,51 @@ msgstr "" msgid "Domains to block for the selected devices. Leave empty to block all internet. Enter one domain per line, e.g. youtube.com. Use the preset buttons to quickly add common categories." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8724 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8938 msgid "Done" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2196 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2220 msgid "Dont Touch My DHCP!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9125 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9137 -#: src/tachyon/tabs/dashboard/initController.ts:1851 -#: src/tachyon/tabs/dashboard/initController.ts:1864 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8658 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8670 +#: src/tachyon/tabs/dashboard/initController.ts:1858 +#: src/tachyon/tabs/dashboard/initController.ts:1871 msgid "Downlink" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11622 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10934 #: src/partials/modal/renderModal.ts:253 msgid "Download" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1798 msgid "Download .conf" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2175 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2199 msgid "Download component packages via the selected section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2183 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2207 msgid "Download components through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2174 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2198 msgid "Download components through a section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2161 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2185 msgid "Download lists through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2176 msgid "Download lists through a section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2177 msgid "Download remote lists and rule sets via the selected section" msgstr "" @@ -2151,31 +2286,31 @@ msgstr "" msgid "Download through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18270 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18321 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18475 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17520 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17567 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17706 #: src/tachyon/tabs/monitoring/initController.ts:886 #: src/tachyon/tabs/monitoring/initController.ts:945 #: src/tachyon/tabs/monitoring/initController.ts:1134 msgid "Downloaded" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1968 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1992 msgid "Downloading and applying rule sets and lists..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14449 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1538 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13671 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1600 msgid "DPI Detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13190 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12428 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:166 msgid "DPI Engine" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14114 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1167 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13314 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1178 msgid "DPI Type" msgstr "" @@ -2183,12 +2318,12 @@ msgstr "" msgid "Drag rows to change priority. The rule at the top is checked first." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10062 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10941 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11256 msgid "DSCP marks (QoS)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:325 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:293 #: src/validators/validateOutboundJson.ts:75 msgid "Duplicate JSON outbound tag" msgstr "" @@ -2197,11 +2332,11 @@ msgstr "" msgid "Duplicate value" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9478 msgid "e.g. AES-256-GCM — leave empty for default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10655 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10970 msgid "e.g. google.com, 1.1.1.1, 443" msgstr "" @@ -2217,51 +2352,51 @@ msgstr "" msgid "e.g. Kids Phone (Night YouTube)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9213 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9489 msgid "e.g. SHA256 — leave empty for default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1870 msgid "Each entry must be \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp), e.g. tcp:6881,udp:6881-6889" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1826 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1844 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:71 msgid "Edit" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2128 msgid "Eligible components for auto-update" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:282 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:691 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7290 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2637 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7296 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2655 msgid "Enable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2736 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2760 msgid "Enable Adaptive Intervals" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2459 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2483 msgid "Enable AI Doctor (ChatGPT / LLM Analysis)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2750 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2774 msgid "Enable Anomaly Detection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3023 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3041 msgid "Enable authentication" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1911 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1935 msgid "Enable automatic updates for remote lists and rule sets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11785 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11090 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:104 msgid "Enable autostart" msgstr "" @@ -2270,92 +2405,92 @@ msgstr "" msgid "Enable built-in DNS resolver for domains handled by this section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2694 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2718 msgid "Enable Config Validation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16168 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15558 #: src/tachyon/tabs/diagnostic/initController.ts:1095 msgid "Enable Direct WAN Bypass" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2616 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2640 msgid "Enable DNS Continuous Check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2641 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2665 msgid "Enable Firewall Reload Dedup" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2708 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2732 msgid "Enable Graceful Degradation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2655 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2679 msgid "Enable Health Metrics" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1910 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1934 msgid "Enable list updates" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9586 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9862 msgid "Enable Mixed Proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9627 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9903 msgid "Enable Mixed Proxy Authentication" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1660 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1684 msgid "Enable Output Network Interface" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2570 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2594 msgid "Enable Proxy Health Monitor" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2542 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2566 msgid "Enable RAG (Knowledge Base Retrieval)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2680 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2704 msgid "Enable Smart Cooldowns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2777 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2801 msgid "Enable Smart Detect" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3001 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3025 msgid "Enable Telegram Bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1456 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1480 msgid "Enable WAN DNS Fallback for Bootstrap DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1445 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1469 msgid "Enable WAN DNS Fallback for Main DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2457 msgid "Enable Watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1774 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1798 msgid "Enable YACD" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1784 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1808 msgid "Enable YACD WAN Access" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3002 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3026 msgid "Enables the background daemon that polls Telegram for commands and sends notifications." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2434 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2458 msgid "Enables the background watchdog process to monitor services and auto-recover on failures." msgstr "" @@ -2371,16 +2506,16 @@ msgstr "" msgid "Enforce SafeSearch & YouTube Restricted Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13481 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13881 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14112 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:482 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:919 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1165 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12710 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13312 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:493 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:930 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1176 msgid "Engine" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2769 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2787 msgid "Enter a complete sing-box inbound object" msgstr "" @@ -2395,7 +2530,7 @@ msgstr "" msgid "Enter a display name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12621 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11894 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:644 msgid "Enter a domain or IP to check (e.g. example.com)..." msgstr "" @@ -2405,7 +2540,7 @@ msgstr "" msgid "Enter a level name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2121 msgid "Enter a valid time in HH:MM format (00:00 to 23:59)" msgstr "" @@ -2418,7 +2553,7 @@ msgstr "" msgid "Enter HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3013 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3037 msgid "Enter the API token obtained from @BotFather." msgstr "" @@ -2426,33 +2561,33 @@ msgstr "" msgid "Enter the HWID sent with subscription requests" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9297 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9573 msgid "Enter the subscription URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8447 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8450 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8461 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8464 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8531 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8534 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8541 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8544 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8655 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8669 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8547 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8550 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8561 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8564 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8641 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8644 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8782 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8785 msgid "Error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8545 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8655 msgid "Error running generator:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11137 msgid "Error running trace:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1985 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2009 msgid "Error updating lists:" msgstr "" @@ -2460,6 +2595,11 @@ msgstr "" msgid "Every day" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13974 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:74 +msgid "EXCELLENT" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2808 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3021 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3422 @@ -2478,7 +2618,7 @@ msgstr "" msgid "Exclude countries" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9745 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10021 msgid "Exclude selected countries" msgstr "" @@ -2500,7 +2640,7 @@ msgstr "" msgid "Exclude servers with one of the selected transports from this level." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10073 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10350 msgid "Exclude traffic types" msgstr "" @@ -2508,7 +2648,7 @@ msgstr "" msgid "Exclude URLTest / Priority group" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10045 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10322 msgid "Excluded devices" msgstr "" @@ -2516,15 +2656,20 @@ msgstr "" msgid "Expecting: %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2158 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2117 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:137 msgid "Expires" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9587 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9863 msgid "Expose this section as a local HTTP+SOCKS proxy" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6356 +#: src/tachyon/helpers/singBoxVariant.ts:60 +msgid "extended" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:999 msgid "External inbound proxy servers" msgstr "" @@ -2537,54 +2682,69 @@ msgstr "" msgid "External nfqws2 config files bypass Tachyon queue management and explicit validation." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16277 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13986 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:86 +msgid "FAILED" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4483 +#: src/tachyon/methods/shell/index.ts:1654 +msgid "Failed to apply DNS configuration" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14241 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:374 +msgid "Failed to apply DNS settings" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15645 #: src/tachyon/tabs/diagnostic/initController.ts:1202 msgid "Failed to apply fix" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4385 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14604 -#: src/tachyon/methods/shell/index.ts:1159 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1713 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4198 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13828 +#: src/tachyon/methods/shell/index.ts:1255 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1778 msgid "Failed to apply strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4564 -#: src/tachyon/methods/shell/index.ts:1411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4375 +#: src/tachyon/methods/shell/index.ts:1507 msgid "Failed to auto-apply strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4600 -#: src/tachyon/methods/shell/index.ts:1456 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4413 +#: src/tachyon/methods/shell/index.ts:1552 msgid "Failed to clear fuzzer history" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18677 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17895 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17909 #: src/tachyon/tabs/monitoring/initController.ts:1400 #: src/tachyon/tabs/monitoring/initController.ts:1415 msgid "Failed to close connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18706 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18718 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17924 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17936 #: src/tachyon/tabs/monitoring/initController.ts:1434 #: src/tachyon/tabs/monitoring/initController.ts:1447 msgid "Failed to close connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14586 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1694 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13810 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1759 msgid "Failed to communicate with AI provider" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16045 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15503 #: src/tachyon/tabs/diagnostic/initController.ts:974 msgid "Failed to copy report to clipboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3243 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1628 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3058 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1646 #: src/helpers/copyToClipboard.ts:12 msgid "Failed to copy!" msgstr "" @@ -2593,58 +2753,73 @@ msgstr "" msgid "Failed to delete snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4540 -#: src/tachyon/methods/shell/index.ts:1383 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4352 +#: src/tachyon/methods/shell/index.ts:1479 msgid "Failed to detect DPI type" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3565 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3571 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20636 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20637 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20704 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20883 -#: src/tachyon/tabs/updates/initController.ts:661 -#: src/tachyon/tabs/updates/initController.ts:662 -#: src/tachyon/tabs/updates/initController.ts:739 -#: src/tachyon/tabs/updates/initController.ts:953 -#: src/tachyon/methods/shell/index.ts:171 -#: src/tachyon/methods/shell/index.ts:178 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3385 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3388 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19896 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20070 +#: src/tachyon/methods/shell/index.ts:199 +#: src/tachyon/methods/shell/index.ts:206 +#: src/tachyon/tabs/updates/initController.ts:679 +#: src/tachyon/tabs/updates/initController.ts:680 +#: src/tachyon/tabs/updates/initController.ts:759 +#: src/tachyon/tabs/updates/initController.ts:975 msgid "Failed to execute" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16799 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3793 +#: src/tachyon/methods/shell/index.ts:730 +msgid "Failed to fetch releases" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16116 #: src/tachyon/tabs/diagnostic/initController.ts:1748 msgid "Failed to generate bug report" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8451 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8465 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8551 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8565 msgid "Failed to generate WARP config:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4582 -#: src/tachyon/methods/shell/index.ts:1433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4451 +#: src/tachyon/methods/shell/index.ts:1606 +msgid "Failed to get DNS benchmark status" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4395 +#: src/tachyon/methods/shell/index.ts:1529 msgid "Failed to get fuzzer history" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4467 -#: src/tachyon/methods/shell/index.ts:1287 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4281 +#: src/tachyon/methods/shell/index.ts:1383 msgid "Failed to get fuzzer patterns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4343 -#: src/tachyon/methods/shell/index.ts:1111 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4156 +#: src/tachyon/methods/shell/index.ts:1207 msgid "Failed to get fuzzer status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4410 -#: src/tachyon/methods/shell/index.ts:1211 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4225 +#: src/tachyon/methods/shell/index.ts:1307 msgid "Failed to get fuzzer strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14176 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1230 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3817 +#: src/tachyon/methods/shell/index.ts:759 +msgid "Failed to install version" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13368 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1241 msgid "Failed to load history" msgstr "" @@ -2652,31 +2827,36 @@ msgstr "" msgid "Failed to load snapshots" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8673 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20421 +#: src/tachyon/tabs/updates/initController.ts:1417 +msgid "Failed to load versions" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8786 msgid "Failed to parse file:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12243 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11542 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:231 msgid "Failed to parse target list." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8535 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8645 msgid "Failed to parse WARP config:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3965 -#: src/tachyon/methods/shell/index.ts:664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3766 +#: src/tachyon/methods/shell/index.ts:697 msgid "Failed to read operation log" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12194 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:115 msgid "Failed to receive response from AI service." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4523 -#: src/tachyon/methods/shell/index.ts:1362 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4333 +#: src/tachyon/methods/shell/index.ts:1458 msgid "Failed to reset fuzzer patterns" msgstr "" @@ -2684,8 +2864,8 @@ msgstr "" msgid "Failed to reset settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16615 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16713 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15944 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16035 #: src/tachyon/tabs/diagnostic/initController.ts:1543 #: src/tachyon/tabs/diagnostic/initController.ts:1651 msgid "Failed to restore native internet" @@ -2695,18 +2875,18 @@ msgstr "" msgid "Failed to restore snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3232 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3258 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3282 msgid "Failed to run diagnostics — is the tachyon binary installed?" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4494 -#: src/tachyon/methods/shell/index.ts:1320 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4307 +#: src/tachyon/methods/shell/index.ts:1416 msgid "Failed to save fuzzer patterns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13771 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:796 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12991 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:807 msgid "Failed to save patterns" msgstr "" @@ -2714,22 +2894,29 @@ msgstr "" msgid "Failed to save snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14535 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1633 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13759 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14209 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:339 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1698 msgid "Failed to start benchmark" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2947 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2971 msgid "Failed to start bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4320 -#: src/tachyon/methods/shell/index.ts:1085 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4431 +#: src/tachyon/methods/shell/index.ts:1582 +msgid "Failed to start DNS benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4133 +#: src/tachyon/methods/shell/index.ts:1181 msgid "Failed to start fuzzer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12226 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12835 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11525 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12097 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:213 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:890 msgid "Failed to start service check." @@ -2739,12 +2926,17 @@ msgstr "" msgid "Failed to start watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2961 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2985 msgid "Failed to stop bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4357 -#: src/tachyon/methods/shell/index.ts:1126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4470 +#: src/tachyon/methods/shell/index.ts:1626 +msgid "Failed to stop DNS benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4170 +#: src/tachyon/methods/shell/index.ts:1222 msgid "Failed to stop fuzzer" msgstr "" @@ -2752,68 +2944,86 @@ msgstr "" msgid "Failed to stop watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8132 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8138 -#: src/tachyon/tabs/dashboard/initController.ts:700 -#: src/tachyon/tabs/dashboard/initController.ts:706 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7755 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7761 +#: src/tachyon/tabs/dashboard/initController.ts:703 +#: src/tachyon/tabs/dashboard/initController.ts:709 msgid "Failed to switch proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4444 -#: src/tachyon/methods/shell/index.ts:1256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4258 +#: src/tachyon/methods/shell/index.ts:1352 msgid "Failed to synthesize AI strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16438 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15790 #: src/tachyon/tabs/diagnostic/initController.ts:1364 msgid "Failed to update device" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7808 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7809 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7824 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7862 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7865 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8869 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8872 -#: src/tachyon/tabs/dashboard/initController.ts:309 -#: src/tachyon/tabs/dashboard/initController.ts:310 -#: src/tachyon/tabs/dashboard/initController.ts:330 -#: src/tachyon/tabs/dashboard/initController.ts:377 -#: src/tachyon/tabs/dashboard/initController.ts:381 -#: src/tachyon/tabs/dashboard/initController.ts:1537 -#: src/tachyon/tabs/dashboard/initController.ts:1541 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7461 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7461 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7476 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7509 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7512 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8415 +#: src/tachyon/tabs/dashboard/initController.ts:312 +#: src/tachyon/tabs/dashboard/initController.ts:313 +#: src/tachyon/tabs/dashboard/initController.ts:333 +#: src/tachyon/tabs/dashboard/initController.ts:380 +#: src/tachyon/tabs/dashboard/initController.ts:384 +#: src/tachyon/tabs/dashboard/initController.ts:1540 +#: src/tachyon/tabs/dashboard/initController.ts:1544 msgid "Failed to update subscriptions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2218 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2242 msgid "Failover failure threshold" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13980 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:80 +msgid "FAIR" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:91 msgid "FakeIP and control checks use different public IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10781 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:92 msgid "FakeIP and control checks use the same public IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10736 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10194 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:46 msgid "FakeIP works; public IP comparison is inconclusive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3146 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3164 msgid "FakeTLS host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1401 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14131 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:248 +msgid "Fallback DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1418 msgid "Fallback DNS Servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3228 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1433 +msgid "Fallback DNS servers must be plain UDP (IP or hostname). DoH/DoT URLs are not allowed here." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1435 +msgid "Fallback DNS servers must be plain UDP (IP or hostname). Path-style DoH (e.g. domain/path) is not allowed here." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3246 msgid "Fallback on unknown DC" msgstr "" @@ -2835,22 +3045,22 @@ msgstr "" msgid "Family profiles and device grouping" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2617 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2641 msgid "Faster DNS health monitoring than the default cycle. Switches bootstrap DNS on failure." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8810 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8359 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3226 -#: src/tachyon/tabs/dashboard/initController.ts:1464 +#: src/tachyon/tabs/dashboard/initController.ts:1467 msgid "Faster server search interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5025 -#: src/tachyon/methods/custom/getDashboardSections.ts:661 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4884 +#: src/tachyon/methods/custom/getDashboardSections.ts:673 msgid "Fastest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11708 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:425 msgid "Filter by service:" msgstr "" @@ -2859,62 +3069,66 @@ msgstr "" msgid "Filter the servers that will be displayed on the dashboard." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13409 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:401 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12641 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:412 msgid "Filter:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9779 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8357 +msgid "Finished with code" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10055 msgid "Finland (fi)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10525 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10014 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:136 msgid "Firewall WAN port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16271 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15639 #: src/tachyon/tabs/diagnostic/initController.ts:1196 msgid "Fix applied" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16154 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15544 #: src/tachyon/tabs/diagnostic/initController.ts:1081 msgid "Fix resolv.conf" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3655 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2357 msgid "Fix the highlighted fields and save again." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15859 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16267 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15635 #: src/tachyon/tabs/diagnostic/initController.ts:753 #: src/tachyon/tabs/diagnostic/initController.ts:1192 msgid "Fixed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16171 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15561 #: src/tachyon/tabs/diagnostic/initController.ts:1098 msgid "Flush Conntrack Table" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13692 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:715 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12915 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:726 msgid "Fooling Methods (dpi-desync-fooling)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13642 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12866 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:675 msgid "Fooling Methods (fooling)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1958 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1982 msgid "Force immediate download and refresh of all remote lists and rule sets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10034 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10311 msgid "Forced device routing" msgstr "" @@ -2922,11 +3136,16 @@ msgstr "" msgid "Forces SafeSearch on Google, Yandex, Bing, DuckDuckGo and Strict Restricted Mode on YouTube via DNS rewrite for all devices in this profile." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2313 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2337 msgid "Forces sing-box to tunnel DNS requests via DoQ with Encrypted Client Hello (ECH) for SNI hiding." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9778 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437 +msgid "Found" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10054 msgid "France (fr)" msgstr "" @@ -2938,19 +3157,19 @@ msgstr "" msgid "Friday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3191 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3209 msgid "Fronting IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3180 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3198 msgid "Fronting port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3219 msgid "Fronting proxy protocol" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12244 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:173 msgid "Full System Diagnostic" msgstr "" @@ -2959,11 +3178,11 @@ msgstr "" msgid "Fuzzing is not supported here because Tachyon needs deterministic runtime validation." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1889 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1913 msgid "Game Console IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1877 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1901 msgid "Game Console Optimizer (NAT Type 1)" msgstr "" @@ -2979,7 +3198,7 @@ msgstr "" msgid "Generate a random 16-character hexadecimal HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11880 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11185 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:199 msgid "Generate bug report" msgstr "" @@ -2993,42 +3212,42 @@ msgstr "" msgid "Generate HWID from router hardware information for this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8361 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8400 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8422 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8444 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8505 msgid "Generate WARP Config" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9978 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:89 msgid "Generated inbound" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8523 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8633 msgid "Generated!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8442 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8542 msgid "Generating…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10044 msgid "GeoIP Countries" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9740 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10016 msgid "GeoIP Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10937 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11252 msgid "GeoSite / GeoIP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9775 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10051 msgid "Germany (de)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11099 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:113 msgid "Get global check" msgstr "" @@ -3037,57 +3256,67 @@ msgstr "" msgid "Give the snapshot a name. It is saved with the current date and can be restored from this list later." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15816 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15313 #: src/tachyon/tabs/diagnostic/initController.ts:703 msgid "Global check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15827 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15831 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15328 #: src/tachyon/tabs/diagnostic/initController.ts:714 #: src/tachyon/tabs/diagnostic/initController.ts:718 msgid "Global check failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14600 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13824 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1774 msgid "Global Default" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13977 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:77 +msgid "GOOD" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:547 msgid "Group devices into family profiles to manage content filtering, SafeSearch, and screen time limits in one place." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3003 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3021 msgid "gRPC service" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3274 msgid "Handshake timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12847 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3625 +msgid "Header Protection Key" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12109 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:14 msgid "Hello! I am Tachyon AI Assistant. How can I help you today? Ask me about domain blocks, diagnostics, or router settings." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3549 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3555 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3561 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3602 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3608 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3614 msgid "Hex or binary junk payload" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3531 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3537 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3543 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3584 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3590 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3596 msgid "Hex or binary payload" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3519 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3572 msgid "Hex or binary payload for init" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3525 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3578 msgid "Hex or binary payload for response" msgstr "" @@ -3135,37 +3364,43 @@ msgstr "" msgid "Hide URLTest group nodes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11678 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10986 #: src/partials/modal/renderModal.ts:310 msgid "Hide values" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8796 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700 +#: src/tachyon/tabs/updates/initController.ts:1738 +msgid "Hide versions" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8346 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3190 -#: src/tachyon/tabs/dashboard/initController.ts:1450 +#: src/tachyon/tabs/dashboard/initController.ts:1453 msgid "Higher-level check interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1493 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1517 msgid "Higher-priority DNS Check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13131 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16550 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12374 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15891 #: src/tachyon/tabs/diagnostic/initController.ts:1480 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:96 msgid "History" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4605 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14076 -#: src/tachyon/methods/shell/index.ts:1461 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13278 +#: src/tachyon/methods/shell/index.ts:1557 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1137 msgid "History cleared" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18260 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18317 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17510 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17563 #: src/tachyon/tabs/monitoring/initController.ts:876 #: src/tachyon/tabs/monitoring/initController.ts:941 msgid "Host" @@ -3175,11 +3410,11 @@ msgstr "" msgid "Hosts" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8335 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8399 msgid "Hosts Lists Update Interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2669 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2693 msgid "How many hours of metrics to keep (default 24)." msgstr "" @@ -3191,37 +3426,37 @@ msgstr "" msgid "How often the currently selected server is checked" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2630 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2654 msgid "How often to check DNS health in seconds (default 60)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2584 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2608 msgid "How often to check proxy health in seconds (fast tier, default 30)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3053 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3077 msgid "How often to check Telegram for new messages (default: 5)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1484 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1508 msgid "How often to check the active DNS servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1518 msgid "How often to check whether a higher-priority DNS server has recovered." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10082 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10101 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10359 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10378 msgid "HTTP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5939 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5625 #: src/tachyon/api.ts:27 msgid "HTTP error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2996 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3014 msgid "HTTP hosts" msgstr "" @@ -3229,37 +3464,37 @@ msgstr "" msgid "HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8665 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8230 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2736 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3246 -#: src/tachyon/tabs/dashboard/initController.ts:1295 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3264 +#: src/tachyon/tabs/dashboard/initController.ts:1298 msgid "Idle timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2733 msgid "If one health check fails with an error, continue running other checks instead of stopping." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2071 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2095 msgid "Immediately upon release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7728 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7750 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7837 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7734 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7756 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7843 msgid "Import" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7832 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7838 msgid "Import (%d records)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8557 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8667 msgid "Import AmneziaWG settings from .conf file" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7909 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7915 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8118 msgid "Import Hosts File" msgstr "" @@ -3271,15 +3506,15 @@ msgstr "" msgid "Import URLTest groups returned by this subscription provider" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2786 msgid "Inbound JSON" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2068 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2086 msgid "Inbound JSON cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2079 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2097 msgid "Inbound JSON must be an object with a type field" msgstr "" @@ -3305,7 +3540,7 @@ msgstr "" msgid "Include IP addresses and subnets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9746 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10022 msgid "Include selected countries" msgstr "" @@ -3315,113 +3550,117 @@ msgstr "" msgid "Include servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1832 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1850 msgid "Information" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3567 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3620 msgid "Init handshake timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3547 msgid "Init packet header (H1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3470 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3523 msgid "Init packet junk size (S1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8841 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9082 msgid "Init Packet Magic Header (S1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8843 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9084 msgid "Init Packet Magic Header (S3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9107 msgid "Init Packet Payload (I1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8850 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9108 msgid "Init Packet Payload (I2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9109 msgid "Init Packet Payload (I3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9110 msgid "Init Packet Payload (I4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8853 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9111 msgid "Init Packet Payload (I5)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3518 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3571 msgid "Init payload (I1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3566 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3619 msgid "Init timeout (Itime)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20067 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20909 -#: src/tachyon/tabs/updates/initController.ts:989 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:431 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20096 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20436 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20483 +#: src/tachyon/tabs/updates/initController.ts:1011 +#: src/tachyon/tabs/updates/initController.ts:1437 +#: src/tachyon/tabs/updates/initController.ts:1490 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:419 msgid "Install" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21420 -#: src/tachyon/tabs/updates/initController.ts:1554 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20688 +#: src/tachyon/tabs/updates/initController.ts:1724 msgid "Install another build:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14620 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14625 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14630 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1732 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1737 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1742 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1803 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1808 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1813 msgid "Installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21295 -#: src/tachyon/tabs/updates/initController.ts:1415 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20568 +#: src/tachyon/tabs/updates/initController.ts:1585 msgid "Installed build → Available build" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20396 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21303 -#: src/tachyon/tabs/updates/initController.ts:359 -#: src/tachyon/tabs/updates/initController.ts:1423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19610 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20576 +#: src/tachyon/tabs/updates/initController.ts:372 +#: src/tachyon/tabs/updates/initController.ts:1593 msgid "Installed version is newer than release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2370 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2394 msgid "Interface" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1747 msgid "Interface Monitoring" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1781 msgid "Interface Monitoring Delay" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1724 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1748 msgid "Interface monitoring for Bad WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8667 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8816 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2750 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3242 -#: src/tachyon/tabs/dashboard/initController.ts:1297 -#: src/tachyon/tabs/dashboard/initController.ts:1470 +#: src/tachyon/tabs/dashboard/initController.ts:1300 +#: src/tachyon/tabs/dashboard/initController.ts:1473 msgid "Interrupt connections" msgstr "" @@ -3433,32 +3672,32 @@ msgstr "" msgid "Interrupt connections when URLTest switches the selected server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8663 -#: src/tachyon/tabs/dashboard/initController.ts:1293 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8228 +#: src/tachyon/tabs/dashboard/initController.ts:1296 msgid "Interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7532 msgid "Invalid ByeDPI strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:242 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:219 #: src/validators/validateSubnet.ts:25 msgid "Invalid CIDR prefix" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:163 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:148 #: src/validators/validateDns.ts:34 msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:138 #: src/validators/validateDns.ts:21 msgid "Invalid DNS server port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:83 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:87 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:76 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:80 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5367 #: src/validators/validateDomain.ts:67 #: src/validators/validateDomain.ts:73 @@ -3470,84 +3709,84 @@ msgstr "" msgid "Invalid domain: empty prefix value" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:229 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:206 #: src/validators/validateSubnet.ts:10 msgid "Invalid format. Use an IP address or CIDR subnet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:824 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:776 #: src/validators/validateHysteriaUrl.ts:104 msgid "Invalid HY2 URL: insecure must be 0 or 1" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:781 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:738 #: src/validators/validateHysteriaUrl.ts:51 msgid "Invalid HY2 URL: invalid host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:812 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:767 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:803 #: src/validators/validateHysteriaUrl.ts:90 #: src/validators/validateHysteriaUrl.ts:146 msgid "Invalid HY2 URL: invalid port number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:767 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:724 #: src/validators/validateHysteriaUrl.ts:33 msgid "Invalid HY2 URL: missing credentials/server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:786 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:743 #: src/validators/validateHysteriaUrl.ts:57 msgid "Invalid HY2 URL: missing host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:775 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:732 #: src/validators/validateHysteriaUrl.ts:44 msgid "Invalid HY2 URL: missing host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:771 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:728 #: src/validators/validateHysteriaUrl.ts:39 msgid "Invalid HY2 URL: missing password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:789 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:746 #: src/validators/validateHysteriaUrl.ts:61 msgid "Invalid HY2 URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:714 #: src/validators/validateHysteriaUrl.ts:20 msgid "Invalid HY2 URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:751 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:708 #: src/validators/validateHysteriaUrl.ts:13 msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:844 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:789 #: src/validators/validateHysteriaUrl.ts:127 msgid "Invalid HY2 URL: obfs-password required when obfs is set" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:867 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:809 #: src/validators/validateHysteriaUrl.ts:153 msgid "Invalid HY2 URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:797 #: src/validators/validateHysteriaUrl.ts:136 msgid "Invalid HY2 URL: sni cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:783 #: src/validators/validateHysteriaUrl.ts:116 msgid "Invalid HY2 URL: unsupported obfs type" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:30 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:29 #: src/validators/validateIp.ts:28 msgid "Invalid IP address" msgstr "" @@ -3556,23 +3795,23 @@ msgstr "" msgid "Invalid IP or MAC address. Expected e.g. 192.168.1.150 or AA:BB:CC:DD:EE:FF" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:312 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2081 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:280 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2099 #: src/validators/validateOutboundJson.ts:58 msgid "Invalid JSON format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8020 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8026 msgid "Invalid line: \"%s\". Use: domain ip or ip domain" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:217 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:194 #: src/validators/validatePath.ts:22 msgid "Invalid path format. Path must start with \"/\" and contain valid characters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:438 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9620 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:400 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9896 #: src/validators/validateShadowsocksUrl.ts:91 msgid "Invalid port number. Must be between 1 and 65535" msgstr "" @@ -3585,97 +3824,97 @@ msgstr "" msgid "Invalid regular expression" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:392 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:354 #: src/validators/validateShadowsocksUrl.ts:38 msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:380 #: src/validators/validateShadowsocksUrl.ts:67 msgid "Invalid Shadowsocks URL: invalid server and port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:384 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:346 #: src/validators/validateShadowsocksUrl.ts:28 msgid "Invalid Shadowsocks URL: missing credentials" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:401 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:363 #: src/validators/validateShadowsocksUrl.ts:47 msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:432 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:394 #: src/validators/validateShadowsocksUrl.ts:84 msgid "Invalid Shadowsocks URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:425 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:387 #: src/validators/validateShadowsocksUrl.ts:75 msgid "Invalid Shadowsocks URL: missing server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:373 #: src/validators/validateShadowsocksUrl.ts:59 msgid "Invalid Shadowsocks URL: missing server address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:376 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:338 #: src/validators/validateShadowsocksUrl.ts:17 msgid "Invalid Shadowsocks URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:369 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:331 #: src/validators/validateShadowsocksUrl.ts:9 msgid "Invalid Shadowsocks URL: must start with ss://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:444 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:406 #: src/validators/validateShadowsocksUrl.ts:97 msgid "Invalid Shadowsocks URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:718 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:675 #: src/validators/validateSocksUrl.ts:49 msgid "Invalid SOCKS URL: invalid host and port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:734 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:691 #: src/validators/validateSocksUrl.ts:68 msgid "Invalid SOCKS URL: invalid port number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:711 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:668 #: src/validators/validateSocksUrl.ts:41 msgid "Invalid SOCKS URL: missing host and port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:682 #: src/validators/validateSocksUrl.ts:57 msgid "Invalid SOCKS URL: missing hostname or IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:729 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:686 #: src/validators/validateSocksUrl.ts:62 msgid "Invalid SOCKS URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:704 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:661 #: src/validators/validateSocksUrl.ts:33 msgid "Invalid SOCKS URL: missing username" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:650 #: src/validators/validateSocksUrl.ts:18 msgid "Invalid SOCKS URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:683 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:642 #: src/validators/validateSocksUrl.ts:9 msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:738 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:695 #: src/validators/validateSocksUrl.ts:72 msgid "Invalid SOCKS URL: parsing failed" msgstr "" @@ -3684,191 +3923,191 @@ msgstr "" msgid "Invalid time format. Expected HH:MM (e.g. 22:00)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:636 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:595 #: src/validators/validateTrojanUrl.ts:16 msgid "Invalid Trojan URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:630 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:589 #: src/validators/validateTrojanUrl.ts:9 msgid "Invalid Trojan URL: must start with trojan://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:631 #: src/validators/validateTrojanUrl.ts:61 msgid "Invalid Trojan URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:953 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:892 #: src/validators/validateTuicUrl.ts:103 msgid "Invalid TUIC URL: congestion_control must be bbr, cubic, or new_reno" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:976 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:909 #: src/validators/validateTuicUrl.ts:128 msgid "Invalid TUIC URL: insecure must be 0 or 1" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:926 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:868 #: src/validators/validateTuicUrl.ts:71 msgid "Invalid TUIC URL: invalid host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:940 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:882 #: src/validators/validateTuicUrl.ts:88 msgid "Invalid TUIC URL: invalid port number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:897 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:839 #: src/validators/validateTuicUrl.ts:35 msgid "Invalid TUIC URL: missing credentials/server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:931 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:873 #: src/validators/validateTuicUrl.ts:77 msgid "Invalid TUIC URL: missing host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:908 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:850 #: src/validators/validateTuicUrl.ts:49 msgid "Invalid TUIC URL: missing host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:876 #: src/validators/validateTuicUrl.ts:81 msgid "Invalid TUIC URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:903 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:914 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:845 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:856 #: src/validators/validateTuicUrl.ts:43 #: src/validators/validateTuicUrl.ts:57 msgid "Invalid TUIC URL: missing UUID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:888 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:830 #: src/validators/validateTuicUrl.ts:23 msgid "Invalid TUIC URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:882 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:824 #: src/validators/validateTuicUrl.ts:16 msgid "Invalid TUIC URL: must start with tuic://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:999 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:929 #: src/validators/validateTuicUrl.ts:154 msgid "Invalid TUIC URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:993 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:923 #: src/validators/validateTuicUrl.ts:147 msgid "Invalid TUIC URL: sni cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:965 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:901 #: src/validators/validateTuicUrl.ts:116 msgid "Invalid TUIC URL: udp_relay_mode must be native, quic, or qux" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:919 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:861 #: src/validators/validateTuicUrl.ts:63 msgid "Invalid TUIC URL: UUID must be a valid UUID v4 format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:985 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:915 #: src/validators/validateTuicUrl.ts:138 msgid "Invalid TUIC URL: zero_rtt_handshake must be 0, 1, true, or false" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:157 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:172 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:195 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:174 #: src/validators/validateUrl.ts:9 #: src/validators/validateUrl.ts:35 #: src/validators/validateUrl.ts:38 msgid "Invalid URL format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:560 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:521 #: src/validators/validateVlessUrl.ts:117 msgid "Invalid VLESS URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:620 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:579 #: src/validators/validateVmessUrl.ts:68 msgid "Invalid VMess URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10933 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11248 msgid "IP Addresses (IP CIDR)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13748 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:772 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12970 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:783 msgid "IP Frag Bounds (--ip-frag)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10137 msgid "IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1594 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1618 msgid "IPv4 only" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1596 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1620 msgid "IPv6 only" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1846 msgid "Isolate BitTorrent traffic and force it direct to prevent VPN bans" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15855 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347 #: src/tachyon/tabs/diagnostic/initController.ts:749 msgid "Issues" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10214 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10800 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9752 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10241 #: src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:17 #: src/tachyon/tabs/diagnostic/helpers/getMeta.ts:20 msgid "Issues detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16297 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15661 #: src/tachyon/tabs/diagnostic/initController.ts:1221 msgid "Issues detected. Review the diagnosis above." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9783 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10059 msgid "Japan (jp)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1124 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4068 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4331 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9385 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9661 msgid "JSON outbound" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:306 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:274 #: src/validators/validateOutboundJson.ts:50 msgid "JSON outbound cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:315 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:283 #: src/validators/validateOutboundJson.ts:62 msgid "JSON outbound must be a JSON object" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:289 #: src/validators/validateOutboundJson.ts:70 msgid "JSON outbound must contain a non-empty tag field" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:318 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:286 #: src/validators/validateOutboundJson.ts:66 msgid "JSON outbound must contain a non-empty type field" msgstr "" @@ -3877,59 +4116,59 @@ msgstr "" msgid "JSON outbound settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8840 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9081 msgid "Junk Max Size (Jmax)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8839 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9080 msgid "Junk Min Size (Jmin)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3452 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3505 msgid "Junk packet count (Jc)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8838 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9079 msgid "Junk Packet Count (Jc)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3464 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3517 msgid "Junk packet max size (Jmax)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3458 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3511 msgid "Junk packet min size (Jmin)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3548 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3601 msgid "Junk payload (J1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3554 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3607 msgid "Junk payload (J2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3560 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3613 msgid "Junk payload (J3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3536 msgid "Junk size for cookie packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3471 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3524 msgid "Junk size for initiation packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3477 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3530 msgid "Junk size for response packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3489 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3542 msgid "Junk size for transport packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9786 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10062 msgid "Kazakhstan (kz)" msgstr "" @@ -3937,7 +4176,7 @@ msgstr "" msgid "Keep Priority before latency-sorted servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2124 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2148 msgid "Keep the previous working binary/package on the router flash for instant offline rollback if needed. Consumes extra storage." msgstr "" @@ -3945,15 +4184,20 @@ msgstr "" msgid "Keep URLTest before latency-sorted servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1578 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3655 +msgid "Keepalive Timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1602 msgid "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9103 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9379 msgid "Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2853 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2871 msgid "Key path" msgstr "" @@ -3961,12 +4205,12 @@ msgstr "" msgid "Keyword must not contain spaces or commas" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16534 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15877 #: src/tachyon/tabs/diagnostic/initController.ts:1464 msgid "LAN Devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2502 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2526 msgid "Language for AI Doctor diagnosis responses" msgstr "" @@ -3974,26 +4218,31 @@ msgstr "" msgid "Laptop / PC (💻)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3844 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3863 -#: src/tachyon/methods/shell/index.ts:519 -#: src/tachyon/methods/shell/index.ts:540 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13951 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:46 +msgid "Latency" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3648 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3667 +#: src/tachyon/methods/shell/index.ts:547 +#: src/tachyon/methods/shell/index.ts:568 msgid "Latency test failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2135 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2159 msgid "Latency test URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20398 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21301 -#: src/tachyon/tabs/updates/initController.ts:362 -#: src/tachyon/tabs/updates/initController.ts:1421 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19612 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20574 +#: src/tachyon/tabs/updates/initController.ts:375 +#: src/tachyon/tabs/updates/initController.ts:1591 msgid "Latest version is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21303 -#: src/tachyon/tabs/updates/initController.ts:1423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20576 +#: src/tachyon/tabs/updates/initController.ts:1593 msgid "Latest version:" msgstr "" @@ -4009,121 +4258,131 @@ msgstr "" msgid "Limit device network usage per day. When the quota is exhausted, the device is blocked until midnight. 0 disables the limit." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7221 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7227 msgid "List must be an HTTP(S) URL or a local .lst path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2821 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2845 msgid "List of domains automatically detected and the section they were added to. To edit or remove them, open the routing rules of the respective section." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1944 msgid "List Update Frequency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2695 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2713 msgid "Listen address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2702 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2720 msgid "Listen port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10008 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:125 msgid "Listening port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1977 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2001 msgid "Lists and rule sets successfully updated!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2480 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2504 msgid "LM Studio (Local PC / Server)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8630 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8645 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8743 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8758 msgid "Load .conf" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8556 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8666 msgid "Load .conf config" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7678 msgid "Load Current Records" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7666 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7672 msgid "Loaded %d current record(s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8721 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8935 msgid "Loaded!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1791 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1809 msgid "Loading client link..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16319 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15680 #: src/tachyon/tabs/diagnostic/initController.ts:1243 msgid "Loading connected LAN devices..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17600 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18370 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16881 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17613 #: src/tachyon/tabs/monitoring/initController.ts:1002 #: src/tachyon/tabs/monitoring/render.ts:101 msgid "Loading connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12171 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11474 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11513 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:150 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:194 msgid "Loading service list..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21141 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21156 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21174 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21188 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21202 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21216 -#: src/tachyon/tabs/updates/initController.ts:1253 -#: src/tachyon/tabs/updates/initController.ts:1268 -#: src/tachyon/tabs/updates/initController.ts:1286 -#: src/tachyon/tabs/updates/initController.ts:1300 -#: src/tachyon/tabs/updates/initController.ts:1314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20451 +#: src/tachyon/tabs/updates/initController.ts:1456 +msgid "Loading versions..." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20313 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20327 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20371 +#: src/tachyon/tabs/updates/initController.ts:1275 +#: src/tachyon/tabs/updates/initController.ts:1291 +#: src/tachyon/tabs/updates/initController.ts:1313 #: src/tachyon/tabs/updates/initController.ts:1328 +#: src/tachyon/tabs/updates/initController.ts:1343 +#: src/tachyon/tabs/updates/initController.ts:1357 msgid "Loading..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8747 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8961 msgid "Local Address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2282 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2306 msgid "Log Level" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2110 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13952 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:47 +msgid "Loss" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2134 msgid "LuCI Web UI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6689 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6354 #: src/tachyon/helpers/singBoxVariant.ts:58 msgid "lx" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9824 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:67 msgid "Main DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1369 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1386 msgid "Main DNS server. If multiple servers are selected, a timeout switches to a backup." msgstr "" @@ -4131,65 +4390,70 @@ msgstr "" msgid "Main overview and status widgets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2447 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8307 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8705 -#: src/tachyon/tabs/dashboard/initController.ts:914 -#: src/tachyon/tabs/dashboard/initController.ts:1346 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7927 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8267 +#: src/tachyon/tabs/dashboard/initController.ts:917 +#: src/tachyon/tabs/dashboard/initController.ts:1349 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:450 msgid "Manual" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1957 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1981 msgid "Manual list update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9151 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9427 msgid "MASQUE Access Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9139 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9415 msgid "MASQUE Account ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9403 msgid "MASQUE Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3354 msgid "Masquerade LAN traffic into tailnet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10138 msgid "Match destination IPs or subnets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10055 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10332 msgid "Match destination ports. Use a single port or a range" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11040 msgid "Match Found" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10063 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10340 msgid "Match traffic by packet DSCP mark (assigned in Windows via Policy-Based QoS). Examples: 46 (EF), 0x2e, 34 (AF41)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2764 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3661 +msgid "Max Handshake Attempts" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2788 msgid "Max reconnects per hour before alert (default 10)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3465 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3518 msgid "Maximum size of junk packets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1504 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1528 msgid "Maximum time to wait for example.com to resolve during a DNS health check." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9149 -#: src/tachyon/tabs/dashboard/initController.ts:1877 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8682 +#: src/tachyon/tabs/dashboard/initController.ts:1884 msgid "Memory Usage" msgstr "" @@ -4201,11 +4465,11 @@ msgstr "" msgid "Messengers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3028 msgid "Method" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2668 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2692 msgid "Metrics Retention (hours)" msgstr "" @@ -4220,19 +4484,19 @@ msgstr "" msgid "Minimum latency difference in milliseconds that triggers switching to a faster server." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3459 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3512 msgid "Minimum size of junk packets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9678 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9954 msgid "Mixed Proxy Password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9601 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9877 msgid "Mixed Proxy Port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9642 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9918 msgid "Mixed Proxy Username" msgstr "" @@ -4240,7 +4504,7 @@ msgstr "" msgid "Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2489 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2513 msgid "Model name to use. Leave empty to use default (gpt-4o-mini / claude-3-5-haiku / deepseek-chat / llama3:latest)." msgstr "" @@ -4252,7 +4516,7 @@ msgstr "" msgid "Monday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1733 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1757 msgid "Monitored Interfaces" msgstr "" @@ -4262,7 +4526,7 @@ msgstr "" msgid "Monitoring" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2751 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2775 msgid "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour." msgstr "" @@ -4274,12 +4538,12 @@ msgstr "" msgid "Move Up" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8810 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3395 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9024 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3413 msgid "MTU" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3043 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3067 msgid "Must be a comma-separated list of numeric IDs" msgstr "" @@ -4288,13 +4552,13 @@ msgstr "" msgid "Must be a number in the range of 0 - 10000" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13129 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12372 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:94 msgid "My Strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13880 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:918 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13096 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:929 msgid "Name" msgstr "" @@ -4307,18 +4571,18 @@ msgstr "" msgid "Name shown in the priority level list" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16605 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16705 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16027 #: src/tachyon/tabs/diagnostic/initController.ts:1533 #: src/tachyon/tabs/diagnostic/initController.ts:1643 msgid "Native internet restored. Tachyon stopped." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3326 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3344 msgid "Native tailscaled (tailnet reachable from LAN without client)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9776 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10052 msgid "Netherlands (nl)" msgstr "" @@ -4327,7 +4591,7 @@ msgid "Network & Interfaces" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1950 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9344 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9620 msgid "Network Interface" msgstr "" @@ -4335,30 +4599,30 @@ msgstr "" msgid "Network interface settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7821 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7827 msgid "New domains:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7075 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6767 #: src/tachyon/services/core.service.ts:38 msgid "New version %s is available for %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10894 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11013 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10309 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:100 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:97 msgid "NFQUEUE range is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10893 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11012 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10309 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:99 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:96 msgid "NFQUEUE range overlaps with another rule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7446 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7452 msgid "NFQWS Strategy" msgstr "" @@ -4366,7 +4630,7 @@ msgstr "" msgid "NFQWS strategy cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7479 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7485 msgid "NFQWS2 Strategy" msgstr "" @@ -4374,28 +4638,28 @@ msgstr "" msgid "NFQWS2 strategy cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8235 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8296 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8694 -#: src/tachyon/tabs/dashboard/initController.ts:822 -#: src/tachyon/tabs/dashboard/initController.ts:826 -#: src/tachyon/tabs/dashboard/initController.ts:902 -#: src/tachyon/tabs/dashboard/initController.ts:1334 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7855 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7858 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7918 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8258 +#: src/tachyon/tabs/dashboard/initController.ts:825 +#: src/tachyon/tabs/dashboard/initController.ts:829 +#: src/tachyon/tabs/dashboard/initController.ts:905 +#: src/tachyon/tabs/dashboard/initController.ts:1337 msgid "No" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3032 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2845 #: src/tachyon/tabs/dashboard/partials/renderConnections.ts:63 msgid "No active clients" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18391 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17632 #: src/tachyon/tabs/monitoring/initController.ts:1026 msgid "No active connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16330 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15691 #: src/tachyon/tabs/diagnostic/initController.ts:1255 msgid "No active DHCP clients found on local network." msgstr "" @@ -4404,37 +4668,42 @@ msgstr "" msgid "No active routing sections found." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14098 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1151 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14007 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:109 +msgid "No benchmark data yet. Click \"Start Benchmark\" to begin." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13298 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1162 msgid "No benchmark history yet. Run a benchmark to see results here." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13513 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12742 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:525 msgid "No benchmark results yet. Configure options and click \"Start Benchmark\"." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11549 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:239 msgid "No check targets found in the configuration." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18392 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17632 #: src/tachyon/tabs/monitoring/initController.ts:1027 msgid "No closed connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9934 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:32 msgid "No conflict detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10806 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11121 msgid "No Custom Rules Matched" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13907 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:945 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13121 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:956 msgid "No custom strategies added yet." msgstr "" @@ -4447,60 +4716,60 @@ msgstr "" msgid "No devices assigned" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16016 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15474 #: src/tachyon/tabs/diagnostic/initController.ts:943 msgid "No DHCP clients detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16455 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15807 #: src/tachyon/tabs/diagnostic/initController.ts:1382 msgid "No diagnostic history available yet." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2838 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2862 msgid "No domains detected yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10568 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10054 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:187 msgid "No enabled server inbounds configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7681 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7687 msgid "No file selected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16307 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15668 #: src/tachyon/tabs/diagnostic/initController.ts:1230 msgid "No issues detected. System is running normally." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15866 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349 #: src/tachyon/tabs/diagnostic/initController.ts:760 msgid "No issues found" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10690 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10159 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:105 msgid "No other marking rules found" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10492 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9987 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:99 msgid "No public firewall port required" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11119 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10474 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:79 msgid "No rules use ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10876 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10299 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:79 msgid "No rules use Zapret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:82 msgid "No rules use Zapret2" msgstr "" @@ -4514,101 +4783,113 @@ msgstr "" msgid "No snapshots yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14205 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1264 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13395 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1275 msgid "No strategies match the active filter." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8591 -#: src/tachyon/tabs/dashboard/initController.ts:1211 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20407 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20410 +#: src/tachyon/tabs/updates/initController.ts:1403 +#: src/tachyon/tabs/updates/initController.ts:1406 +msgid "No versions found" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13834 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1787 +msgid "No working strategy to apply" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8160 +#: src/tachyon/tabs/dashboard/initController.ts:1214 msgid "Node list is empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8392 -#: src/tachyon/tabs/dashboard/initController.ts:1010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7999 +#: src/tachyon/tabs/dashboard/initController.ts:1013 msgid "Nodes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16007 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15471 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:871 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:884 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:897 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:928 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:449 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2783 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3075 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3084 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2801 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3093 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3102 #: src/tachyon/tabs/diagnostic/initController.ts:934 msgid "None" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2617 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5872 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10448 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14875 -#: src/tachyon/methods/custom/getDashboardSections.ts:1654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9943 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14440 +#: src/tachyon/methods/custom/getDashboardSections.ts:1666 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:623 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:46 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:152 msgid "Not configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2336 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2816 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:335 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:829 msgid "Not connected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10578 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9964 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10064 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:70 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:199 msgid "Not detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12044 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11349 #: src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:193 msgid "Not implement yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6670 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6676 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14621 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14626 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14631 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21177 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21191 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21205 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21219 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6344 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20371 #: src/tachyon/helpers/singBoxVariant.ts:34 #: src/tachyon/helpers/singBoxVariant.ts:42 -#: src/tachyon/tabs/updates/initController.ts:1289 -#: src/tachyon/tabs/updates/initController.ts:1303 -#: src/tachyon/tabs/updates/initController.ts:1317 +#: src/tachyon/tabs/updates/initController.ts:1316 #: src/tachyon/tabs/updates/initController.ts:1331 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1733 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1738 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1743 +#: src/tachyon/tabs/updates/initController.ts:1346 +#: src/tachyon/tabs/updates/initController.ts:1360 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1804 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1809 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1814 msgid "Not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10462 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9957 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:62 msgid "Not public" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10528 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10015 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:139 msgid "Not required for this listen address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2333 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2813 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14823 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14845 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14850 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14898 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14391 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14410 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14415 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14463 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:332 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:826 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:91 @@ -4618,11 +4899,11 @@ msgstr "" msgid "Not responding" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6226 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15353 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15531 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15578 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5910 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14871 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15041 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15087 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15149 #: src/tachyon/tabs/diagnostic/diagnostic.store.ts:152 #: src/tachyon/tabs/diagnostic/initController.ts:127 #: src/tachyon/tabs/diagnostic/initController.ts:358 @@ -4631,7 +4912,7 @@ msgstr "" msgid "Not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10878 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11193 msgid "Not set" msgstr "" @@ -4639,63 +4920,63 @@ msgstr "" msgid "Notify in Telegram" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3125 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3149 msgid "Notify on Certificate Warnings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3073 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3097 msgid "Notify on Core Crashes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3138 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3162 msgid "Notify on DNS Leaks" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3123 msgid "Notify on Server Switches" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3086 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3110 msgid "Notify on Service Restarts" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3136 msgid "Notify on Subscription Updates" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1516 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1540 msgid "Number of consecutive failed checks required before switching DNS servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2219 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2243 msgid "Number of consecutive failed probes before switching sections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2595 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2619 msgid "Number of consecutive failures before restarting (default 3)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1536 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1560 msgid "Number of consecutive successful checks required before returning to a higher-priority DNS server." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3453 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3506 msgid "Number of junk packets before handshake (1-10)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3083 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3101 msgid "Obfuscation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3106 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3124 msgid "Obfuscation password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2479 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2503 msgid "Ollama (Local PC / Server)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7983 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7989 msgid "One record per line: example.com 192.168.1.100 or 192.168.1.100 example.com. Lines starting with # are ignored." msgstr "" @@ -4733,15 +5014,15 @@ msgstr "" msgid "Only the specified servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13730 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:754 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12952 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:765 msgid "OOB Values (-o)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21278 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21315 -#: src/tachyon/tabs/updates/initController.ts:1397 -#: src/tachyon/tabs/updates/initController.ts:1436 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20551 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20588 +#: src/tachyon/tabs/updates/initController.ts:1567 +#: src/tachyon/tabs/updates/initController.ts:1606 msgid "Open" msgstr "" @@ -4749,58 +5030,58 @@ msgstr "" msgid "Open priority settings and enter a display name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14738 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14313 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:31 msgid "Open Project Page" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19984 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:329 msgid "Operation completed successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20115 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19355 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:471 msgid "Operation failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19804 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19859 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:110 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:172 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19070 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19125 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:115 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:177 msgid "Operation in progress..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19845 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:157 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19111 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:162 msgid "Operation log" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3964 -#: src/tachyon/methods/shell/index.ts:663 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3766 +#: src/tachyon/methods/shell/index.ts:696 msgid "Operation log is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19841 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19107 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:157 msgid "Operation started. Waiting for log output..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1161 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3820 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3892 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1066 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3628 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3696 #: src/helpers/withTimeout.ts:7 -#: src/tachyon/methods/shell/index.ts:489 -#: src/tachyon/methods/shell/index.ts:577 +#: src/tachyon/methods/shell/index.ts:517 +#: src/tachyon/methods/shell/index.ts:605 msgid "Operation timed out" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16173 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15563 #: src/tachyon/tabs/diagnostic/initController.ts:1100 msgid "Optimize AWG MTU" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16165 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15555 #: src/tachyon/tabs/diagnostic/initController.ts:1092 msgid "Optimize RAM memory" msgstr "" @@ -4810,16 +5091,16 @@ msgstr "" msgid "Option \"%s\" contains an invalid input value." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9115 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9391 msgid "Optional — leave empty for default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13974 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1018 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13185 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1029 msgid "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9260 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9536 msgid "Optional tls-auth or tls-crypt key" msgstr "" @@ -4835,21 +5116,21 @@ msgstr "" msgid "Optionally specify individual devices not in a profile. MAC addresses (e.g. AA:BB:CC:DD:EE:FF) work even if the IP changes." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7922 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7928 msgid "Or paste hosts file content:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9247 -#: src/tachyon/tabs/dashboard/initController.ts:1985 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8792 +#: src/tachyon/tabs/dashboard/initController.ts:2028 msgid "Other peers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:356 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:318 #: src/validators/validateOutboundJson.ts:111 msgid "outbounds must be a non-empty array of strings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1670 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1694 msgid "Output Network Interface" msgstr "" @@ -4857,23 +5138,23 @@ msgstr "" msgid "Override the default OpenWrt device headers for this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7951 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7957 msgid "Overwrite existing records (if unchecked, merge with existing records)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1831 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1855 msgid "P2P Client Ports" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1821 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1845 msgid "P2P Leak Protection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3165 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3183 msgid "Padding" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1375 msgid "Parallel (fast failover, ≤3 s)" msgstr "" @@ -4883,112 +5164,112 @@ msgstr "" msgid "Parental Control" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7810 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7816 msgid "Parsed records:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8937 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9071 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3046 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9213 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9347 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3064 msgid "Password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9704 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9980 msgid "Password cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7716 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7744 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7722 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7750 msgid "Paste content or upload a file to preview imported DNS records." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:205 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:182 #: src/validators/validatePath.ts:7 msgid "Path cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2263 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2287 msgid "Path must be absolute (start with /)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2272 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2296 msgid "Path must contain at least one directory (like /tmp/cache.db)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2267 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2291 msgid "Path must end with cache.db" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12371 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:93 msgid "Pattern Builder" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13783 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:808 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13003 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:819 msgid "Patterns reset to defaults!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4513 -#: src/tachyon/methods/shell/index.ts:1352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4326 +#: src/tachyon/methods/shell/index.ts:1448 msgid "Patterns reset to factory defaults" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4488 -#: src/tachyon/methods/shell/index.ts:1314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4302 +#: src/tachyon/methods/shell/index.ts:1410 msgid "Patterns saved successfully" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13769 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12989 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:805 msgid "Patterns saved successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17579 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17580 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17405 #: src/tachyon/tabs/monitoring/initController.ts:746 #: src/tachyon/tabs/monitoring/render.ts:80 #: src/tachyon/tabs/monitoring/render.ts:81 msgid "Pause updates" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3530 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3583 msgid "Payload (I3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3536 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3589 msgid "Payload (I4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3542 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3595 msgid "Payload (I5)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8770 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8984 msgid "Peer Public Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9224 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9500 msgid "PEM-encoded CA certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9236 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9512 msgid "PEM-encoded client certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9248 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9524 msgid "PEM-encoded client private key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6146 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5830 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:971 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:984 #: src/tachyon/tabs/diagnostic/diagnostic.store.ts:63 msgid "Pending" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11429 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:98 msgid "Pending..." msgstr "" @@ -4997,16 +5278,16 @@ msgstr "" msgid "Periodically check the current level and switch to a faster server even when the current one works." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2571 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2595 msgid "Periodically checks if the proxy is responding. Restarts Tachyon after consecutive failures." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8821 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3402 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9035 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3420 msgid "Persistent Keepalive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2722 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2746 msgid "Persistent Smart Detect" msgstr "" @@ -5023,42 +5304,42 @@ msgstr "" msgid "Pin on dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1832 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1856 msgid "Pin P2P isolation to the torrent client's own ports, comma separated. Each entry is \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp). Without a port the whole protocol is routed direct." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1402 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1419 msgid "Plain-UDP DNS servers used as a last resort when all primary DNS fail. These are always unencrypted (no DoH/DoT). Example: 1.1.1.1, 8.8.8.8. Unlike the ISP fallback toggle, these are your own chosen servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13825 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:859 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13045 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:870 msgid "Please specify strategy name and arguments" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3052 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3076 msgid "Polling Interval (seconds)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3065 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3089 msgid "Polling interval must be at least 1 second" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9612 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9888 msgid "Port cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10428 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9923 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:19 msgid "Port conflict" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9602 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9878 msgid "Port for the local mixed proxy of this section" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5523 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1918 msgid "Port must be between 1 and 65535" msgstr "" @@ -5066,44 +5347,49 @@ msgstr "" msgid "Port range start must be less than or equal to end" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1866 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1890 msgid "Port range start must not exceed its end" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10054 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10940 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10331 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11255 msgid "Ports" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1886 msgid "Ports must be between 1 and 65535" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2543 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2567 msgid "Pre-built index of Tachyon documentation chunks. When enabled, AI Doctor searches relevant docs before generating a diagnosis." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2019 msgid "Pre-download all preset lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8996 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20477 +#: src/tachyon/tabs/updates/initController.ts:1484 +msgid "pre-release" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9272 msgid "Pre-shared key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3443 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3461 msgid "Pre-shared Key (PSK)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1593 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1617 msgid "Prefer IPv4" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1595 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1619 msgid "Prefer IPv6" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3208 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3226 msgid "Preferred IP" msgstr "" @@ -5111,35 +5397,40 @@ msgstr "" msgid "Prefix text" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14481 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1572 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13704 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1637 msgid "Preparing strategies and isolated nftables queue..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8804 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9018 msgid "Preshared Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2642 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2666 msgid "Prevents multiple reload_firewall calls within 120 seconds to avoid connection drops." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9471 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10790 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14115 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:232 +msgid "Primary DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9747 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11105 msgid "Priority" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2532 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2533 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8834 -#: src/tachyon/tabs/dashboard/initController.ts:1494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2421 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8382 +#: src/tachyon/tabs/dashboard/initController.ts:1497 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:536 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:537 msgid "Priority details" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8782 -#: src/tachyon/tabs/dashboard/initController.ts:1431 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8332 +#: src/tachyon/tabs/dashboard/initController.ts:1434 msgid "Priority details are unavailable" msgstr "" @@ -5158,7 +5449,7 @@ msgstr "" msgid "Priority settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8759 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8973 msgid "Private Key" msgstr "" @@ -5186,167 +5477,199 @@ msgstr "" msgid "Protection" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13949 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2091 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9188 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2643 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2677 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9464 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2661 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2695 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:44 msgid "Protocol" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13295 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:276 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9048 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3471 +msgid "Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13948 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:43 +msgid "Provider" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12535 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:287 msgid "Provider Global Default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12066 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11375 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:29 msgid "Proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15767 #: src/tachyon/tabs/diagnostic/initController.ts:1338 msgid "Proxy / DPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2594 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2618 msgid "Proxy Fail Threshold" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2583 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2607 msgid "Proxy Health Check Interval (s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2605 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2629 msgid "Proxy Health Check URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8228 -#: src/tachyon/tabs/dashboard/initController.ts:817 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7851 +#: src/tachyon/tabs/dashboard/initController.ts:820 msgid "Proxy link is unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3149 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3173 msgid "Proxy Section for Bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8897 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9173 msgid "Proxy to use for WARP API registration (api.cloudflareclient.com)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9271 msgid "PSK" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10443 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9938 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2727 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:40 msgid "Public host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1674 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1692 msgid "QR code is too large" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10079 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10098 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10356 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10375 msgid "QUIC (HTTP/3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14032 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1075 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13235 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1086 msgid "RAG Knowledge Base + Live ISP Probe Context" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10085 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13953 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:48 +msgid "Rating" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10362 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10381 msgid "RDP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8731 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8945 msgid "Read error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2871 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13936 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:29 +msgid "Ready to benchmark DNS providers" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2889 msgid "Reality fake site" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2882 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900 msgid "Reality fake site port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2925 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2943 msgid "Reality max time difference" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2893 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2911 msgid "Reality private key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2918 msgid "Reality public key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2906 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2924 msgid "Reality short ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2192 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2210 msgid "Reality short ID must contain 1-8 hex digits" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15542 #: src/tachyon/tabs/diagnostic/initController.ts:1079 msgid "Rebuild firewall rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21297 -#: src/tachyon/tabs/updates/initController.ts:1417 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20570 +#: src/tachyon/tabs/updates/initController.ts:1587 msgid "Rebuilt release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14452 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1541 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13674 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1603 msgid "Recommended" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16238 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14087 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:202 +msgid "Recommended DNS Configuration" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14230 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:363 +msgid "Recommended DNS settings applied successfully and service restarted!" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15612 #: src/tachyon/tabs/diagnostic/initController.ts:1163 msgid "Recommended Quick Fixes:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2763 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2787 msgid "Reconnect Threshold" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16158 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15548 #: src/tachyon/tabs/diagnostic/initController.ts:1085 msgid "Reconnect WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2680 msgid "Records proxy/DNS latency and health status in hourly buckets for analysis." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8054 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8060 msgid "Records: %d" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2118 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:138 msgid "Refill" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16354 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15714 #: src/tachyon/tabs/diagnostic/initController.ts:1280 msgid "Refresh" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16334 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15695 #: src/tachyon/tabs/diagnostic/initController.ts:1259 msgid "Refresh Device List" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8896 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9172 msgid "Registration Detour" msgstr "" @@ -5354,22 +5677,37 @@ msgstr "" msgid "Regular expression must not contain spaces or commas" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21040 -#: src/tachyon/tabs/updates/initController.ts:1148 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20213 +#: src/tachyon/tabs/updates/initController.ts:1170 msgid "Reinstall" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20005 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3649 +msgid "Reject After Time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9124 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3637 +msgid "Rekey After Time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9125 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3643 +msgid "Rekey Timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19263 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:354 msgid "Reload now" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20037 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19290 #: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:390 msgid "Reloading..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8132 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8138 msgid "Remote Hosts Lists" msgstr "" @@ -5377,14 +5715,14 @@ msgstr "" msgid "Remote management Telegram daemon" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19983 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:328 msgid "Removal completed successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20992 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8246 -#: src/tachyon/tabs/updates/initController.ts:1095 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20174 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8260 +#: src/tachyon/tabs/updates/initController.ts:1117 msgid "Remove" msgstr "" @@ -5400,12 +5738,12 @@ msgstr "" msgid "Remove the specified servers from this level." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19808 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19074 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:119 msgid "Removing" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9628 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9904 msgid "Require a username and password for the local mixed proxy" msgstr "" @@ -5413,14 +5751,14 @@ msgstr "" msgid "Reset" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16172 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15562 #: src/tachyon/tabs/diagnostic/initController.ts:1099 msgid "Reset Bootstrap DNS" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:415 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:456 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2405 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2429 msgid "Reset Settings" msgstr "" @@ -5428,16 +5766,16 @@ msgstr "" msgid "Resetting…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9715 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9991 msgid "Resolve domain names before routing so sing-box can use real destination IPs." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15549 #: src/tachyon/tabs/diagnostic/initController.ts:1086 msgid "Resolve gateway" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9714 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9990 msgid "Resolve real IP for routing" msgstr "" @@ -5457,57 +5795,57 @@ msgstr "" msgid "Resource selection by IP or CIDR inside nfqws2 is not supported here; sing-box selects resources before NFQUEUE." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3500 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3553 msgid "Response packet header (H2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3476 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3529 msgid "Response packet junk size (S2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8842 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9083 msgid "Response Packet Magic Header (S2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8844 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9085 msgid "Response Packet Magic Header (S4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3524 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3577 msgid "Response payload (I2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15543 #: src/tachyon/tabs/diagnostic/initController.ts:1080 msgid "Restart dnsmasq" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16162 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15552 #: src/tachyon/tabs/diagnostic/initController.ts:1089 msgid "Restart firewall" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16163 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15553 #: src/tachyon/tabs/diagnostic/initController.ts:1090 msgid "Restart network" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16156 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15546 #: src/tachyon/tabs/diagnostic/initController.ts:1083 msgid "Restart sing-box DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11745 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11050 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:64 msgid "Restart Tachyon" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16164 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15554 #: src/tachyon/tabs/diagnostic/initController.ts:1091 msgid "Restart Zapret/ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2681 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2539 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:688 msgid "Restarts" msgstr "" @@ -5517,22 +5855,22 @@ msgstr "" msgid "Restore" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16157 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15547 #: src/tachyon/tabs/diagnostic/initController.ts:1084 msgid "Restore config backup" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11823 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16669 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16693 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15992 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16015 #: src/tachyon/tabs/diagnostic/initController.ts:1603 #: src/tachyon/tabs/diagnostic/initController.ts:1627 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:142 msgid "Restore Native Internet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16169 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16588 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15559 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15921 #: src/tachyon/tabs/diagnostic/initController.ts:1096 #: src/tachyon/tabs/diagnostic/initController.ts:1516 msgid "Restore Native Internet (Stop Tachyon)" @@ -5542,26 +5880,26 @@ msgstr "" msgid "Restore Snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2406 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2430 msgid "Restores the Tachyon factory defaults: all rules, subscriptions, custom DNS servers and other options will be lost." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16591 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16697 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15924 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16019 #: src/tachyon/tabs/diagnostic/initController.ts:1519 #: src/tachyon/tabs/diagnostic/initController.ts:1631 msgid "Restoring native direct internet (stopping Tachyon)..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2745 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2763 msgid "Restrict LAN access for specific users" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2756 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2774 msgid "Restricted users (auth_user)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17405 #: src/tachyon/tabs/monitoring/initController.ts:746 msgid "Resume updates" msgstr "" @@ -5570,61 +5908,61 @@ msgstr "" msgid "Return NXDOMAIN for blocked domains (recommended). When enabled, blocked domains are not resolved at all. When disabled, only direct connections are rejected." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20971 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20971 -#: src/tachyon/tabs/updates/initController.ts:1065 -#: src/tachyon/tabs/updates/initController.ts:1065 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20153 +#: src/tachyon/tabs/updates/initController.ts:1087 +#: src/tachyon/tabs/updates/initController.ts:1087 msgid "Rollback" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12440 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18264 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18319 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17565 #: src/tachyon/tabs/monitoring/initController.ts:880 #: src/tachyon/tabs/monitoring/initController.ts:943 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:444 msgid "Route" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3368 msgid "Route all non-local LAN traffic through the tailnet exit node instead of the proxy engines." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3150 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3174 msgid "Route bot API requests through this section. Leave empty to use the default mixed proxy." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1605 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1629 msgid "Route main DNS requests through the selected section." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7424 msgid "Route requests to this DNS server through another section." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16419 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15773 #: src/tachyon/tabs/diagnostic/initController.ts:1345 msgid "Route via Proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2721 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2739 msgid "Routing mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10652 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10967 msgid "Routing Rule Tracer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10496 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10505 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10533 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9991 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10000 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10019 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:103 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:114 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:144 msgid "Routing rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2730 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2748 msgid "Routing section" msgstr "" @@ -5632,7 +5970,7 @@ msgstr "" msgid "Routing sections, rules and strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10743 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11058 msgid "Rule" msgstr "" @@ -5640,7 +5978,7 @@ msgstr "" msgid "Rule Name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7218 msgid "Rule set must be an HTTP(S) URL or a local .srs / .json path" msgstr "" @@ -5648,93 +5986,93 @@ msgstr "" msgid "Rule set settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9924 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9953 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10230 msgid "Rule sets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11249 msgid "Rule Sets (.srs / .json)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13296 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:277 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:288 msgid "Rule:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2722 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2740 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:104 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:111 msgid "Rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10134 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:79 msgid "Rules mangle counters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10659 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10129 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:74 msgid "Rules mangle exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10674 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10144 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:89 msgid "Rules mangle output counters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10669 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10139 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:84 msgid "Rules mangle output exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10684 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10154 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:99 msgid "Rules proxy counters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10679 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10149 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:94 msgid "Rules proxy exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11813 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11118 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:132 msgid "Run AI Doctor" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12051 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11360 #: src/tachyon/tabs/diagnostic/partials/renderRunAction.ts:17 msgid "Run Diagnostic" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11803 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11108 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:122 msgid "Run doctor repair" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2612 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5867 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14858 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14423 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:326 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2911 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2912 -#: src/tachyon/methods/custom/getDashboardSections.ts:1649 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2936 +#: src/tachyon/methods/custom/getDashboardSections.ts:1661 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:618 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:135 msgid "Running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14204 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1263 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13395 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1274 msgid "Running benchmarks..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3218 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3242 msgid "Running diagnostics…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9773 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10049 msgid "Russia (ru)" msgstr "" @@ -5755,11 +6093,11 @@ msgstr "" msgid "Save" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2444 msgid "Save a snapshot of the working config and restore it later if something breaks." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2147 msgid "Save component backup before update" msgstr "" @@ -5776,62 +6114,62 @@ msgstr "" msgid "Schedule Rule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2080 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2104 msgid "Scheduled auto-update time" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13494 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14116 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:495 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1169 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13316 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:506 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1180 msgid "Score" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17556 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16838 #: src/tachyon/tabs/monitoring/render.ts:57 msgid "Search" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12396 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11684 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:397 msgid "Search domain or service..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13286 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:265 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12526 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:276 msgid "Search Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3140 msgid "Secret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1798 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1822 msgid "Secret key for authenticating remote access to YACD when WAN access is enabled." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2447 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2471 msgid "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2373 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:515 msgid "Section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11235 msgid "Section action" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7316 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7322 msgid "Section name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10946 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11261 msgid "Section Rules Content" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2326 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2350 msgid "Section used for Cloudflare WARP API registration. If your ISP blocks Cloudflare API on WAN, select a proxy section (with Mixed proxy enabled) or a tunnel interface section (WireGuard / AmneziaWG / VPN). Leave empty to use direct WAN / default mixed proxy." msgstr "" @@ -5842,12 +6180,12 @@ msgid "Sections" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2103 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2798 msgid "Security" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8565 -#: src/tachyon/tabs/dashboard/initController.ts:1185 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8140 +#: src/tachyon/tabs/dashboard/initController.ts:1188 msgid "Select" msgstr "" @@ -5855,19 +6193,19 @@ msgstr "" msgid "Select a common client profile or enter a custom User-Agent" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8769 msgid "Select a file with .conf extension" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9626 msgid "Select a network interface" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9872 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10148 msgid "Select a predefined domain list" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7445 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:88 msgid "Select a section" msgstr "" @@ -5876,7 +6214,7 @@ msgstr "" msgid "Select a section for downloading this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9549 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9825 msgid "Select a transit section" msgstr "" @@ -5884,7 +6222,7 @@ msgstr "" msgid "Select active days. If none selected, the rule applies every day." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2472 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2496 msgid "Select AI LLM provider for diagnostics" msgstr "" @@ -5896,15 +6234,15 @@ msgstr "" msgid "Select an existing URLTest or Priority group" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9838 msgid "Select an intermediate section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2791 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2815 msgid "Select and order the sections through which blocked domains are tested. Checked sections are tried top-to-bottom." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1337 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1354 msgid "Select DNS protocol to use" msgstr "" @@ -5912,11 +6250,11 @@ msgstr "" msgid "Select LAN devices to assign to this profile, or enter IP or MAC addresses manually. MAC addresses (e.g. AA:BB:CC:DD:EE:FF) work even if the device's IP changes via DHCP." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9345 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9621 msgid "Select network interface for VPN connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9769 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10045 msgid "Select one or more country ISO codes (e.g. ru, us, de, nl, fr, fi, se, tr, cn, jp, sg, by, kz, ua)." msgstr "" @@ -5924,15 +6262,15 @@ msgstr "" msgid "Select or enter a User-Agent" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2246 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2270 msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1890 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1914 msgid "Select or enter the IP addresses of your game consoles." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2232 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2256 msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" msgstr "" @@ -5940,25 +6278,25 @@ msgstr "" msgid "Select Sections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8800 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8350 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3204 -#: src/tachyon/tabs/dashboard/initController.ts:1454 +#: src/tachyon/tabs/dashboard/initController.ts:1457 msgid "Select the fastest node" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2283 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2307 msgid "Select the log level for sing-box" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1623 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647 msgid "Select the network interface from which the traffic will originate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1671 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1695 msgid "Select the network interface to which the traffic will originate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1734 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758 msgid "Select the WAN interfaces to be monitored" msgstr "" @@ -5966,7 +6304,7 @@ msgstr "" msgid "Select whether to disable the target during the schedule or enable it ONLY during the schedule." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2129 msgid "Select which components are permitted to update automatically" msgstr "" @@ -5974,40 +6312,40 @@ msgstr "" msgid "Select which tab opens automatically when entering Tachyon." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8659 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8786 -#: src/tachyon/tabs/dashboard/initController.ts:1289 -#: src/tachyon/tabs/dashboard/initController.ts:1440 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8224 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8336 +#: src/tachyon/tabs/dashboard/initController.ts:1292 +#: src/tachyon/tabs/dashboard/initController.ts:1443 msgid "Selected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2724 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2742 msgid "Selected section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:333 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:298 #: src/validators/validateOutboundJson.ts:85 msgid "Selector and URLTest outbounds must contain a non-empty outbounds array" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12895 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12154 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:67 msgid "Send" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3139 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3163 msgid "Send a Telegram notification if a potential DNS leak is detected." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3074 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3098 msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3150 msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3087 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3111 msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog." msgstr "" @@ -6015,11 +6353,11 @@ msgstr "" msgid "Send a Telegram notification to admins when a blocked site is accessed. Requires the Telegram bot to be enabled." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3100 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3124 msgid "Send a Telegram notification when a URLTest group switches to a new server." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3137 msgid "Send a Telegram notification when proxy subscriptions are successfully updated." msgstr "" @@ -6027,16 +6365,16 @@ msgstr "" msgid "Send Telegram alerts to parents when daily screen time is exhausted or blocked sites are accessed." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13654 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:676 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12878 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:687 msgid "Sequence Overlaps (seqovl)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1357 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1374 msgid "Sequential (one active at a time)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1353 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1370 msgid "Sequential: failover to the next server after N failures. Parallel: aggressive failover — switches in seconds (1 failure = switch), best if your ISP blocks DoH/DoT." msgstr "" @@ -6044,13 +6382,13 @@ msgstr "" msgid "Server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8781 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8915 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8973 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9025 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9085 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9165 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3363 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9191 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9249 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9301 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9441 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3381 msgid "Server Address" msgstr "" @@ -6059,68 +6397,68 @@ msgstr "" msgid "Server filtering" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9413 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9689 msgid "Server group for automatic lowest-latency selection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9472 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9748 msgid "Server group for priority failover" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1795 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1813 msgid "Server information" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1684 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1702 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2672 msgid "Server name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2809 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2827 msgid "Server name / SNI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8950 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9226 msgid "Server Name Indication — leave empty to use server address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:341 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:306 #: src/validators/validateOutboundJson.ts:94 msgid "Server outbound must contain a non-empty server field" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:346 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:311 #: src/validators/validateOutboundJson.ts:100 msgid "Server outbound must contain a numeric server_port from 1 to 65535" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8792 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8926 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8984 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9036 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9096 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9176 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9006 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9260 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9312 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9372 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9452 msgid "Server Port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3409 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3427 msgid "Server Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3436 msgid "Server Public Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12967 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12222 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:148 msgid "Server unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3364 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3382 msgid "Server VPN IP address and subnet (e.g. 10.0.0.1/24)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:353 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:315 #: src/validators/validateOutboundJson.ts:107 msgid "server_port must be a number from 1 to 65535" msgstr "" @@ -6135,26 +6473,26 @@ msgstr "" msgid "Servers on dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12435 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11720 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:439 msgid "Service / Target" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3779 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3798 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15736 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3587 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3606 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15233 +#: src/tachyon/methods/shell/index.ts:468 +#: src/tachyon/methods/shell/index.ts:489 #: src/tachyon/tabs/diagnostic/initController.ts:609 -#: src/tachyon/methods/shell/index.ts:440 -#: src/tachyon/methods/shell/index.ts:461 msgid "Service action failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12205 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11506 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:186 msgid "Service availability check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9875 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10152 msgid "Service list" msgstr "" @@ -6162,28 +6500,23 @@ msgstr "" msgid "Services & Access" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20034 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19287 #: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:387 msgid "Services are online and ready! Reloading page..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20026 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:375 -msgid "Services are online, waiting for full initialization..." -msgstr "" - -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9158 -#: src/tachyon/tabs/dashboard/initController.ts:1887 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8691 +#: src/tachyon/tabs/dashboard/initController.ts:1894 msgid "Services info" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20056 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19303 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:406 msgid "Services restarted. Click to reload page." msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1185 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7287 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7293 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1040 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1299 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:624 @@ -6230,15 +6563,15 @@ msgstr "" msgid "Show servers whose names match the expression." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11871 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16735 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11176 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16056 #: src/tachyon/tabs/diagnostic/initController.ts:1677 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:190 msgid "Show sing-box config" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16746 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16753 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16067 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16074 #: src/tachyon/tabs/diagnostic/initController.ts:1688 #: src/tachyon/tabs/diagnostic/initController.ts:1695 msgid "Show sing-box config failed" @@ -6248,55 +6581,55 @@ msgstr "" msgid "Show subscription metadata for this source on the dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2111 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2135 msgid "sing-box" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9895 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:77 msgid "Sing-box autostart disabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3341 msgid "sing-box endpoint (userspace, default)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10758 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10211 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:69 msgid "Sing-box FakeIP DNS does not work" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10211 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:68 msgid "Sing-box FakeIP DNS works" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9880 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:62 msgid "Sing-box installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10410 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9905 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:87 msgid "Sing-box listening ports" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10405 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9900 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:82 msgid "Sing-box process running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9890 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:72 msgid "Sing-box service exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9885 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:67 msgid "Sing-box version is compatible (newer than 1.12.4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9784 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10060 msgid "Singapore (sg)" msgstr "" @@ -6304,22 +6637,27 @@ msgstr "" msgid "sites" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7937 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7943 msgid "Skip loopback & local entries (127.0.0.1, ::1, 0.0.0.0, localhost)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8961 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9237 msgid "Skip TLS certificate verification (not recommended)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7818 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7824 msgid "Skipped comments/invalid:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7814 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7820 msgid "Skipped loopback:" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13983 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:83 +msgid "SLOW" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:755 msgid "Snapshot name" msgstr "" @@ -6328,11 +6666,11 @@ msgstr "" msgid "Snapshot restored. The service restarts and the page will reload." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3337 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3355 msgid "SNAT LAN sources when leaving through tailscale0 so peers can answer. Required unless every peer accepts routes." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9008 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9284 msgid "Snell Version" msgstr "" @@ -6340,31 +6678,31 @@ msgstr "" msgid "Social media" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8080 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8086 msgid "Sort Alphabetically" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9574 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9850 msgid "Sort by latency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9575 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9851 msgid "Sorts servers in this section by lowest latency in the dashboard." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18276 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18323 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10755 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17569 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11070 #: src/tachyon/tabs/monitoring/initController.ts:892 #: src/tachyon/tabs/monitoring/initController.ts:947 msgid "Source" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10939 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11254 msgid "Source Devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1622 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1646 msgid "Source Network Interface" msgstr "" @@ -6372,96 +6710,96 @@ msgstr "" msgid "Specific Sections (Select sections below)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2027 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2045 msgid "Specify a file path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2038 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2050 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2056 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2068 msgid "Specify different files" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13493 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12722 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:505 msgid "Speed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13680 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:703 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12903 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:714 msgid "Split Modes (dpi-desync)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13686 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12909 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:720 msgid "Split Positions (dpi-desync-split-pos)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13636 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:658 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12860 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:669 msgid "Split Positions (pos)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13718 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:742 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12940 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:753 msgid "Split Values (-s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10084 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10103 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10380 msgid "SSH" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11162 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:122 msgid "Standalone ByeDPI autostart is enabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:119 msgid "Standalone ByeDPI is active together with Tachyon ByeDPI rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11160 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:120 msgid "Standalone ByeDPI service is active" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11163 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:123 msgid "Standalone ByeDPI service is inactive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10908 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:111 msgid "Standalone Zapret is active together with Tachyon Zapret rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10909 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:112 msgid "Standalone Zapret service is active" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10910 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:113 msgid "Standalone Zapret service is inactive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11036 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:123 msgid "Standalone Zapret2 autostart is enabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11031 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10405 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:118 msgid "Standalone Zapret2 is active together with Tachyon Zapret2 rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11034 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121 msgid "Standalone Zapret2 service is active" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11037 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:124 msgid "Standalone Zapret2 service is inactive" msgstr "" @@ -6475,16 +6813,21 @@ msgstr "" msgid "Start" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2893 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14151 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:273 +msgid "Start Benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2917 msgid "Start bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16151 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15541 #: src/tachyon/tabs/diagnostic/initController.ts:1078 msgid "Start sing-box" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11765 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11070 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:84 msgid "Start Tachyon" msgstr "" @@ -6493,23 +6836,28 @@ msgstr "" msgid "Start Time (HH:MM)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16155 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15545 #: src/tachyon/tabs/diagnostic/initController.ts:1082 msgid "Start watchdog" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14202 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:331 +msgid "Starting DNS benchmark..." +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:359 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2940 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2964 msgid "Starting…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9226 -#: src/tachyon/tabs/dashboard/initController.ts:1964 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8774 +#: src/tachyon/tabs/dashboard/initController.ts:2007 msgid "State" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2663 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12477 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2522 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11762 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:448 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:935 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:670 @@ -6517,8 +6865,8 @@ msgstr "" msgid "Status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13490 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:491 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12719 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:502 msgid "Status / Suite" msgstr "" @@ -6526,7 +6874,7 @@ msgstr "" msgid "Stop" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2924 msgid "Stop bot" msgstr "" @@ -6534,48 +6882,48 @@ msgstr "" msgid "Stop checking when URLTest group is not used. Use sing-box duration format like 1d, 12h or 30m." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11755 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11060 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:74 msgid "Stop Tachyon" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2616 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5871 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14870 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14435 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:332 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2917 -#: src/tachyon/methods/custom/getDashboardSections.ts:1653 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2941 +#: src/tachyon/methods/custom/getDashboardSections.ts:1665 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:622 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:147 msgid "Stopped" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:373 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2978 msgid "Stopping…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2747 msgid "Store auto-detected domains in /etc instead of /tmp to survive reboots." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13485 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:486 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12714 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:497 msgid "Strategy & Parameters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14527 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1625 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13751 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690 msgid "Strategy benchmark started" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13955 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:993 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13166 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1004 msgid "Strategy deleted" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13796 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:828 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13016 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:839 msgid "Strategy Name" msgstr "" @@ -6583,12 +6931,12 @@ msgstr "" msgid "Strict (🔒)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2312 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2336 msgid "Strict ECH + DoQ DNS Enforcer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10080 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10357 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10376 msgid "STUN (P2P Calls)" msgstr "" @@ -6600,15 +6948,15 @@ msgstr "" msgid "Subscription auto update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2171 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2130 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:152 msgid "Subscription info:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4193 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4211 -#: src/tachyon/methods/shell/index.ts:939 -#: src/tachyon/methods/shell/index.ts:959 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4028 +#: src/tachyon/methods/shell/index.ts:1035 +#: src/tachyon/methods/shell/index.ts:1055 msgid "Subscription update failed" msgstr "" @@ -6616,7 +6964,7 @@ msgstr "" msgid "Subscription update interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9296 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9572 msgid "Subscription URL" msgstr "" @@ -6624,19 +6972,23 @@ msgstr "" msgid "Subscription URL settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7829 -#: src/tachyon/tabs/dashboard/initController.ts:336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7481 +#: src/tachyon/tabs/dashboard/initController.ts:339 msgid "Subscriptions updated" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8636 msgid "Success" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7904 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7910 msgid "Successfully imported %d DNS record(s)" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8352 +msgid "Successfully updated %d hosts entries" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:40 msgid "Sun" msgstr "" @@ -6645,21 +6997,21 @@ msgstr "" msgid "Sunday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10056 msgid "Sweden (se)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16166 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15556 #: src/tachyon/tabs/diagnostic/initController.ts:1093 msgid "Switch DNS to DoH" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8634 -#: src/tachyon/tabs/dashboard/initController.ts:1254 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8200 +#: src/tachyon/tabs/dashboard/initController.ts:1257 msgid "Switch to auto-selection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16170 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15560 #: src/tachyon/tabs/diagnostic/initController.ts:1097 msgid "Sync System Time (NTP)" msgstr "" @@ -6668,12 +7020,12 @@ msgstr "" msgid "System diagnostics, AI Doctor and logs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9146 -#: src/tachyon/tabs/dashboard/initController.ts:1874 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8679 +#: src/tachyon/tabs/dashboard/initController.ts:1881 msgid "System info" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14666 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13886 #: src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:24 msgid "System information" msgstr "" @@ -6682,16 +7034,28 @@ msgstr "" msgid "Tab Order & Visibility" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10124 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:69 msgid "Table exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2109 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14226 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14240 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:359 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:373 +msgid "Tachyon" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2133 msgid "Tachyon Core" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7087 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14270 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:406 +msgid "Tachyon DNS Benchmark & Auto-Tuning" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6777 #: src/tachyon/services/core.service.ts:52 msgid "Tachyon Error" msgstr "" @@ -6712,12 +7076,12 @@ msgstr "" msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18360 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17603 #: src/tachyon/tabs/monitoring/initController.ts:991 msgid "Tachyon service is stopped. Start the service to display connections." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2935 #: src/tachyon/tabs/dashboard/render.ts:17 msgid "Tachyon service is stopped. Start the service to display the dashboard." msgstr "" @@ -6726,95 +7090,95 @@ msgstr "" msgid "Tachyon Settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4092 -#: src/tachyon/methods/shell/index.ts:822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3921 +#: src/tachyon/methods/shell/index.ts:913 msgid "Tachyon update did not complete within the timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2221 msgid "Tachyon will not modify your DHCP configuration" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11131 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:91 msgid "Tachyon-managed ciadpi runtime has restarted" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11134 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:94 msgid "Tachyon-managed ciadpi runtime is not ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11137 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:97 msgid "Tachyon-managed ciadpi runtime is not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11133 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:93 msgid "Tachyon-managed ciadpi runtime is ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10884 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:87 msgid "Tachyon-managed nfqws runtime is not ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10887 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:90 msgid "Tachyon-managed nfqws runtime is not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10883 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:86 msgid "Tachyon-managed nfqws runtime is ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11003 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:90 msgid "Tachyon-managed nfqws2 runtime is not ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11006 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:93 msgid "Tachyon-managed nfqws2 runtime is not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11002 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:89 msgid "Tachyon-managed nfqws2 runtime is ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9221 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2115 -#: src/tachyon/tabs/dashboard/initController.ts:1954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8769 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2139 +#: src/tachyon/tabs/dashboard/initController.ts:1997 msgid "Tailscale" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3264 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3282 msgid "Tailscale auth key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3273 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3291 msgid "Tailscale control URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10491 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9986 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:98 msgid "Tailscale endpoint" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3281 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3299 msgid "Tailscale hostname" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3322 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3340 msgid "Tailscale mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13313 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:766 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1166 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1177 msgid "Target" msgstr "" @@ -6826,13 +7190,13 @@ msgstr "" msgid "Target Scope" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13249 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:228 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12493 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:239 msgid "Target Service / Suite" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13660 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:682 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12884 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:693 msgid "TCP Window Sizes (wsize)" msgstr "" @@ -6854,25 +7218,25 @@ msgstr "" msgid "Telegram Bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3012 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3036 msgid "Telegram Bot Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14749 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14323 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:42 msgid "Telegram Channel" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3203 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3234 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3253 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3260 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3227 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3258 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3277 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3284 msgid "Test Connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2260 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2892 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2206 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2711 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:247 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:255 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:907 @@ -6903,33 +7267,38 @@ msgstr "" msgid "Test servers whose names match the expression." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3190 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3214 msgid "Test Telegram Connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14511 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1607 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14178 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:305 +msgid "Testing" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13735 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1672 msgid "Testing bypass strategies in isolated sandbox..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14318 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1389 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13532 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1433 msgid "Testing strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8662 -#: src/tachyon/tabs/dashboard/initController.ts:1292 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8227 +#: src/tachyon/tabs/dashboard/initController.ts:1295 msgid "Testing URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12133 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12761 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12030 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:108 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:797 msgid "Testing..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3215 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3239 msgid "Testing…" msgstr "" @@ -6943,42 +7312,42 @@ msgstr "" msgid "The NFQUEUE number is assigned by Tachyon for each rule and must not be overridden here." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10098 msgid "The rule applies to the domain and all its subdomains. Use full:, keyword:, or regex: prefixes for exact match, keyword match, or regular expression." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11118 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10474 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:78 msgid "There are rules using ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10875 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10299 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:78 msgid "There are rules using Zapret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10994 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:81 msgid "There are rules using Zapret2" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12919 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12178 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:97 msgid "Thinking..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16674 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15997 #: src/tachyon/tabs/diagnostic/initController.ts:1608 msgid "This action will stop Tachyon, restore standard dnsmasq/DNS, remove all proxy/anti-censorship firewall rules and restore direct Internet connection through your ISP." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11010 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1907 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1926 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1931 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2021 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2183 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3069 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11325 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1925 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1944 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1949 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2039 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3087 msgid "This field is required" msgstr "" @@ -7012,8 +7381,8 @@ msgstr "" msgid "This option requires a value." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9237 -#: src/tachyon/tabs/dashboard/initController.ts:1975 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8782 +#: src/tachyon/tabs/dashboard/initController.ts:2018 msgid "This router" msgstr "" @@ -7033,16 +7402,16 @@ msgstr "" msgid "Thursday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18267 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18320 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18468 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17517 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17566 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17700 #: src/tachyon/tabs/monitoring/initController.ts:883 #: src/tachyon/tabs/monitoring/initController.ts:944 #: src/tachyon/tabs/monitoring/initController.ts:1127 msgid "Time" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1556 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1580 msgid "Time in seconds for DNS record caching (default: 60)" msgstr "" @@ -7050,34 +7419,39 @@ msgstr "" msgid "Time is required (e.g. 22:00)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2081 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2105 msgid "Time of day to run scheduled component updates in HH:MM (24h) format, e.g. 04:00" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3238 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3256 msgid "Time skew tolerance" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6691 -#: src/tachyon/helpers/singBoxVariant.ts:60 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14014 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:117 +msgid "Timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6358 +#: src/tachyon/helpers/singBoxVariant.ts:62 msgid "tiny" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10083 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10102 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10360 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10379 msgid "TLS / HTTPS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9259 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9535 msgid "TLS Auth/Crypt Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8949 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9225 msgid "TLS SNI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13742 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:766 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12964 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:777 msgid "TLS-Rec Bounds (--tlsrec)" msgstr "" @@ -7085,13 +7459,13 @@ msgstr "" msgid "Toddler (👶)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3021 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3045 msgid "Token is required when the bot is enabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8229 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2709 -#: src/tachyon/tabs/dashboard/initController.ts:1294 +#: src/tachyon/tabs/dashboard/initController.ts:1297 msgid "Tolerance" msgstr "" @@ -7103,26 +7477,26 @@ msgstr "" msgid "Total allowed network usage per day for devices in this profile. When the quota is reached, access is blocked until midnight. Enter 0 for unlimited." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7806 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7812 msgid "Total lines:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11640 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:345 msgid "Total targets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10971 msgid "Trace" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10700 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11015 msgid "Tracing routing rules..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2154 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9122 -#: src/tachyon/tabs/dashboard/initController.ts:1848 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8655 +#: src/tachyon/tabs/dashboard/initController.ts:1855 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:133 msgid "Traffic" msgstr "" @@ -7131,11 +7505,11 @@ msgstr "" msgid "Traffic for this level goes directly." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10046 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10323 msgid "Traffic from these IP addresses will never be routed through this section, even if other conditions match." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10074 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10351 msgid "Traffic of specified protocols (e.g. BitTorrent, QUIC, STUN) will bypass this section." msgstr "" @@ -7143,21 +7517,21 @@ msgstr "" msgid "Traffic statistics and active connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9134 -#: src/tachyon/tabs/dashboard/initController.ts:1861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8667 +#: src/tachyon/tabs/dashboard/initController.ts:1868 msgid "Traffic Total" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10094 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10371 msgid "Traffic type filter" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10807 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11122 msgid "Traffic will go through the default route (Direct/Default)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20857 -#: src/tachyon/tabs/updates/initController.ts:922 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20044 +#: src/tachyon/tabs/updates/initController.ts:944 msgid "Transient connection error" msgstr "" @@ -7166,32 +7540,32 @@ msgid "Transparent proxy mode is incompatible with action=byedpi because Tachyon msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2097 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9047 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2947 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2965 msgid "Transport" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2971 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2989 msgid "Transport host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3512 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3565 msgid "Transport packet header (H4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3488 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3541 msgid "Transport packet junk size (S4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2955 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2973 msgid "Transport path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2122 msgid "Transport path must start with /" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14732 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14307 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:25 msgid "Troubleshooting" msgstr "" @@ -7200,26 +7574,26 @@ msgstr "" msgid "Try compatible User-Agent profiles automatically when downloading this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13492 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:493 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12721 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:504 msgid "TTFB" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1567 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1591 msgid "TTL must be a positive number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1586 msgid "TTL value cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13698 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:721 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12921 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:732 msgid "TTL Values (dpi-desync-ttl)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13648 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:670 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12872 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:681 msgid "TTL Values (ttl)" msgstr "" @@ -7231,28 +7605,28 @@ msgstr "" msgid "Tuesday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9781 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10057 msgid "Turkey (tr)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18261 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18318 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1699 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17511 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17564 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1717 #: src/tachyon/tabs/monitoring/initController.ts:877 #: src/tachyon/tabs/monitoring/initController.ts:942 msgid "Type" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1342 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1359 msgid "UDP (Unprotected DNS)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11405 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:65 msgid "UDP / QUIC protocols" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9787 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10063 msgid "Ukraine (ua)" msgstr "" @@ -7270,36 +7644,36 @@ msgstr "" msgid "Unable to validate the NFQWS2 strategy through the backend parser." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8344 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3178 -#: src/tachyon/tabs/dashboard/initController.ts:1448 +#: src/tachyon/tabs/dashboard/initController.ts:1451 msgid "Unavailability timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12157 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11460 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11642 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:135 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:347 msgid "Unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3506 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3559 msgid "Underload packet header (H3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8845 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9086 msgid "Underload Packet Magic Header (H1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9087 msgid "Underload Packet Magic Header (H2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8847 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9088 msgid "Underload Packet Magic Header (H3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8848 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9089 msgid "Underload Packet Magic Header (H4)" msgstr "" @@ -7313,17 +7687,17 @@ msgstr "" msgid "Unexpected standalone token. Use explicit flags such as --name or --name=value." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11136 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:96 msgid "Unexpected Tachyon-managed ciadpi runtime is running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10886 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:89 msgid "Unexpected Tachyon-managed nfqws runtime is running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11005 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:92 msgid "Unexpected Tachyon-managed nfqws2 runtime is running" msgstr "" @@ -7332,27 +7706,27 @@ msgstr "" msgid "unique UCI identifier" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9777 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10053 msgid "United Kingdom (gb)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9774 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10050 msgid "United States (us)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6669 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10433 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11183 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11185 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11186 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11187 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11194 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11196 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11198 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11200 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11203 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11204 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20443 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9928 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10509 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10511 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10512 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10513 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10520 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10522 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10524 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10529 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10530 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19660 #: src/tachyon/helpers/singBoxVariant.ts:33 #: src/tachyon/services/systemInfo.service.ts:10 #: src/tachyon/services/systemInfo.service.ts:12 @@ -7364,15 +7738,15 @@ msgstr "" #: src/tachyon/services/systemInfo.service.ts:27 #: src/tachyon/services/systemInfo.service.ts:30 #: src/tachyon/services/systemInfo.service.ts:31 -#: src/tachyon/tabs/updates/initController.ts:421 +#: src/tachyon/tabs/updates/initController.ts:437 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:25 msgid "unknown" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5873 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:353 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2934 -#: src/tachyon/methods/custom/getDashboardSections.ts:1655 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2958 +#: src/tachyon/methods/custom/getDashboardSections.ts:1667 msgid "Unknown" msgstr "" @@ -7386,20 +7760,20 @@ msgstr "" msgid "Unknown country" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5950 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14374 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14534 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15841 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15877 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15943 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16637 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5636 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13600 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13758 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15338 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15357 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15424 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15965 #: src/tachyon/api.ts:40 #: src/tachyon/tabs/diagnostic/initController.ts:731 #: src/tachyon/tabs/diagnostic/initController.ts:772 #: src/tachyon/tabs/diagnostic/initController.ts:857 #: src/tachyon/tabs/diagnostic/initController.ts:1568 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1456 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1632 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1518 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1697 msgid "Unknown error" msgstr "" @@ -7416,17 +7790,17 @@ msgstr "" msgid "Unlimited" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:235 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:212 #: src/validators/validateSubnet.ts:17 msgid "Unspecified IP address is not allowed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2705 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2559 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:712 msgid "Unstable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2217 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2235 msgid "Unsupported security mode for this protocol" msgstr "" @@ -7434,34 +7808,44 @@ msgstr "" msgid "Up to 10 snapshots are kept; the oldest ones are removed automatically." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20909 -#: src/tachyon/tabs/updates/initController.ts:989 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20096 +#: src/tachyon/tabs/updates/initController.ts:1011 msgid "Update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20393 -#: src/tachyon/tabs/updates/initController.ts:355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8354 +msgid "Update failed:" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19607 +#: src/tachyon/tabs/updates/initController.ts:368 msgid "Update is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21285 -#: src/tachyon/tabs/updates/initController.ts:1404 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20558 +#: src/tachyon/tabs/updates/initController.ts:1574 msgid "Update is available for current release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21265 -#: src/tachyon/tabs/updates/initController.ts:1383 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20539 +#: src/tachyon/tabs/updates/initController.ts:1553 msgid "Update is available:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1960 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1984 msgid "Update lists now" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2241 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2253 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2254 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16161 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8345 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8367 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8372 +msgid "Update Lists Now" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2185 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2196 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2196 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15551 #: src/tachyon/tabs/diagnostic/initController.ts:1088 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:224 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:237 @@ -7473,7 +7857,7 @@ msgstr "" msgid "Update this subscription automatically" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7823 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7829 msgid "Updated/duplicates:" msgstr "" @@ -7481,51 +7865,57 @@ msgstr "" msgid "Updates & Downloads" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19810 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:116 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19076 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:121 msgid "Updating" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15776 #: src/tachyon/tabs/diagnostic/initController.ts:1349 msgid "Updating device routing mode..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1964 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1988 msgid "Updating lists..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9124 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9136 -#: src/tachyon/tabs/dashboard/initController.ts:1850 -#: src/tachyon/tabs/dashboard/initController.ts:1863 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8341 +msgid "Updating…" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8657 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8669 +#: src/tachyon/tabs/dashboard/initController.ts:1857 +#: src/tachyon/tabs/dashboard/initController.ts:1870 msgid "Uplink" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18273 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18322 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18482 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17523 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17568 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17712 #: src/tachyon/tabs/monitoring/initController.ts:889 #: src/tachyon/tabs/monitoring/initController.ts:946 #: src/tachyon/tabs/monitoring/initController.ts:1141 msgid "Uploaded" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14107 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1369 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:224 msgid "Upstream Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1032 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:959 #: src/validators/validateProxyUrl.ts:47 msgid "URL must start with vless://, vmess://, ss://, trojan://, socks4://, socks4a://, socks5://, hysteria2://, hy2://, or tuic://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:179 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:163 #: src/validators/validateUrl.ts:18 msgid "URL must use one of the following protocols:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2606 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2630 msgid "URL to test through the proxy (default: Cloudflare 204)." msgstr "" @@ -7537,25 +7927,25 @@ msgstr "" msgid "URL used to test server latency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8133 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8139 msgid "URLs of remote hosts files to download and apply. Supports standard hosts format: IP domain." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9688 msgid "URLTest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2513 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2514 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8685 -#: src/tachyon/tabs/dashboard/initController.ts:1321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2404 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2405 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8250 +#: src/tachyon/tabs/dashboard/initController.ts:1324 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:517 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:518 msgid "URLTest details" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8655 -#: src/tachyon/tabs/dashboard/initController.ts:1280 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8220 +#: src/tachyon/tabs/dashboard/initController.ts:1283 msgid "URLTest details are unavailable" msgstr "" @@ -7564,59 +7954,59 @@ msgstr "" msgid "URLTest settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2681 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2705 msgid "Use 3-tier check intervals: fast (15s), normal (120s), slow (300s) instead of a single interval." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2219 msgid "Use 32 hex characters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1991 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1997 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2009 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2015 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2131 msgid "Use a domain name or IP address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2092 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2110 msgid "Use a duration like 30s, 5m, or 1h30m" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2098 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3071 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2116 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3089 msgid "Use a non-negative integer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2204 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2222 msgid "Use a non-zero secret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2060 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2062 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2078 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2080 msgid "Use an HTTP or HTTPS URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2014 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2032 msgid "Use an IP address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2007 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2025 msgid "Use an IP listen address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9511 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9787 msgid "Use another section as an intermediate hop to connect to servers in this section. Does not apply to network interfaces or JSON outbounds." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2161 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2179 msgid "Use CIDR prefixes like 192.168.1.0/24 or 2001:db8::/32" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2175 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2193 msgid "Use CIDR prefixes or IP addresses like 192.168.1.0/24, 192.168.1.10, or 2001:db8::1" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2119 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2137 msgid "Use letters, digits, dots, underscores, or hyphens" msgstr "" @@ -7630,34 +8020,34 @@ msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4786 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4793 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4800 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1921 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1943 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1950 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2019 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2047 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1945 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1967 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1974 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2043 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2071 msgid "Use sing-box duration format like 1d, 12h or 30m" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8336 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8348 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8400 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8412 msgid "Use sing-box duration format like 1d, 12h or 6h" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3367 msgid "Use tailnet exit node for LAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9928 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:25 msgid "Used by" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13835 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:870 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13054 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:881 msgid "User custom strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2775 msgid "User names (e.g. from VLESS/Trojan/SS/JSON inbound users) that are forbidden from reaching LAN subnets. Leave empty to restrict all users on this inbound." msgstr "" @@ -7665,31 +8055,31 @@ msgstr "" msgid "User-Agent" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9060 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3030 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3048 msgid "Username" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9668 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9944 msgid "Username cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:28 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:75 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:89 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:156 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:159 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:192 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:212 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:256 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:361 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:447 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:558 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:618 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:674 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:740 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:865 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:997 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:27 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:69 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:82 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:141 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:144 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:169 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:189 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:233 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:409 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:519 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:577 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:633 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:697 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:807 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:927 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5402 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5415 #: src/validators/validateDns.ts:25 @@ -7711,7 +8101,7 @@ msgstr "" msgid "Valid" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2695 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2719 msgid "Validates sing-box config before restart to prevent boot loops on broken configs." msgstr "" @@ -7723,20 +8113,26 @@ msgstr "" msgid "Value cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1911 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1929 msgid "Value must be a positive integer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11013 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11328 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1953 msgid "Value must not contain control characters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20022 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:370 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19283 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:382 msgid "Verifying router and service readiness..." msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20702 +#: src/tachyon/tabs/updates/initController.ts:1738 +msgid "Versions" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2038 msgid "Via country.is" msgstr "" @@ -7745,76 +8141,72 @@ msgstr "" msgid "Video streaming" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11862 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11167 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15401 #: src/tachyon/tabs/diagnostic/initController.ts:831 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:181 msgid "View logs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15930 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15933 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15414 #: src/tachyon/tabs/diagnostic/initController.ts:841 #: src/tachyon/tabs/diagnostic/initController.ts:844 msgid "View logs failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7317 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7323 msgid "Visible name of this section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3074 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3092 msgid "VLESS flow" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9272 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9548 msgid "vless://, vmess://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20001 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:344 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19259 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:349 msgid "Waiting for router services to restart..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9964 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:70 msgid "WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10577 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10063 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:198 msgid "WAN public IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8885 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9161 msgid "WARP Access Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8873 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9149 msgid "WARP Account ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8527 -msgid "WARP Configuration generated and loaded successfully!" -msgstr "" - -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2325 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2349 msgid "WARP Generator Proxy Section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9137 msgid "WARP Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2207 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2231 msgid "Watchdog probes every Connection section; when the active one fails several checks in a row, traffic switches to a healthy backup and Telegram is notified. Requires a config reload to take effect." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2555 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2579 msgid "Watchdog Status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2300 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2324 msgid "WebRTC Leak Protection" msgstr "" @@ -7834,7 +8226,7 @@ msgstr "" msgid "Weekends (Sat-Sun)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7330 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7336 msgid "What Tachyon should do when this section matches" msgstr "" @@ -7842,42 +8234,47 @@ msgstr "" msgid "When switching to another level, test every server and select the fastest instead of the first working one." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12991 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12242 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:171 msgid "Why Discord fails?" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9404 msgid "WireGuard private key from your Cloudflare account" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9138 msgid "WireGuard private key from your Cloudflare WARP account" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14117 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1170 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13317 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1181 msgid "Working" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2984 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437 +msgid "working strategies" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3002 msgid "XHTTP mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1797 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1821 msgid "YACD Secret Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232 -#: src/tachyon/tabs/dashboard/initController.ts:822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7855 +#: src/tachyon/tabs/dashboard/initController.ts:825 msgid "Yes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1661 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1685 msgid "You can select Output Network Interface, by default autodetect" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2136 msgid "Zapret" msgstr "" @@ -7885,55 +8282,55 @@ msgstr "" msgid "Zapret hostlist templates are not supported here because Tachyon does not expand them for per-rule NFQWS strategies." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10868 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10294 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:71 msgid "Zapret package is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10869 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10294 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:72 msgid "Zapret package is not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10857 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10289 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:60 msgid "Zapret provider binary is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10858 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10289 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:61 msgid "Zapret provider binary is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:103 msgid "Zapret sing-box outbound is configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10901 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:104 msgid "Zapret sing-box outbound is not configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13175 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14625 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14626 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12413 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:149 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1737 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1738 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1808 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1809 msgid "Zapret v1 (nfqws)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13174 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14620 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14621 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:148 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1732 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1733 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1803 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1804 msgid "Zapret v2 (nfqws2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2137 msgid "Zapret2" msgstr "" @@ -7941,59 +8338,32 @@ msgstr "" msgid "Zapret2 hostlist templates are not supported here because Tachyon does not expand them for per-rule NFQWS2 strategies." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10987 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10380 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:74 msgid "Zapret2 package is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10988 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10380 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:75 msgid "Zapret2 package is not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10976 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10375 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:63 msgid "Zapret2 provider binary is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10977 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10375 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:64 msgid "Zapret2 provider binary is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11019 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:106 msgid "Zapret2 sing-box outbound is configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11020 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:107 msgid "Zapret2 sing-box outbound is not configured" msgstr "" - -msgid "Versions" -msgstr "" - -msgid "Loading versions..." -msgstr "" - -msgid "No versions found" -msgstr "" - -msgid "Failed to load versions" -msgstr "" - -msgid "Installing " -msgstr "" - -msgid "Installation failed" -msgstr "" - -msgid "Installation failed: " -msgstr "" - -msgid "Installed " -msgstr "" - -msgid "pre-release" -msgstr "" diff --git a/fe-app-tachyon/locales/tachyon.ru.po b/fe-app-tachyon/locales/tachyon.ru.po index 52495de3..97685a88 100644 --- a/fe-app-tachyon/locales/tachyon.ru.po +++ b/fe-app-tachyon/locales/tachyon.ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: TACHYON\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-01 21:58+0300\n" -"PO-Revision-Date: 2026-09-01 21:58+0300\n" +"POT-Creation-Date: 2026-09-05 10:59+0300\n" +"PO-Revision-Date: 2026-09-05 10:59+0300\n" "Last-Translator: Dushnilin\n" "Language-Team: none\n" "Language: ru\n" @@ -41,9 +41,15 @@ msgstr "+ Добавить стратегию" msgid "+ Add URLTest" msgstr "+ Добавить URLTest" +msgid "⏳ Stopping..." +msgstr "" + msgid "⚠️ Benchmark completed. No working bypass found for this target." msgstr "⚠️ Бенчмарк завершен. Не найдено рабочих стратегий для данной цели." +msgid "⚠️ Benchmark stopped" +msgstr "" + msgid "⚠️ If all Bootstrap DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss." msgstr "⚠️ Если все Bootstrap DNS завершатся с ошибкой 3 раза, запросы будут отправлены в DNS вашего провайдера в открытом виде. Используйте только в крайнем случае для предотвращения полной потери интернета." @@ -59,8 +65,8 @@ msgstr "⚡ Быстрые (>1 МБ/с)" msgid "⚡ QUIC / HTTP/3 (UDP 443)" msgstr "⚡ QUIC / HTTP/3 (UDP 443)" -msgid "⚡ Quick Benchmark (Presets ~12-14)" -msgstr "⚡ Быстрый бенчмарк (Пресеты ~12-14)" +msgid "⚡ Quick Benchmark (Presets ~30+)" +msgstr "" msgid "⚡ Strategy Fuzzer & Auto-Tuner" msgstr "⚡ Подборщик стратегий и авто-тюнер" @@ -92,8 +98,8 @@ msgstr "✘ Остановлено" msgid "🌐 Custom Target URL..." msgstr "🌐 Пользовательский URL цели..." -msgid "🎬 YouTube Suite (Web + 4K Stream)" -msgstr "🎬 YouTube Suite (Web + 4K Stream)" +msgid "🎬 YouTube Full Suite (Web + 4K Stream + CDN)" +msgstr "" msgid "🏆 Apply Best Match" msgstr "🏆 Применить наилучшую" @@ -101,8 +107,11 @@ msgstr "🏆 Применить наилучшую" msgid "🏴‍☠️ RuTracker Suite" msgstr "🏴‍☠️ RuTracker Suite" -msgid "💬 Discord Suite (API + WSS + CDN)" -msgstr "💬 Discord Suite (API + WSS + CDN)" +msgid "🐦 X / Twitter Suite (API + Media CDN)" +msgstr "" + +msgid "💬 Discord Suite (Gateway + Voice + CDN)" +msgstr "" msgid "💾 Save Custom Patterns" msgstr "💾 Сохранить пользовательские паттерны" @@ -116,12 +125,15 @@ msgstr "🔄 Обновить" msgid "🔄 Reset to Factory Defaults" msgstr "🔄 Сбросить к заводским настройкам" -msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)" -msgstr "🔍 Комбинаторный глубокий фаззинг (~40-80+)" +msgid "🔍 Combinatorial Deep Fuzzing (~150-300+)" +msgstr "" msgid "🗑️ Clear History" msgstr "🗑️ Очистить историю" +msgid "🤖 ChatGPT / OpenAI Suite" +msgstr "" + msgid "🧠 Synthesize with AI" msgstr "🧠 Сгенерировать через ИИ" @@ -134,12 +146,18 @@ msgstr "🚀 Инициализация бенчмарка в песочнице msgid "🚀 Start Benchmark" msgstr "🚀 Начать бенчмарк" +msgid "🛑 Benchmark stopped" +msgstr "" + msgid "🛑 Stop Benchmark" msgstr "🛑 Остановить бенчмарк" msgid "🛠️ My Custom Strategies Only" msgstr "🛠️ Только мои стратегии" +msgid "🟣 Twitch Suite (Live Stream + HLS CDN)" +msgstr "" + msgid "Accept external proxy connections and route them with sing-box." msgstr "Принимать внешние прокси-подключения и маршрутизировать их через sing-box." @@ -398,12 +416,36 @@ msgstr "Всегда блокировать эти домены для всех msgid "Always visible" msgstr "Всегда включено" +msgid "AmneziaWG 3.1 content padding range, e.g. 38-104" +msgstr "" + +msgid "AmneziaWG 3.1 header protection key" +msgstr "" + +msgid "AmneziaWG 3.1 keepalive timeout" +msgstr "" + +msgid "AmneziaWG 3.1 max handshake attempts" +msgstr "" + +msgid "AmneziaWG 3.1 reject after time" +msgstr "" + +msgid "AmneziaWG 3.1 rekey after time" +msgstr "" + +msgid "AmneziaWG 3.1 rekey timeout" +msgstr "" + msgid "AmneziaWG config loaded successfully!" msgstr "Конфигурация AmneziaWG успешно загружена!" msgid "AmneziaWG Generator" msgstr "Генератор AmneziaWG" +msgid "AmneziaWG Version" +msgstr "Версия AmneziaWG" + msgid "Anonymized support report copied to clipboard" msgstr "Анонимизированный отчет скопирован в буфер обмена" @@ -425,6 +467,9 @@ msgstr "Применено" msgid "Apply" msgstr "Применить" +msgid "Apply Recommended DNS" +msgstr "Применить рекомендованный DNS" + msgid "Apply rules of this section only to selected protocols." msgstr "Применять правила этой секции только к выбранным протоколам." @@ -500,6 +545,9 @@ msgstr "Авто-генерация HWID" msgid "Auto-Heal Network Stack" msgstr "Автолечение сетевого стека" +msgid "Auto-Tune & Benchmark DNS" +msgstr "Подобрать и протестировать DNS" + msgid "Auto-update Hosts Lists" msgstr "Автообновление списков Hosts" @@ -518,6 +566,9 @@ msgstr "Автоматический выбор User-Agent" msgid "Automatically add text to the name of each server from this subscription for convenient filtering." msgstr "Автоматически добавлять текст к имени каждого сервера из этой подписки для удобной фильтрации." +msgid "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration." +msgstr "Автоматически замерить задержку, потери пакетов и защиту от цензуры основных DNS серверов (UDP/DoH) прямо с роутера, чтобы найти и применить оптимальную конфигурацию." + msgid "Automatically check installed components for new versions" msgstr "Автоматически проверять установленные компоненты на наличие новых версий" @@ -563,9 +614,15 @@ msgstr "Беларусь (by)" msgid "Benchmark & Test" msgstr "Бенчмарк и тестирование" +msgid "Benchmark completed successfully" +msgstr "Бенчмарк успешно завершён" + msgid "Benchmark History" msgstr "История бенчмарков" +msgid "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP." +msgstr "Бенчмарк замеряет реальную задержку и надёжность резолва основных DNS серверов (UDP 53 и шифрованный DoH) напрямую с роутера, чтобы найти самый быстрый и незаблокированный апстрим у вашего провайдера." + msgid "Benchmark stopped" msgstr "Бенчмарк остановлен" @@ -899,6 +956,9 @@ msgstr "Строка аргументов командной строки..." msgid "Community Lists" msgstr "Community-списки" +msgid "Component action timed out" +msgstr "" + msgid "Component update available" msgstr "Доступно обновление компонента" @@ -929,6 +989,9 @@ msgstr "Путь к файлу конфигурации" msgid "Config Snapshots" msgstr "Снапшоты конфигурации" +msgid "Configuration applied" +msgstr "" + msgid "Configuration for Tachyon service" msgstr "Конфигурация сервиса Tachyon" @@ -962,6 +1025,9 @@ msgstr "Консультируюсь с базой знаний DPI и ИИ..." msgid "Content Mode" msgstr "Режим контента" +msgid "Content Padding Addition" +msgstr "" + msgid "Cookie packet junk size (S3)" msgstr "Размер мусора в пакете cookie (S3)" @@ -1163,6 +1229,9 @@ msgstr "Отображаемое имя" msgid "DNS" msgstr "DNS" +msgid "DNS Auto-Tuner & Benchmark" +msgstr "Автоподбор и бенчмарк DNS" + msgid "DNS Check Interval" msgstr "Интервал проверки DNS" @@ -1187,6 +1256,9 @@ msgstr "DNS через TLS (DoT)" msgid "DNS protocol" msgstr "Протокол DNS" +msgid "DNS Protocol" +msgstr "" + msgid "DNS Protocol Type" msgstr "Тип протокола DNS" @@ -1535,6 +1607,9 @@ msgstr "Ошибка обновления списков:" msgid "Every day" msgstr "Каждый день" +msgid "EXCELLENT" +msgstr "ОТЛИЧНО" + msgid "Exclude by proxy parameters" msgstr "Исключить по параметрам прокси" @@ -1577,6 +1652,9 @@ msgstr "Истекает" msgid "Expose this section as a local HTTP+SOCKS proxy" msgstr "Предоставить эту секцию как локальный HTTP+SOCKS прокси" +msgid "extended" +msgstr "" + msgid "External inbound proxy servers" msgstr "Внешние входящие прокси-серверы" @@ -1586,6 +1664,15 @@ msgstr "Внешние файлы конфигурации nfqws обходят msgid "External nfqws2 config files bypass Tachyon queue management and explicit validation." msgstr "Внешние файлы конфигурации nfqws2 обходят управление очередями Tachyon и явную проверку." +msgid "FAILED" +msgstr "СБОЙ" + +msgid "Failed to apply DNS configuration" +msgstr "" + +msgid "Failed to apply DNS settings" +msgstr "Не удалось применить настройки DNS" + msgid "Failed to apply fix" msgstr "Не удалось применить исправление" @@ -1622,12 +1709,18 @@ msgstr "Не удалось определить тип DPI" msgid "Failed to execute" msgstr "Не удалось выполнить" +msgid "Failed to fetch releases" +msgstr "" + msgid "Failed to generate bug report" msgstr "Не удалось создать отчёт об ошибке" msgid "Failed to generate WARP config:" msgstr "Не удалось сгенерировать конфигурацию WARP:" +msgid "Failed to get DNS benchmark status" +msgstr "" + msgid "Failed to get fuzzer history" msgstr "Не удалось получить историю фаззера" @@ -1640,12 +1733,18 @@ msgstr "Не удалось получить статус фаззера" msgid "Failed to get fuzzer strategies" msgstr "Не удалось получить стратегии фаззера" +msgid "Failed to install version" +msgstr "" + msgid "Failed to load history" msgstr "Не удалось загрузить историю" msgid "Failed to load snapshots" msgstr "Не удалось загрузить снапшоты" +msgid "Failed to load versions" +msgstr "Не удалось загрузить версии" + msgid "Failed to parse file:" msgstr "Ошибка разбора файла:" @@ -1691,6 +1790,9 @@ msgstr "Не удалось запустить бенчмарк" msgid "Failed to start bot" msgstr "Не удалось запустить бота" +msgid "Failed to start DNS benchmark" +msgstr "" + msgid "Failed to start fuzzer" msgstr "Не удалось запустить фаззер" @@ -1703,6 +1805,9 @@ msgstr "Не удалось запустить watchdog" msgid "Failed to stop bot" msgstr "Не удалось остановить бота" +msgid "Failed to stop DNS benchmark" +msgstr "" + msgid "Failed to stop fuzzer" msgstr "Не удалось остановить фаззер" @@ -1724,6 +1829,9 @@ msgstr "Не удалось обновить подписки" msgid "Failover failure threshold" msgstr "Порог срабатывания failover" +msgid "FAIR" +msgstr "СРЕДНЕ" + msgid "FakeIP and control checks use different public IPs" msgstr "FakeIP и контрольная проверка используют разные публичные IP" @@ -1736,6 +1844,9 @@ msgstr "FakeIP работает; сравнение публичных IP не msgid "FakeTLS host" msgstr "FakeTLS host" +msgid "Fallback DNS" +msgstr "" + msgid "Fallback DNS Servers" msgstr "Резервные DNS серверы" @@ -1748,75 +1859,6 @@ msgstr "Резервные DNS серверы должны быть обычны msgid "Fallback on unknown DC" msgstr "Fallback при неизвестном DC" -msgid "DNS Auto-Tuner & Benchmark" -msgstr "Автоподбор и бенчмарк DNS" - -msgid "Auto-Tune & Benchmark DNS" -msgstr "Подобрать и протестировать DNS" - -msgid "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration." -msgstr "Автоматически замерить задержку, потери пакетов и защиту от цензуры основных DNS серверов (UDP/DoH) прямо с роутера, чтобы найти и применить оптимальную конфигурацию." - -msgid "Tachyon DNS Benchmark & Auto-Tuning" -msgstr "Tachyon: Бенчмарк и автоподбор DNS" - -msgid "Ready to benchmark DNS providers" -msgstr "Готов к тестированию DNS провайдеров" - -msgid "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP." -msgstr "Бенчмарк замеряет реальную задержку и надёжность резолва основных DNS серверов (UDP 53 и шифрованный DoH) напрямую с роутера, чтобы найти самый быстрый и незаблокированный апстрим у вашего провайдера." - -msgid "Start Benchmark" -msgstr "Начать тест" - -msgid "Starting DNS benchmark..." -msgstr "Запуск бенчмарка DNS..." - -msgid "Benchmark completed successfully" -msgstr "Бенчмарк успешно завершён" - -msgid "Apply Recommended DNS" -msgstr "Применить рекомендованный DNS" - -msgid "Recommended DNS Configuration" -msgstr "Рекомендованная конфигурация DNS" - -msgid "Recommended DNS settings applied successfully and service restarted!" -msgstr "Рекомендованные настройки DNS успешно применены, сервис перезапущен!" - -msgid "Failed to start benchmark" -msgstr "Не удалось запустить бенчмарк" - -msgid "Failed to apply DNS settings" -msgstr "Не удалось применить настройки DNS" - -msgid "No benchmark data yet. Click \"Start Benchmark\" to begin." -msgstr "Нет данных бенчмарка. Нажмите «Начать тест», чтобы запустить проверку." - -msgid "EXCELLENT" -msgstr "ОТЛИЧНО" - -msgid "GOOD" -msgstr "ХОРОШО" - -msgid "FAIR" -msgstr "СРЕДНЕ" - -msgid "SLOW" -msgstr "МЕДЛЕННО" - -msgid "FAILED" -msgstr "СБОЙ" - -msgid "Protocol" -msgstr "Протокол" - -msgid "Rating" -msgstr "Оценка" - -msgid "Loss" -msgstr "Потери" - msgid "Family (🏠)" msgstr "Семья (🏠)" @@ -1847,6 +1889,9 @@ msgstr "Фильтровать серверы, отображаемые на д msgid "Filter:" msgstr "Фильтр:" +msgid "Finished with code" +msgstr "" + msgid "Finland (fi)" msgstr "Финляндия (fi)" @@ -1886,6 +1931,9 @@ msgstr "Принудительно включает безопасный пои msgid "Forces sing-box to tunnel DNS requests via DoQ with Encrypted Client Hello (ECH) for SNI hiding." msgstr "Принудительно направлять DNS-запросы через DoQ с Encrypted Client Hello (ECH) для скрытия SNI." +msgid "Found" +msgstr "" + msgid "France (fr)" msgstr "Франция (fr)" @@ -1973,6 +2021,9 @@ msgstr "Не удалось выполнить глобальную провер msgid "Global Default" msgstr "Глобально по умолчанию" +msgid "GOOD" +msgstr "ХОРОШО" + msgid "Group devices into family profiles to manage content filtering, SafeSearch, and screen time limits in one place." msgstr "Группируйте устройства в семейные профили для централизованного управления фильтрацией сайтов, безопасным поиском и лимитами экранного времени." @@ -1982,6 +2033,9 @@ msgstr "Сервис gRPC" msgid "Handshake timeout" msgstr "Таймаут рукопожатия" +msgid "Header Protection Key" +msgstr "" + msgid "Hello! I am Tachyon AI Assistant. How can I help you today? Ask me about domain blocks, diagnostics, or router settings." msgstr "Привет! Я ИИ-ассистент Tachyon. Чем могу помочь? Задайте вопрос о блокировках, диагностике или настройках роутера." @@ -2033,6 +2087,9 @@ msgstr "Скрыть узлы групп URLTest" msgid "Hide values" msgstr "Скрывать значения" +msgid "Hide versions" +msgstr "Скрыть версии" + msgid "Higher-level check interval" msgstr "Интервал проверки высших уровней" @@ -2534,6 +2591,9 @@ msgstr "Сохранять предыдущую рабочую версию ко msgid "Keep URLTest before latency-sorted servers" msgstr "Сохранять URLTest перед серверами, отсортированными по задержке" +msgid "Keepalive Timeout" +msgstr "" + msgid "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms." msgstr "Сохраняет FakeIP-кэш между перезагрузками и заранее резолвит популярные заблокированные домены при старте — задержка при первом визите 0 мс." @@ -2555,6 +2615,9 @@ msgstr "Язык ответов диагностики ИИ-доктора" msgid "Laptop / PC (💻)" msgstr "Ноутбук / ПК (💻)" +msgid "Latency" +msgstr "" + msgid "Latency test failed" msgstr "Проверка задержки не удалась" @@ -2627,6 +2690,9 @@ msgstr "Загрузка подключений" msgid "Loading service list..." msgstr "Получение списка сервисов..." +msgid "Loading versions..." +msgstr "Загрузка версий..." + msgid "Loading..." msgstr "Загрузка..." @@ -2636,6 +2702,9 @@ msgstr "Локальный адрес" msgid "Log Level" msgstr "Уровень логирования" +msgid "Loss" +msgstr "Потери" + msgid "LuCI Web UI" msgstr "Веб-интерфейс LuCI" @@ -2681,6 +2750,9 @@ msgstr "Совпадение найдено" msgid "Match traffic by packet DSCP mark (assigned in Windows via Policy-Based QoS). Examples: 46 (EF), 0x2e, 34 (AF41)" msgstr "Сопоставлять трафик по DSCP-метке пакета (назначается в Windows через Policy-Based QoS). Примеры: 46 (EF), 0x2e, 34 (AF41)" +msgid "Max Handshake Attempts" +msgstr "" + msgid "Max reconnects per hour before alert (default 10)." msgstr "Макс. переподключений в час до оповещения (по умолчанию 10)." @@ -2828,6 +2900,9 @@ msgstr "Активные устройства в локальной сети н msgid "No active routing sections found." msgstr "Активные секции маршрутизации не найдены." +msgid "No benchmark data yet. Click \"Start Benchmark\" to begin." +msgstr "Нет данных бенчмарка. Нажмите «Начать тест», чтобы запустить проверку." + msgid "No benchmark history yet. Run a benchmark to see results here." msgstr "История бенчмарков пуста. Запустите бенчмарк, чтобы увидеть результаты здесь." @@ -2900,6 +2975,12 @@ msgstr "Снапшотов пока нет" msgid "No strategies match the active filter." msgstr "Нет стратегий, соответствующих выбранному фильтру." +msgid "No versions found" +msgstr "Версии не найдены" + +msgid "No working strategy to apply" +msgstr "" + msgid "Node list is empty" msgstr "Список узлов пуст" @@ -3239,6 +3320,9 @@ msgstr "Предварительно собранный индекс фрагм msgid "Pre-download all preset lists" msgstr "Предзагрузить все предустановленные списки" +msgid "pre-release" +msgstr "пре-релиз" + msgid "Pre-shared key" msgstr "Предварительный общий ключ" @@ -3266,6 +3350,9 @@ msgstr "Предварительный общий ключ" msgid "Prevents multiple reload_firewall calls within 120 seconds to avoid connection drops." msgstr "Предотвращает множественные вызовы reload_firewall в течение 120 секунд для избежания разрыва соединений." +msgid "Primary DNS" +msgstr "" + msgid "Priority" msgstr "Приоритет" @@ -3308,6 +3395,12 @@ msgstr "Защита" msgid "Protocol" msgstr "Протокол" +msgid "Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)" +msgstr "" + +msgid "Provider" +msgstr "" + msgid "Provider Global Default" msgstr "Глобальные настройки провайдера" @@ -3350,12 +3443,18 @@ msgstr "QUIC (HTTP/3)" msgid "RAG Knowledge Base + Live ISP Probe Context" msgstr "База знаний RAG + результаты живого зондирования провайдера" +msgid "Rating" +msgstr "Оценка" + msgid "RDP" msgstr "RDP" msgid "Read error" msgstr "Ошибка чтения" +msgid "Ready to benchmark DNS providers" +msgstr "Готов к тестированию DNS провайдеров" + msgid "Reality fake site" msgstr "Фейковый сайт Reality" @@ -3386,6 +3485,12 @@ msgstr "Пересобранный релиз" msgid "Recommended" msgstr "Рекомендовано" +msgid "Recommended DNS Configuration" +msgstr "Рекомендованная конфигурация DNS" + +msgid "Recommended DNS settings applied successfully and service restarted!" +msgstr "Рекомендованные настройки DNS успешно применены, сервис перезапущен!" + msgid "Recommended Quick Fixes:" msgstr "Рекомендуемые исправления:" @@ -3419,6 +3524,15 @@ msgstr "Регулярное выражение не должно содержа msgid "Reinstall" msgstr "Переустановить" +msgid "Reject After Time" +msgstr "" + +msgid "Rekey After Time" +msgstr "" + +msgid "Rekey Timeout" +msgstr "" + msgid "Reload now" msgstr "Перезагрузить сейчас" @@ -3938,9 +4052,6 @@ msgstr "Сервисы и доступ" msgid "Services are online and ready! Reloading page..." msgstr "Службы запущены и готовы к работе! Перезагрузка страницы..." -msgid "Services are online, waiting for full initialization..." -msgstr "Сервисы запущены, ожидание полной инициализации..." - msgid "Services info" msgstr "Информация о сервисах" @@ -4037,6 +4148,9 @@ msgstr "Пропущены комментарии/невалидные:" msgid "Skipped loopback:" msgstr "Пропущены loopback:" +msgid "SLOW" +msgstr "МЕДЛЕННО" + msgid "Snapshot name" msgstr "Имя снапшота" @@ -4136,6 +4250,9 @@ msgstr "Стандартный" msgid "Start" msgstr "Старт" +msgid "Start Benchmark" +msgstr "Начать тест" + msgid "Start bot" msgstr "Запустить бота" @@ -4151,6 +4268,9 @@ msgstr "Время начала (ЧЧ:ММ)" msgid "Start watchdog" msgstr "Запустить watchdog" +msgid "Starting DNS benchmark..." +msgstr "Запуск бенчмарка DNS..." + msgid "Starting…" msgstr "Запуск…" @@ -4235,6 +4355,9 @@ msgstr "Успех" msgid "Successfully imported %d DNS record(s)" msgstr "Успешно импортировано %d DNS-записей" +msgid "Successfully updated %d hosts entries" +msgstr "" + msgid "Sun" msgstr "Вс" @@ -4268,9 +4391,15 @@ msgstr "Порядок и видимость вкладок" msgid "Table exist" msgstr "Таблица существует" +msgid "Tachyon" +msgstr "" + msgid "Tachyon Core" msgstr "Ядро Tachyon" +msgid "Tachyon DNS Benchmark & Auto-Tuning" +msgstr "Tachyon: Бенчмарк и автоподбор DNS" + msgid "Tachyon Error" msgstr "Ошибка Tachyon" @@ -4409,6 +4538,9 @@ msgstr "Тестировать серверы, чьи имена соответ msgid "Test Telegram Connection" msgstr "Проверить подключение к Telegram" +msgid "Testing" +msgstr "" + msgid "Testing bypass strategies in isolated sandbox..." msgstr "Тестирование стратегий обхода в изолированной песочнице..." @@ -4502,6 +4634,9 @@ msgstr "Время суток для запуска планового обно msgid "Time skew tolerance" msgstr "Допуск отклонения времени" +msgid "Timeout" +msgstr "" + msgid "tiny" msgstr "tiny" @@ -4727,6 +4862,9 @@ msgstr "Хранится до 10 снапшотов; самые старые у msgid "Update" msgstr "Обновить" +msgid "Update failed:" +msgstr "" + msgid "Update is available" msgstr "Доступно обновление" @@ -4739,6 +4877,9 @@ msgstr "Доступна новая версия:" msgid "Update lists now" msgstr "Обновить списки сейчас" +msgid "Update Lists Now" +msgstr "" + msgid "Update subscriptions" msgstr "Обновить подписки" @@ -4760,6 +4901,9 @@ msgstr "Обновление режима маршрутизации устро msgid "Updating lists..." msgstr "Обновление списков..." +msgid "Updating…" +msgstr "" + msgid "Uplink" msgstr "Исходящий" @@ -4889,6 +5033,9 @@ msgstr "Значение не должно содержать символы у msgid "Verifying router and service readiness..." msgstr "Проверка готовности роутера и служб..." +msgid "Versions" +msgstr "Версии" + msgid "Via country.is" msgstr "Через country.is" @@ -4925,9 +5072,6 @@ msgstr "Токен доступа WARP" msgid "WARP Account ID" msgstr "ID аккаунта WARP" -msgid "WARP Configuration generated and loaded successfully!" -msgstr "Конфигурация WARP успешно сгенерирована и загружена!" - msgid "WARP Generator Proxy Section" msgstr "Секция прокси для генератора WARP" @@ -4973,6 +5117,9 @@ msgstr "Приватный ключ WireGuard из вашего аккаунта msgid "Working" msgstr "Рабочих" +msgid "working strategies" +msgstr "" + msgid "XHTTP mode" msgstr "Режим XHTTP" @@ -5039,6 +5186,24 @@ msgstr "sing-box outbound для Zapret2 настроен" msgid "Zapret2 sing-box outbound is not configured" msgstr "sing-box outbound для Zapret2 не настроен" +msgid "⚡ Quick Benchmark (Presets ~12-14)" +msgstr "⚡ Быстрый бенчмарк (Пресеты ~12-14)" + +msgid "🎬 YouTube Suite (Web + 4K Stream)" +msgstr "🎬 YouTube Suite (Web + 4K Stream)" + +msgid "💬 Discord Suite (API + WSS + CDN)" +msgstr "💬 Discord Suite (API + WSS + CDN)" + +msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)" +msgstr "🔍 Комбинаторный глубокий фаззинг (~40-80+)" + +msgid "Services are online, waiting for full initialization..." +msgstr "Сервисы запущены, ожидание полной инициализации..." + +msgid "WARP Configuration generated and loaded successfully!" +msgstr "Конфигурация WARP успешно сгенерирована и загружена!" + msgid "⏹ Stop" msgstr "⏹ Стоп" @@ -5726,18 +5891,6 @@ msgstr "CleanBrowsing (Семейный)" msgid "Yandex Safe" msgstr "Yandex (Безопасный)" -msgid "Versions" -msgstr "Версии" - -msgid "Loading versions..." -msgstr "Загрузка версий..." - -msgid "No versions found" -msgstr "Версии не найдены" - -msgid "Failed to load versions" -msgstr "Не удалось загрузить версии" - msgid "Installing " msgstr "Установка " @@ -5750,5 +5903,26 @@ msgstr "Ошибка установки: " msgid "Installed " msgstr "Установлено " -msgid "pre-release" -msgstr "пре-релиз" +msgid "AmneziaWG 2.0" +msgstr "AmneziaWG 2.0" + +msgid "AmneziaWG 3.0" +msgstr "AmneziaWG 3.0" + +msgid "AmneziaWG 3.1" +msgstr "AmneziaWG 3.1" + +msgid "Protocol version: 2.0 (standard headers, WARP compatible), 3.0 (header protection key, padding ranges), or 3.1 (header protection key, padding ranges, advanced timers)" +msgstr "Версия протокола: 2.0 (стандартные заголовки, совместимо с WARP), 3.0 (ключ защиты заголовков, диапазоны паддинга), или 3.1 (ключ защиты заголовков, диапазоны паддинга, расширенные таймеры)" + +msgid "AmneziaWG %s configuration generated and loaded successfully!" +msgstr "Конфигурация AmneziaWG %s успешно сгенерирована и загружена!" + +msgid "Notice: Cloudflare WARP edge servers only support AmneziaWG 2.0 (standard headers). For Cloudflare WARP, select version 2.0. Versions 3.0 and 3.1 are intended for dedicated AmneziaWG servers." +msgstr "Обратите внимание: серверы Cloudflare WARP поддерживают только AmneziaWG 2.0 (стандартные заголовки). Для Cloudflare WARP выберите версию 2.0. Версии 3.0 и 3.1 предназначены для выделенных серверов AmneziaWG." + +msgid "AmneziaWG 3.0 / 3.1 header protection key" +msgstr "Ключ защиты заголовков AmneziaWG 3.0 / 3.1" + +msgid "AmneziaWG 3.0 / 3.1 content padding range, e.g. 38-104" +msgstr "Диапазон дополнительного паддинга контента AmneziaWG 3.0 / 3.1, например 38-104" diff --git a/fe-app-tachyon/src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts b/fe-app-tachyon/src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts index 841689af..5cadb6eb 100644 --- a/fe-app-tachyon/src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts +++ b/fe-app-tachyon/src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts @@ -24,7 +24,7 @@ export function renderDnsBenchmarkModal() { 'div', { style: - 'font-size: 13px; font-weight: 500; margin-bottom: 10px; color: var(--text-color, #ccc);', + 'font-size: 13px; font-weight: 500; margin-bottom: 10px; color: var(--text-color-medium, #6c757d);', }, _('Ready to benchmark DNS providers'), ); diff --git a/fe-app-tachyon/src/tachyon/tabs/updates/initController.ts b/fe-app-tachyon/src/tachyon/tabs/updates/initController.ts index 8a2279e7..5f9511f2 100644 --- a/fe-app-tachyon/src/tachyon/tabs/updates/initController.ts +++ b/fe-app-tachyon/src/tachyon/tabs/updates/initController.ts @@ -1463,19 +1463,6 @@ function renderVersionPickerDropdown( container.appendChild( E('div', { class: 'tachyon-version-picker__error' }, versionPickerError), ); - container.appendChild( - E( - 'button', - { - class: 'cbi-button tachyon-version-picker__close', - click: () => { - activeVersionPickerComponent = null; - renderUpdatesComponents(); - }, - }, - _('Close'), - ), - ); return container; } @@ -1512,20 +1499,6 @@ function renderVersionPickerDropdown( } container.appendChild(list); - container.appendChild( - E( - 'button', - { - class: 'cbi-button tachyon-version-picker__close', - click: () => { - activeVersionPickerComponent = null; - renderUpdatesComponents(); - }, - }, - _('Close'), - ), - ); - return container; } diff --git a/fe-app-tachyon/src/tachyon/tabs/updates/styles.ts b/fe-app-tachyon/src/tachyon/tabs/updates/styles.ts index 8fe6450d..95ae6583 100644 --- a/fe-app-tachyon/src/tachyon/tabs/updates/styles.ts +++ b/fe-app-tachyon/src/tachyon/tabs/updates/styles.ts @@ -210,7 +210,7 @@ export const styles = ` justify-content: space-between; align-items: center; gap: 10px; - border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.12)); + border-bottom: 1px solid var(--border-color-low, #dee2e6); padding-bottom: 10px; } @@ -223,7 +223,8 @@ export const styles = ` .tachyon-update-modal__component-name { font-size: 16px; - color: var(--text-color-high, #fff); + font-weight: bold; + color: var(--text-color-high, inherit); } .tachyon-update-modal__version-badge { @@ -231,22 +232,22 @@ export const styles = ` font-family: monospace; padding: 2px 6px; border-radius: 4px; - background: var(--background-color-low, rgba(0,0,0,0.1)); - color: var(--text-color-medium, #aaa); - border: 1px solid var(--border-color, rgba(255,255,255,0.1)); + background: var(--background-color-low, rgba(0, 0, 0, 0.05)); + color: var(--text-color-high, inherit); + border: 1px solid var(--border-color-low, #dee2e6); } .tachyon-update-modal__timer-badge { font-size: 13px; font-family: monospace; - color: var(--text-color-medium, #888); + color: var(--text-color-medium, #6c757d); } .tachyon-update-modal__success-banner { display: flex; align-items: center; gap: 8px; - color: #2ecc71; + color: var(--color-green-base, #2ecc71); font-weight: bold; } @@ -254,7 +255,7 @@ export const styles = ` display: flex; align-items: center; gap: 8px; - color: #e74c3c; + color: var(--color-red-base, #e74c3c); font-weight: bold; } @@ -264,7 +265,7 @@ export const styles = ` align-items: center; gap: 8px; margin-top: 6px; - border-top: 1px solid var(--border-color, rgba(255,255,255,0.12)); + border-top: 1px solid var(--border-color-low, #dee2e6); padding-top: 10px; flex-wrap: wrap; } @@ -289,6 +290,7 @@ export const styles = ` justify-content: space-between; align-items: center; gap: 8px; + color: var(--text-color-high, inherit); } .tachyon-update-modal__log-copy { @@ -306,9 +308,9 @@ export const styles = ` font-family: monospace; font-size: 11px; line-height: 1.5; - color: var(--text-color, #ddd); - background: rgba(0, 0, 0, 0.35); - border: 1px solid var(--border-color, rgba(255,255,255,0.12)); + color: var(--text-color-high, #212529); + background: var(--background-color-low, #f8f9fa); + border: 1px solid var(--border-color-low, #dee2e6); border-radius: 4px; padding: 8px; flex: 1 1 auto; @@ -318,20 +320,20 @@ export const styles = ` .tachyon-version-picker { margin-top: 8px; padding: 8px; - border: 1px solid var(--border-color, rgba(255,255,255,0.12)); + border: 1px solid var(--border-color-low, #dee2e6); border-radius: 4px; - background: rgba(0, 0, 0, 0.2); + background: var(--background-color-low, #f8f9fa); } .tachyon-version-picker__loading, .tachyon-version-picker__error { padding: 6px 0; font-size: 12px; - color: var(--text-color, #aaa); + color: var(--text-color-medium, #6c757d); } .tachyon-version-picker__error { - color: var(--error-color, #e74c3c); + color: var(--color-red-base, #e74c3c); } .tachyon-version-picker__list { @@ -345,7 +347,7 @@ export const styles = ` align-items: center; gap: 8px; padding: 4px 0; - border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.06)); + border-bottom: 1px solid var(--border-color-low, #e9ecef); } .tachyon-version-picker__item:last-child { @@ -355,24 +357,19 @@ export const styles = ` .tachyon-version-picker__tag { font-weight: bold; font-size: 13px; - color: var(--text-color, #ddd); + color: var(--text-color-high, inherit); } .tachyon-version-picker__date { font-size: 11px; - color: var(--text-color, #aaa); + color: var(--text-color-medium, #6c757d); } .tachyon-version-picker__prerelease { font-size: 10px; - color: var(--warn-color, #f39c12); - border: 1px solid var(--warn-color, #f39c12); + color: var(--color-yellow-base, #f39c12); + border: 1px solid var(--color-yellow-base, #f39c12); border-radius: 3px; padding: 1px 4px; } - -.tachyon-version-picker__close { - margin-top: 8px; - width: 100%; -} `; diff --git a/install.sh b/install.sh index ec0be64a..4af04165 100755 --- a/install.sh +++ b/install.sh @@ -343,6 +343,7 @@ ASSUME_YES=0 DRY_RUN=0 VERBOSE=0 QUIET=0 +SKIP_SING_BOX=0 TACHYON_RELEASE_JSON="" TACHYON_RELEASE_TAG="" @@ -508,6 +509,7 @@ Options: download, install, remove, or modify anything on disk -v, --verbose Print extra diagnostic detail while installing -q, --quiet Suppress informational output (errors/warnings still show) + --skip-sing-box Skip sing-box installation --version Print the installer version and exit -h, --help Show this help text and exit @@ -538,6 +540,9 @@ parse_args() { -q|--quiet) QUIET=1 ;; + --skip-sing-box|--no-sing-box) + SKIP_SING_BOX=1 + ;; *) fail "Unknown installer option: $1 (see --help)" ;; @@ -2083,6 +2088,7 @@ installer_text() { sing_box_extended_compressed) printf '%s\n' "singbox extended (сжатая UPX версия)" ;; sing_box_tiny) printf '%s\n' "singbox tiny (минимум функций)" ;; sing_box_lx) printf '%s\n' "singbox Leadaxe (lx)" ;; + sing_box_skip) printf '%s\n' "Не устанавливать sing-box (пропустить)" ;; sing_box_skip_msg) printf '%s\n' "Пропускаю установку sing-box." ;; installing_singbox_backend) printf '%s\n' "Установка выбранного варианта sing-box..." ;; install_start) printf '%s\n' "=== Начало установки Tachyon ===" ;; @@ -2130,6 +2136,7 @@ installer_text() { sing_box_extended_compressed) printf '%s\n' "singbox extended (UPX compressed)" ;; sing_box_tiny) printf '%s\n' "singbox tiny (minimal features)" ;; sing_box_lx) printf '%s\n' "singbox Leadaxe (lx)" ;; + sing_box_skip) printf '%s\n' "Do not install sing-box (skip)" ;; sing_box_skip_msg) printf '%s\n' "Skipping sing-box installation." ;; installing_singbox_backend) printf '%s\n' "Installing selected sing-box variant..." ;; install_start) printf '%s\n' "=== Starting Tachyon Installation ===" ;; @@ -2324,6 +2331,11 @@ select_sing_box_installation() { return 0 fi + if [ "$SKIP_SING_BOX" -eq 1 ]; then + SING_BOX_INSTALL_VARIANT="" + return 0 + fi + if [ "$ASSUME_YES" -eq 1 ] || [ ! -t 0 ]; then SING_BOX_INSTALL_VARIANT="stable" msg "$(installer_text sing_box_prompt): $default_choice ($(installer_text sing_box_stable), non-interactive)" @@ -2337,6 +2349,7 @@ select_sing_box_installation() { printf ' 3) %s\n' "$(installer_text sing_box_extended_compressed)" printf ' 4) %s\n' "$(installer_text sing_box_lx)" printf ' 5) %s\n' "$(installer_text sing_box_tiny)" + printf ' 6) %s\n' "$(installer_text sing_box_skip)" printf '%s [%s]: ' "$(installer_text select)" "$default_choice" read -r answer || return 1 [ -n "$answer" ] || answer="$default_choice" @@ -2361,6 +2374,10 @@ select_sing_box_installation() { SING_BOX_INSTALL_VARIANT="tiny" return 0 fi + if [ "$answer" = "6" ]; then + SING_BOX_INSTALL_VARIANT="" + return 0 + fi warn "$(installer_text invalid_choice)" done diff --git a/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js b/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js index 2abe94e7..9ec97810 100644 --- a/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js +++ b/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js @@ -13931,7 +13931,7 @@ function renderDnsBenchmarkModal() { const statusLabel = E( "div", { - style: "font-size: 13px; font-weight: 500; margin-bottom: 10px; color: var(--text-color, #ccc);" + style: "font-size: 13px; font-weight: 500; margin-bottom: 10px; color: var(--text-color-medium, #6c757d);" }, _("Ready to benchmark DNS providers") ); @@ -20457,19 +20457,6 @@ function renderVersionPickerDropdown(component) { container.appendChild( E("div", { class: "tachyon-version-picker__error" }, versionPickerError) ); - container.appendChild( - E( - "button", - { - class: "cbi-button tachyon-version-picker__close", - click: () => { - activeVersionPickerComponent = null; - renderUpdatesComponents(); - } - }, - _("Close") - ) - ); return container; } const list = E("div", { class: "tachyon-version-picker__list" }); @@ -20504,19 +20491,6 @@ function renderVersionPickerDropdown(component) { ); } container.appendChild(list); - container.appendChild( - E( - "button", - { - class: "cbi-button tachyon-version-picker__close", - click: () => { - activeVersionPickerComponent = null; - renderUpdatesComponents(); - } - }, - _("Close") - ) - ); return container; } function renderComponentCard(card) { @@ -21084,7 +21058,7 @@ var styles6 = ` justify-content: space-between; align-items: center; gap: 10px; - border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.12)); + border-bottom: 1px solid var(--border-color-low, #dee2e6); padding-bottom: 10px; } @@ -21097,7 +21071,8 @@ var styles6 = ` .tachyon-update-modal__component-name { font-size: 16px; - color: var(--text-color-high, #fff); + font-weight: bold; + color: var(--text-color-high, inherit); } .tachyon-update-modal__version-badge { @@ -21105,22 +21080,22 @@ var styles6 = ` font-family: monospace; padding: 2px 6px; border-radius: 4px; - background: var(--background-color-low, rgba(0,0,0,0.1)); - color: var(--text-color-medium, #aaa); - border: 1px solid var(--border-color, rgba(255,255,255,0.1)); + background: var(--background-color-low, rgba(0, 0, 0, 0.05)); + color: var(--text-color-high, inherit); + border: 1px solid var(--border-color-low, #dee2e6); } .tachyon-update-modal__timer-badge { font-size: 13px; font-family: monospace; - color: var(--text-color-medium, #888); + color: var(--text-color-medium, #6c757d); } .tachyon-update-modal__success-banner { display: flex; align-items: center; gap: 8px; - color: #2ecc71; + color: var(--color-green-base, #2ecc71); font-weight: bold; } @@ -21128,7 +21103,7 @@ var styles6 = ` display: flex; align-items: center; gap: 8px; - color: #e74c3c; + color: var(--color-red-base, #e74c3c); font-weight: bold; } @@ -21138,7 +21113,7 @@ var styles6 = ` align-items: center; gap: 8px; margin-top: 6px; - border-top: 1px solid var(--border-color, rgba(255,255,255,0.12)); + border-top: 1px solid var(--border-color-low, #dee2e6); padding-top: 10px; flex-wrap: wrap; } @@ -21163,6 +21138,7 @@ var styles6 = ` justify-content: space-between; align-items: center; gap: 8px; + color: var(--text-color-high, inherit); } .tachyon-update-modal__log-copy { @@ -21180,9 +21156,9 @@ var styles6 = ` font-family: monospace; font-size: 11px; line-height: 1.5; - color: var(--text-color, #ddd); - background: rgba(0, 0, 0, 0.35); - border: 1px solid var(--border-color, rgba(255,255,255,0.12)); + color: var(--text-color-high, #212529); + background: var(--background-color-low, #f8f9fa); + border: 1px solid var(--border-color-low, #dee2e6); border-radius: 4px; padding: 8px; flex: 1 1 auto; @@ -21192,20 +21168,20 @@ var styles6 = ` .tachyon-version-picker { margin-top: 8px; padding: 8px; - border: 1px solid var(--border-color, rgba(255,255,255,0.12)); + border: 1px solid var(--border-color-low, #dee2e6); border-radius: 4px; - background: rgba(0, 0, 0, 0.2); + background: var(--background-color-low, #f8f9fa); } .tachyon-version-picker__loading, .tachyon-version-picker__error { padding: 6px 0; font-size: 12px; - color: var(--text-color, #aaa); + color: var(--text-color-medium, #6c757d); } .tachyon-version-picker__error { - color: var(--error-color, #e74c3c); + color: var(--color-red-base, #e74c3c); } .tachyon-version-picker__list { @@ -21219,7 +21195,7 @@ var styles6 = ` align-items: center; gap: 8px; padding: 4px 0; - border-bottom: 1px solid var(--border-color, rgba(255,255,255,0.06)); + border-bottom: 1px solid var(--border-color-low, #e9ecef); } .tachyon-version-picker__item:last-child { @@ -21229,26 +21205,21 @@ var styles6 = ` .tachyon-version-picker__tag { font-weight: bold; font-size: 13px; - color: var(--text-color, #ddd); + color: var(--text-color-high, inherit); } .tachyon-version-picker__date { font-size: 11px; - color: var(--text-color, #aaa); + color: var(--text-color-medium, #6c757d); } .tachyon-version-picker__prerelease { font-size: 10px; - color: var(--warn-color, #f39c12); - border: 1px solid var(--warn-color, #f39c12); + color: var(--color-yellow-base, #f39c12); + border: 1px solid var(--color-yellow-base, #f39c12); border-radius: 3px; padding: 1px 4px; } - -.tachyon-version-picker__close { - margin-top: 8px; - width: 100%; -} `; // src/tachyon/tabs/updates/index.ts diff --git a/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js b/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js index 59c3ecc4..e01f17ea 100644 --- a/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js +++ b/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js @@ -8412,6 +8412,25 @@ function createSectionContent(section) { : _("Use sing-box duration format like 1d, 12h or 6h"); }; + // Keep tag chains (, , , etc.) and plain hex intact + // Normalizes plain hex to and auto-heals previously truncated tags + const cleanAwgPayload = (v) => { + if (typeof v !== "string") return ""; + let s = v.trim(); + if (!s || s === "0") return s; + // Heal previously truncated opening binary tag if missing (e.g. 729cd...>...) + if (/^[0-9a-fA-F]+><[^<>]+>/.test(s)) s = "]+$/.test(s)) s += ">"; + // If plain hex (classic AWG payload or stripped ), normalize to + const plainHex = s.replace(/^0x/i, ""); + if (/^[0-9a-fA-F]+$/.test(plainHex) && plainHex.length >= 2) { + const padded = plainHex.length % 2 !== 0 ? plainHex + "0" : plainHex; + return ""; + } + return s; + }; + o = section.taboption( "settings", form.Button, @@ -8503,9 +8522,26 @@ function createSectionContent(section) { const resetAfter = (ms) => setTimeout(() => setState("", origText), ms); + const getControlWidget = (opt) => { + const widget = document.getElementById( + `widget.cbid.${UCI_PACKAGE}.${section_id}.${opt}`, + ); + if (!widget) return null; + if (/^(INPUT|SELECT|TEXTAREA)$/.test(widget.tagName)) return widget; + return widget.querySelector( + "input:not([type='hidden']), select, textarea", + ); + }; + + const verWidget = getControlWidget("awg_version"); + const currentVersion = + (verWidget ? verWidget.value : null) || + uci.get(UCI_PACKAGE, section_id, "awg_version") || + "2.0"; + setState("loading", _("Generating…")); - fs.exec("/usr/bin/tachyon", ["generate_warp"]) + fs.exec("/usr/bin/tachyon", ["generate_warp", "", "2.0"]) .then(function (response) { if (!response || (response.code ?? 0) !== 0 || !response.stdout) { setState("error", _("Error")); @@ -8533,25 +8569,6 @@ function createSectionContent(section) { return; } - const getControlWidget = (opt) => { - const widget = document.getElementById( - `widget.cbid.${UCI_PACKAGE}.${section_id}.${opt}`, - ); - if (!widget) return null; - if (/^(INPUT|SELECT|TEXTAREA)$/.test(widget.tagName)) return widget; - return widget.querySelector( - "input:not([type='hidden']), select, textarea", - ); - }; - - const stripUciBinary = (val) => { - if (typeof val !== "string") return val; - return val - .replace(//g, "") - .replace(/\s/g, ""); - }; - const setWidgetValue = (opt, val) => { const widget = getControlWidget(opt); if (widget) { @@ -8562,6 +8579,8 @@ function createSectionContent(section) { uci.set(UCI_PACKAGE, section_id, opt, val); }; + const genVer = data.awg_version || "2.0"; + setWidgetValue("awg_local_address", data.local_address); setWidgetValue("awg_private_key", data.private_key); setWidgetValue("awg_peer_public_key", data.peer_public_key); @@ -8578,17 +8597,39 @@ function createSectionContent(section) { setWidgetValue("awg_h4", `${data.awg_h4}`); setWidgetValue("awg_s3", `${data.awg_s3}`); setWidgetValue("awg_s4", `${data.awg_s4}`); - setWidgetValue("awg_i1", stripUciBinary(data.awg_i1)); - setWidgetValue("awg_i2", stripUciBinary(data.awg_i2)); - setWidgetValue("awg_i3", stripUciBinary(data.awg_i3)); - setWidgetValue("awg_i4", stripUciBinary(data.awg_i4)); - setWidgetValue("awg_i5", stripUciBinary(data.awg_i5)); + setWidgetValue("awg_i1", cleanAwgPayload(data.awg_i1)); + setWidgetValue("awg_i2", cleanAwgPayload(data.awg_i2)); + setWidgetValue("awg_i3", cleanAwgPayload(data.awg_i3)); + setWidgetValue("awg_i4", cleanAwgPayload(data.awg_i4)); + setWidgetValue("awg_i5", cleanAwgPayload(data.awg_i5)); + + setWidgetValue("awg_version", genVer); + + // Clear 3.x specific options when generating WARP (Cloudflare only supports AWG 2.0) + setWidgetValue("awg_header_protection_key", ""); + setWidgetValue("awg_content_padding_addition", ""); + setWidgetValue("awg_rekey_after_time", ""); + setWidgetValue("awg_rekey_timeout", ""); + setWidgetValue("awg_reject_after_time", ""); + setWidgetValue("awg_keepalive_timeout", ""); + setWidgetValue("awg_max_handshake_attempts", ""); + uci.unset(UCI_PACKAGE, section_id, "awg_header_protection_key"); + uci.unset(UCI_PACKAGE, section_id, "awg_content_padding_addition"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_reject_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_keepalive_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_max_handshake_attempts"); setState("success", _("Generated!")); resetAfter(2500); + let successMsg = _("AmneziaWG (Cloudflare WARP) configuration generated and loaded successfully!"); + if (currentVersion !== "2.0") { + successMsg += "\n\n" + _("Notice: Cloudflare WARP edge servers only support AmneziaWG 2.0 (WireGuard). The profile has been automatically set to 2.0 so the connection works properly. Versions 3.0 and 3.1 require an AmneziaWG server via 'Import .conf'."); + } showStatusModal( _("Success"), - _("WARP Configuration generated and loaded successfully!"), + successMsg, false, ); } catch (err) { @@ -8630,15 +8671,24 @@ function createSectionContent(section) { let cur = null; for (const raw of text.split(/\r?\n/)) { const line = raw.trim(); - if (!line || line.startsWith("#")) continue; - const sm = line.match(/^\[(\w+)\]$/); + if (!line || line.startsWith("#") || line.startsWith(";")) continue; + const sm = line.match(/^\[([^\]]+)\]$/); if (sm) { - cur = sm[1].toLowerCase(); + cur = sm[1].trim().toLowerCase(); out[cur] = out[cur] || {}; continue; } - const kv = line.match(/^(\w+)\s*=\s*(.+)$/); - if (kv && cur) out[cur][kv[1]] = kv[2].trim(); + const kv = line.match(/^([^=]+)\s*=\s*(.+)$/); + if (kv && cur) { + const key = kv[1].trim(); + let val = kv[2].trim(); + // Strip inline comments if not inside payload tags + if (!val.startsWith("<")) { + const commentIdx = val.search(/[#;]/); + if (commentIdx >= 0) val = val.slice(0, commentIdx).trim(); + } + out[cur][key] = val; + } } return out; }; @@ -8654,22 +8704,16 @@ function createSectionContent(section) { ) .join(" "); - // Strip UCI binary literal format: → HEX - const stripBin = (v) => - typeof v === "string" - ? v - .replace(/^$/, "") - .trim() - : ""; + // Use shared payload cleaner for tag chains and hex normalization + const cleanPayload = cleanAwgPayload; // Write value into a form widget and the UCI cache const setVal = (opt, val) => { if (val === undefined || val === null) return; const str = String(val); - const el = document.getElementById( - `widget.cbid.${UCI_PACKAGE}.${section_id}.${opt}`, - ); + const el = + document.getElementById(`widget.cbid.${UCI_PACKAGE}.${section_id}.${opt}`) || + document.getElementById(`cbid.${UCI_PACKAGE}.${section_id}.${opt}`); const w = el && (/^(INPUT|SELECT|TEXTAREA)$/.test(el.tagName) @@ -8743,42 +8787,148 @@ function createSectionContent(section) { const iface = cfg.interface || {}; const peer = cfg.peer || {}; - // --- [Interface] --- - if (iface.Address) - setVal("awg_local_address", normalizeAddr(iface.Address)); - if (iface.PrivateKey) setVal("awg_private_key", iface.PrivateKey); - if (iface.MTU !== undefined) setVal("awg_mtu", iface.MTU); - if (peer.PersistentKeepalive) - setVal("awg_keepalive", peer.PersistentKeepalive); - if (iface.Jc !== undefined) setVal("awg_jc", iface.Jc); - if (iface.Jmin !== undefined) setVal("awg_jmin", iface.Jmin); - if (iface.Jmax !== undefined) setVal("awg_jmax", iface.Jmax); - if (iface.S1 !== undefined) setVal("awg_s1", iface.S1); - if (iface.S2 !== undefined) setVal("awg_s2", iface.S2); - if (iface.S3 !== undefined) setVal("awg_s3", iface.S3); - if (iface.S4 !== undefined) setVal("awg_s4", iface.S4); - if (iface.H1 !== undefined) setVal("awg_h1", iface.H1); - if (iface.H2 !== undefined) setVal("awg_h2", iface.H2); - if (iface.H3 !== undefined) setVal("awg_h3", iface.H3); - if (iface.H4 !== undefined) setVal("awg_h4", iface.H4); - if (iface.I1) setVal("awg_i1", stripBin(iface.I1)); - if (iface.I2) setVal("awg_i2", stripBin(iface.I2)); - if (iface.I3) setVal("awg_i3", stripBin(iface.I3)); - if (iface.I4) setVal("awg_i4", stripBin(iface.I4)); - if (iface.I5) setVal("awg_i5", stripBin(iface.I5)); - if (iface.J1) setVal("awg_j1", stripBin(iface.J1)); - if (iface.J2) setVal("awg_j2", stripBin(iface.J2)); - if (iface.J3) setVal("awg_j3", stripBin(iface.J3)); - if (iface.Itime !== undefined) setVal("awg_itime", iface.Itime); + // Case-insensitive lookup across [Interface] and [Peer] + const getConfVal = (k) => { + const lk = k.toLowerCase(); + for (const s of [iface, peer]) { + if (!s) continue; + for (const key in s) { + if (key.toLowerCase() === lk) return s[key]; + } + } + return undefined; + }; + + // --- [Interface] / [Peer] --- + const addr = getConfVal("Address") || getConfVal("awg_local_address"); + if (addr) setVal("awg_local_address", normalizeAddr(addr)); + + const priv = getConfVal("PrivateKey") || getConfVal("awg_private_key"); + if (priv) setVal("awg_private_key", priv); + + const mtu = getConfVal("MTU"); + if (mtu !== undefined) setVal("awg_mtu", mtu); + + const keepalive = getConfVal("PersistentKeepalive") || getConfVal("Keepalive"); + if (keepalive !== undefined) setVal("awg_keepalive", keepalive); + + const jc = getConfVal("Jc"); + if (jc !== undefined) setVal("awg_jc", jc); + + const jmin = getConfVal("Jmin"); + if (jmin !== undefined) setVal("awg_jmin", jmin); + + const jmax = getConfVal("Jmax"); + if (jmax !== undefined) setVal("awg_jmax", jmax); + + const s1 = getConfVal("S1"); + if (s1 !== undefined) setVal("awg_s1", s1); + + const s2 = getConfVal("S2"); + if (s2 !== undefined) setVal("awg_s2", s2); + + const s3 = getConfVal("S3"); + if (s3 !== undefined) setVal("awg_s3", s3); + + const s4 = getConfVal("S4"); + if (s4 !== undefined) setVal("awg_s4", s4); + + const h1 = getConfVal("H1"); + if (h1 !== undefined) setVal("awg_h1", h1); + + const h2 = getConfVal("H2"); + if (h2 !== undefined) setVal("awg_h2", h2); + + const h3 = getConfVal("H3"); + if (h3 !== undefined) setVal("awg_h3", h3); + + const h4 = getConfVal("H4"); + if (h4 !== undefined) setVal("awg_h4", h4); + + const i1 = getConfVal("I1"); + if (i1) setVal("awg_i1", cleanPayload(i1)); + + const i2 = getConfVal("I2"); + if (i2) setVal("awg_i2", cleanPayload(i2)); + + const i3 = getConfVal("I3"); + if (i3) setVal("awg_i3", cleanPayload(i3)); + + const i4 = getConfVal("I4"); + if (i4) setVal("awg_i4", cleanPayload(i4)); + + const i5 = getConfVal("I5"); + if (i5) setVal("awg_i5", cleanPayload(i5)); + + const j1 = getConfVal("J1"); + if (j1) setVal("awg_j1", cleanPayload(j1)); + + const j2 = getConfVal("J2"); + if (j2) setVal("awg_j2", cleanPayload(j2)); + + const j3 = getConfVal("J3"); + if (j3) setVal("awg_j3", cleanPayload(j3)); + + const itime = getConfVal("Itime"); + if (itime !== undefined) setVal("awg_itime", itime); + + // --- AmneziaWG version detection and parameters --- + const hpk = getConfVal("HeaderProtectionKey") || ""; + const cpa = getConfVal("ContentPaddingAddition") || ""; + const rka = getConfVal("RekeyAfterTime") || ""; + const rkt = getConfVal("RekeyTimeout") || ""; + const rja = getConfVal("RejectAfterTime") || ""; + const kpt = getConfVal("KeepaliveTimeout") || ""; + const mha = getConfVal("MaxHandshakeAttempts") || ""; + + const isV31 = !!(rka || rkt || rja || kpt || mha); + const isV30 = !isV31 && !!(hpk || cpa); + const detectedVersion = isV31 ? "3.1" : (isV30 ? "3.0" : "2.0"); + + setVal("awg_version", detectedVersion); + + if (isV31 || isV30) { + setVal("awg_header_protection_key", hpk); + setVal("awg_content_padding_addition", cpa); + } else { + setVal("awg_header_protection_key", ""); + setVal("awg_content_padding_addition", ""); + uci.unset(UCI_PACKAGE, section_id, "awg_header_protection_key"); + uci.unset(UCI_PACKAGE, section_id, "awg_content_padding_addition"); + } + + if (isV31) { + setVal("awg_rekey_after_time", rka); + setVal("awg_rekey_timeout", rkt); + setVal("awg_reject_after_time", rja); + setVal("awg_keepalive_timeout", kpt); + setVal("awg_max_handshake_attempts", mha); + } else { + setVal("awg_rekey_after_time", ""); + setVal("awg_rekey_timeout", ""); + setVal("awg_reject_after_time", ""); + setVal("awg_keepalive_timeout", ""); + setVal("awg_max_handshake_attempts", ""); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_reject_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_keepalive_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_max_handshake_attempts"); + } // --- [Peer] --- - if (peer.PublicKey) setVal("awg_peer_public_key", peer.PublicKey); - if (peer.PresharedKey) setVal("awg_preshared_key", peer.PresharedKey); - if (peer.Endpoint) { - const i = peer.Endpoint.lastIndexOf(":"); + const pub = getConfVal("PublicKey") || getConfVal("awg_peer_public_key"); + if (pub) setVal("awg_peer_public_key", pub); + + const psk = getConfVal("PresharedKey") || getConfVal("awg_preshared_key"); + if (psk) setVal("awg_preshared_key", psk); + + const ep = getConfVal("Endpoint"); + if (ep) { + const i = ep.lastIndexOf(":"); if (i > 0) { - setVal("awg_server_address", peer.Endpoint.slice(0, i)); - setVal("awg_server_port", peer.Endpoint.slice(i + 1)); + setVal("awg_server_address", ep.slice(0, i)); + setVal("awg_server_port", ep.slice(i + 1)); } } @@ -8889,6 +9039,40 @@ function createSectionContent(section) { o.modalonly = true; o.rmempty = true; o.depends("action", "awg"); + + o = section.taboption( + "settings", + form.ListValue, + "awg_version", + _("AmneziaWG Version"), + _("Protocol version: 2.0 (standard headers, WARP compatible), 3.0 (header protection key, padding ranges), or 3.1 (header protection key, padding ranges, advanced timers)"), + ); + o.modalonly = true; + o.rmempty = false; + o.default = "2.0"; + o.value("2.0", "AmneziaWG 2.0"); + o.value("3.0", "AmneziaWG 3.0"); + o.value("3.1", "AmneziaWG 3.1"); + o.depends("action", "awg"); + o.write = function (section_id, formvalue) { + if (formvalue === "2.0") { + uci.unset(UCI_PACKAGE, section_id, "awg_header_protection_key"); + uci.unset(UCI_PACKAGE, section_id, "awg_content_padding_addition"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_reject_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_keepalive_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_max_handshake_attempts"); + } else if (formvalue === "3.0") { + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_reject_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_keepalive_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_max_handshake_attempts"); + } + return uci.set(UCI_PACKAGE, section_id, "awg_version", formvalue); + }; + // ── AmneziaWG obfuscation parameters (NATIVE LUCI CBI STYLE) ────────────── const addAwgParam = (name, title, desc, def) => { let opt = section.taboption("settings", form.Value, name, title, desc); @@ -8910,11 +9094,55 @@ function createSectionContent(section) { addAwgParam("awg_h2", _("Underload Packet Magic Header (H2)"), "", "2"); addAwgParam("awg_h3", _("Underload Packet Magic Header (H3)"), "", "3"); addAwgParam("awg_h4", _("Underload Packet Magic Header (H4)"), "", "4"); - addAwgParam("awg_i1", _("Init Packet Payload (I1)"), "", "0"); - addAwgParam("awg_i2", _("Init Packet Payload (I2)"), "", "0"); - addAwgParam("awg_i3", _("Init Packet Payload (I3)"), "", "0"); - addAwgParam("awg_i4", _("Init Packet Payload (I4)"), "", "0"); - addAwgParam("awg_i5", _("Init Packet Payload (I5)"), "", "0"); + const addAwgPayloadParam = (name, title, desc, def) => { + let opt = section.taboption("settings", form.Value, name, title, desc); + opt.modalonly = true; + opt.rmempty = false; + opt.default = def; + opt.depends("action", "awg"); + opt.cfgvalue = function (section_id) { + let val = uci.get(UCI_PACKAGE, section_id, name); + if (val === undefined || val === null || val === "") return def; + return cleanAwgPayload(String(val)); + }; + opt.write = function (section_id, formvalue) { + return uci.set(UCI_PACKAGE, section_id, name, cleanAwgPayload(formvalue)); + }; + return opt; + }; + + addAwgPayloadParam("awg_i1", _("Init Packet Payload (I1)"), "", "0"); + addAwgPayloadParam("awg_i2", _("Init Packet Payload (I2)"), "", "0"); + addAwgPayloadParam("awg_i3", _("Init Packet Payload (I3)"), "", "0"); + addAwgPayloadParam("awg_i4", _("Init Packet Payload (I4)"), "", "0"); + addAwgPayloadParam("awg_i5", _("Init Packet Payload (I5)"), "", "0"); + + // ── AmneziaWG 3.0 & 3.1 Advanced Parameters ─────────────────────────────── + const addAwgV3Param = (name, title, desc) => { + let opt = section.taboption("settings", form.Value, name, title, desc); + opt.modalonly = true; + opt.rmempty = true; + opt.depends({ action: "awg", awg_version: "3.0" }); + opt.depends({ action: "awg", awg_version: "3.1" }); + return opt; + }; + + const addAwgV31Param = (name, title, desc) => { + let opt = section.taboption("settings", form.Value, name, title, desc); + opt.modalonly = true; + opt.rmempty = true; + opt.depends({ action: "awg", awg_version: "3.1" }); + return opt; + }; + + addAwgV3Param("awg_header_protection_key", _("Header Protection Key"), _("AmneziaWG 3.0 / 3.1 header protection key")); + addAwgV3Param("awg_content_padding_addition", _("Content Padding Addition"), _("AmneziaWG 3.0 / 3.1 content padding range, e.g. 38-104")); + addAwgV31Param("awg_rekey_after_time", _("Rekey After Time"), _("AmneziaWG 3.1 rekey after time")); + addAwgV31Param("awg_rekey_timeout", _("Rekey Timeout"), _("AmneziaWG 3.1 rekey timeout")); + addAwgV31Param("awg_reject_after_time", _("Reject After Time"), _("AmneziaWG 3.1 reject after time")); + addAwgV31Param("awg_keepalive_timeout", _("Keepalive Timeout"), _("AmneziaWG 3.1 keepalive timeout")); + addAwgV31Param("awg_max_handshake_attempts", _("Max Handshake Attempts"), _("AmneziaWG 3.1 max handshake attempts")); + // ── WARP (Cloudflare WARP via sing-box-extended) ────────────────────────── diff --git a/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js b/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js index ddaaac12..435705b8 100644 --- a/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js +++ b/luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js @@ -1466,6 +1466,26 @@ function buildAwgClientConfig(sectionId) { if (j3) conf += `J3 = ${j3}\n`; if (itime) conf += `Itime = ${itime}\n`; + const awgVer = uci.get(UCI_PACKAGE, sectionId, "awg_version") || "2.0"; + if (awgVer === "3.0" || awgVer === "3.1") { + const hpk = uci.get(UCI_PACKAGE, sectionId, "awg_header_protection_key") || ""; + const cpa = uci.get(UCI_PACKAGE, sectionId, "awg_content_padding_addition") || ""; + if (hpk) conf += `HeaderProtectionKey = ${hpk}\n`; + if (cpa) conf += `ContentPaddingAddition = ${cpa}\n`; + } + if (awgVer === "3.1") { + const rka = uci.get(UCI_PACKAGE, sectionId, "awg_rekey_after_time") || ""; + const rkt = uci.get(UCI_PACKAGE, sectionId, "awg_rekey_timeout") || ""; + const rja = uci.get(UCI_PACKAGE, sectionId, "awg_reject_after_time") || ""; + const kpt = uci.get(UCI_PACKAGE, sectionId, "awg_keepalive_timeout") || ""; + const mha = uci.get(UCI_PACKAGE, sectionId, "awg_max_handshake_attempts") || ""; + if (rka) conf += `RekeyAfterTime = ${rka}\n`; + if (rkt) conf += `RekeyTimeout = ${rkt}\n`; + if (rja) conf += `RejectAfterTime = ${rja}\n`; + if (kpt) conf += `KeepaliveTimeout = ${kpt}\n`; + if (mha) conf += `MaxHandshakeAttempts = ${mha}\n`; + } + conf += `\n[Peer]\nPublicKey = ${serverPublicKey}\nEndpoint = ${host}:${port}\nAllowedIPs = 0.0.0.0/0, ::/0\nPersistentKeepalive = ${keepalive}\n`; if (presharedKey) conf += `PresharedKey = ${presharedKey}\n`; @@ -3446,6 +3466,51 @@ function createServerContent(section, options = {}) { o.rmempty = true; o.depends("protocol", "awg"); + o = section.option( + form.ListValue, + "awg_version", + _("AmneziaWG Version"), + _("Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)"), + ); + o.modalonly = true; + o.rmempty = false; + o.default = "2.0"; + o.value("2.0", "AmneziaWG 2.0"); + o.value("3.0", "AmneziaWG 3.0"); + o.value("3.1", "AmneziaWG 3.1"); + o.depends("protocol", "awg"); + o.write = function (section_id, formvalue) { + if (formvalue === "2.0") { + uci.unset(UCI_PACKAGE, section_id, "awg_header_protection_key"); + uci.unset(UCI_PACKAGE, section_id, "awg_content_padding_addition"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_reject_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_keepalive_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_max_handshake_attempts"); + } else if (formvalue === "3.0") { + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_rekey_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_reject_after_time"); + uci.unset(UCI_PACKAGE, section_id, "awg_keepalive_timeout"); + uci.unset(UCI_PACKAGE, section_id, "awg_max_handshake_attempts"); + } + return uci.set(UCI_PACKAGE, section_id, "awg_version", formvalue); + }; + + const awgV3ParamNames = [ + "awg_header_protection_key", + "awg_content_padding_addition", + ]; + + const awgV31TimerNames = [ + "awg_rekey_after_time", + "awg_rekey_timeout", + "awg_reject_after_time", + "awg_keepalive_timeout", + "awg_max_handshake_attempts", + ]; + const awgParams = [ { name: "awg_jc", @@ -3567,6 +3632,48 @@ function createServerContent(section, options = {}) { desc: _("Init handshake timeout"), default: "", }, + { + name: "awg_header_protection_key", + title: _("Header Protection Key"), + desc: _("AmneziaWG 3.1 header protection key"), + default: "", + }, + { + name: "awg_content_padding_addition", + title: _("Content Padding Addition"), + desc: _("AmneziaWG 3.1 content padding range, e.g. 38-104"), + default: "", + }, + { + name: "awg_rekey_after_time", + title: _("Rekey After Time"), + desc: _("AmneziaWG 3.1 rekey after time"), + default: "", + }, + { + name: "awg_rekey_timeout", + title: _("Rekey Timeout"), + desc: _("AmneziaWG 3.1 rekey timeout"), + default: "", + }, + { + name: "awg_reject_after_time", + title: _("Reject After Time"), + desc: _("AmneziaWG 3.1 reject after time"), + default: "", + }, + { + name: "awg_keepalive_timeout", + title: _("Keepalive Timeout"), + desc: _("AmneziaWG 3.1 keepalive timeout"), + default: "", + }, + { + name: "awg_max_handshake_attempts", + title: _("Max Handshake Attempts"), + desc: _("AmneziaWG 3.1 max handshake attempts"), + default: "", + }, ]; awgParams.forEach((param) => { @@ -3574,7 +3681,14 @@ function createServerContent(section, options = {}) { opt.modalonly = true; opt.rmempty = true; if (param.default !== "") opt.default = param.default; - opt.depends("protocol", "awg"); + if (awgV31TimerNames.includes(param.name)) { + opt.depends({ protocol: "awg", awg_version: "3.1" }); + } else if (awgV3ParamNames.includes(param.name)) { + opt.depends({ protocol: "awg", awg_version: "3.0" }); + opt.depends({ protocol: "awg", awg_version: "3.1" }); + } else { + opt.depends("protocol", "awg"); + } }); } diff --git a/luci-app-tachyon/po/ru/tachyon.po b/luci-app-tachyon/po/ru/tachyon.po index 52495de3..97685a88 100644 --- a/luci-app-tachyon/po/ru/tachyon.po +++ b/luci-app-tachyon/po/ru/tachyon.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: TACHYON\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-01 21:58+0300\n" -"PO-Revision-Date: 2026-09-01 21:58+0300\n" +"POT-Creation-Date: 2026-09-05 10:59+0300\n" +"PO-Revision-Date: 2026-09-05 10:59+0300\n" "Last-Translator: Dushnilin\n" "Language-Team: none\n" "Language: ru\n" @@ -41,9 +41,15 @@ msgstr "+ Добавить стратегию" msgid "+ Add URLTest" msgstr "+ Добавить URLTest" +msgid "⏳ Stopping..." +msgstr "" + msgid "⚠️ Benchmark completed. No working bypass found for this target." msgstr "⚠️ Бенчмарк завершен. Не найдено рабочих стратегий для данной цели." +msgid "⚠️ Benchmark stopped" +msgstr "" + msgid "⚠️ If all Bootstrap DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss." msgstr "⚠️ Если все Bootstrap DNS завершатся с ошибкой 3 раза, запросы будут отправлены в DNS вашего провайдера в открытом виде. Используйте только в крайнем случае для предотвращения полной потери интернета." @@ -59,8 +65,8 @@ msgstr "⚡ Быстрые (>1 МБ/с)" msgid "⚡ QUIC / HTTP/3 (UDP 443)" msgstr "⚡ QUIC / HTTP/3 (UDP 443)" -msgid "⚡ Quick Benchmark (Presets ~12-14)" -msgstr "⚡ Быстрый бенчмарк (Пресеты ~12-14)" +msgid "⚡ Quick Benchmark (Presets ~30+)" +msgstr "" msgid "⚡ Strategy Fuzzer & Auto-Tuner" msgstr "⚡ Подборщик стратегий и авто-тюнер" @@ -92,8 +98,8 @@ msgstr "✘ Остановлено" msgid "🌐 Custom Target URL..." msgstr "🌐 Пользовательский URL цели..." -msgid "🎬 YouTube Suite (Web + 4K Stream)" -msgstr "🎬 YouTube Suite (Web + 4K Stream)" +msgid "🎬 YouTube Full Suite (Web + 4K Stream + CDN)" +msgstr "" msgid "🏆 Apply Best Match" msgstr "🏆 Применить наилучшую" @@ -101,8 +107,11 @@ msgstr "🏆 Применить наилучшую" msgid "🏴‍☠️ RuTracker Suite" msgstr "🏴‍☠️ RuTracker Suite" -msgid "💬 Discord Suite (API + WSS + CDN)" -msgstr "💬 Discord Suite (API + WSS + CDN)" +msgid "🐦 X / Twitter Suite (API + Media CDN)" +msgstr "" + +msgid "💬 Discord Suite (Gateway + Voice + CDN)" +msgstr "" msgid "💾 Save Custom Patterns" msgstr "💾 Сохранить пользовательские паттерны" @@ -116,12 +125,15 @@ msgstr "🔄 Обновить" msgid "🔄 Reset to Factory Defaults" msgstr "🔄 Сбросить к заводским настройкам" -msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)" -msgstr "🔍 Комбинаторный глубокий фаззинг (~40-80+)" +msgid "🔍 Combinatorial Deep Fuzzing (~150-300+)" +msgstr "" msgid "🗑️ Clear History" msgstr "🗑️ Очистить историю" +msgid "🤖 ChatGPT / OpenAI Suite" +msgstr "" + msgid "🧠 Synthesize with AI" msgstr "🧠 Сгенерировать через ИИ" @@ -134,12 +146,18 @@ msgstr "🚀 Инициализация бенчмарка в песочнице msgid "🚀 Start Benchmark" msgstr "🚀 Начать бенчмарк" +msgid "🛑 Benchmark stopped" +msgstr "" + msgid "🛑 Stop Benchmark" msgstr "🛑 Остановить бенчмарк" msgid "🛠️ My Custom Strategies Only" msgstr "🛠️ Только мои стратегии" +msgid "🟣 Twitch Suite (Live Stream + HLS CDN)" +msgstr "" + msgid "Accept external proxy connections and route them with sing-box." msgstr "Принимать внешние прокси-подключения и маршрутизировать их через sing-box." @@ -398,12 +416,36 @@ msgstr "Всегда блокировать эти домены для всех msgid "Always visible" msgstr "Всегда включено" +msgid "AmneziaWG 3.1 content padding range, e.g. 38-104" +msgstr "" + +msgid "AmneziaWG 3.1 header protection key" +msgstr "" + +msgid "AmneziaWG 3.1 keepalive timeout" +msgstr "" + +msgid "AmneziaWG 3.1 max handshake attempts" +msgstr "" + +msgid "AmneziaWG 3.1 reject after time" +msgstr "" + +msgid "AmneziaWG 3.1 rekey after time" +msgstr "" + +msgid "AmneziaWG 3.1 rekey timeout" +msgstr "" + msgid "AmneziaWG config loaded successfully!" msgstr "Конфигурация AmneziaWG успешно загружена!" msgid "AmneziaWG Generator" msgstr "Генератор AmneziaWG" +msgid "AmneziaWG Version" +msgstr "Версия AmneziaWG" + msgid "Anonymized support report copied to clipboard" msgstr "Анонимизированный отчет скопирован в буфер обмена" @@ -425,6 +467,9 @@ msgstr "Применено" msgid "Apply" msgstr "Применить" +msgid "Apply Recommended DNS" +msgstr "Применить рекомендованный DNS" + msgid "Apply rules of this section only to selected protocols." msgstr "Применять правила этой секции только к выбранным протоколам." @@ -500,6 +545,9 @@ msgstr "Авто-генерация HWID" msgid "Auto-Heal Network Stack" msgstr "Автолечение сетевого стека" +msgid "Auto-Tune & Benchmark DNS" +msgstr "Подобрать и протестировать DNS" + msgid "Auto-update Hosts Lists" msgstr "Автообновление списков Hosts" @@ -518,6 +566,9 @@ msgstr "Автоматический выбор User-Agent" msgid "Automatically add text to the name of each server from this subscription for convenient filtering." msgstr "Автоматически добавлять текст к имени каждого сервера из этой подписки для удобной фильтрации." +msgid "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration." +msgstr "Автоматически замерить задержку, потери пакетов и защиту от цензуры основных DNS серверов (UDP/DoH) прямо с роутера, чтобы найти и применить оптимальную конфигурацию." + msgid "Automatically check installed components for new versions" msgstr "Автоматически проверять установленные компоненты на наличие новых версий" @@ -563,9 +614,15 @@ msgstr "Беларусь (by)" msgid "Benchmark & Test" msgstr "Бенчмарк и тестирование" +msgid "Benchmark completed successfully" +msgstr "Бенчмарк успешно завершён" + msgid "Benchmark History" msgstr "История бенчмарков" +msgid "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP." +msgstr "Бенчмарк замеряет реальную задержку и надёжность резолва основных DNS серверов (UDP 53 и шифрованный DoH) напрямую с роутера, чтобы найти самый быстрый и незаблокированный апстрим у вашего провайдера." + msgid "Benchmark stopped" msgstr "Бенчмарк остановлен" @@ -899,6 +956,9 @@ msgstr "Строка аргументов командной строки..." msgid "Community Lists" msgstr "Community-списки" +msgid "Component action timed out" +msgstr "" + msgid "Component update available" msgstr "Доступно обновление компонента" @@ -929,6 +989,9 @@ msgstr "Путь к файлу конфигурации" msgid "Config Snapshots" msgstr "Снапшоты конфигурации" +msgid "Configuration applied" +msgstr "" + msgid "Configuration for Tachyon service" msgstr "Конфигурация сервиса Tachyon" @@ -962,6 +1025,9 @@ msgstr "Консультируюсь с базой знаний DPI и ИИ..." msgid "Content Mode" msgstr "Режим контента" +msgid "Content Padding Addition" +msgstr "" + msgid "Cookie packet junk size (S3)" msgstr "Размер мусора в пакете cookie (S3)" @@ -1163,6 +1229,9 @@ msgstr "Отображаемое имя" msgid "DNS" msgstr "DNS" +msgid "DNS Auto-Tuner & Benchmark" +msgstr "Автоподбор и бенчмарк DNS" + msgid "DNS Check Interval" msgstr "Интервал проверки DNS" @@ -1187,6 +1256,9 @@ msgstr "DNS через TLS (DoT)" msgid "DNS protocol" msgstr "Протокол DNS" +msgid "DNS Protocol" +msgstr "" + msgid "DNS Protocol Type" msgstr "Тип протокола DNS" @@ -1535,6 +1607,9 @@ msgstr "Ошибка обновления списков:" msgid "Every day" msgstr "Каждый день" +msgid "EXCELLENT" +msgstr "ОТЛИЧНО" + msgid "Exclude by proxy parameters" msgstr "Исключить по параметрам прокси" @@ -1577,6 +1652,9 @@ msgstr "Истекает" msgid "Expose this section as a local HTTP+SOCKS proxy" msgstr "Предоставить эту секцию как локальный HTTP+SOCKS прокси" +msgid "extended" +msgstr "" + msgid "External inbound proxy servers" msgstr "Внешние входящие прокси-серверы" @@ -1586,6 +1664,15 @@ msgstr "Внешние файлы конфигурации nfqws обходят msgid "External nfqws2 config files bypass Tachyon queue management and explicit validation." msgstr "Внешние файлы конфигурации nfqws2 обходят управление очередями Tachyon и явную проверку." +msgid "FAILED" +msgstr "СБОЙ" + +msgid "Failed to apply DNS configuration" +msgstr "" + +msgid "Failed to apply DNS settings" +msgstr "Не удалось применить настройки DNS" + msgid "Failed to apply fix" msgstr "Не удалось применить исправление" @@ -1622,12 +1709,18 @@ msgstr "Не удалось определить тип DPI" msgid "Failed to execute" msgstr "Не удалось выполнить" +msgid "Failed to fetch releases" +msgstr "" + msgid "Failed to generate bug report" msgstr "Не удалось создать отчёт об ошибке" msgid "Failed to generate WARP config:" msgstr "Не удалось сгенерировать конфигурацию WARP:" +msgid "Failed to get DNS benchmark status" +msgstr "" + msgid "Failed to get fuzzer history" msgstr "Не удалось получить историю фаззера" @@ -1640,12 +1733,18 @@ msgstr "Не удалось получить статус фаззера" msgid "Failed to get fuzzer strategies" msgstr "Не удалось получить стратегии фаззера" +msgid "Failed to install version" +msgstr "" + msgid "Failed to load history" msgstr "Не удалось загрузить историю" msgid "Failed to load snapshots" msgstr "Не удалось загрузить снапшоты" +msgid "Failed to load versions" +msgstr "Не удалось загрузить версии" + msgid "Failed to parse file:" msgstr "Ошибка разбора файла:" @@ -1691,6 +1790,9 @@ msgstr "Не удалось запустить бенчмарк" msgid "Failed to start bot" msgstr "Не удалось запустить бота" +msgid "Failed to start DNS benchmark" +msgstr "" + msgid "Failed to start fuzzer" msgstr "Не удалось запустить фаззер" @@ -1703,6 +1805,9 @@ msgstr "Не удалось запустить watchdog" msgid "Failed to stop bot" msgstr "Не удалось остановить бота" +msgid "Failed to stop DNS benchmark" +msgstr "" + msgid "Failed to stop fuzzer" msgstr "Не удалось остановить фаззер" @@ -1724,6 +1829,9 @@ msgstr "Не удалось обновить подписки" msgid "Failover failure threshold" msgstr "Порог срабатывания failover" +msgid "FAIR" +msgstr "СРЕДНЕ" + msgid "FakeIP and control checks use different public IPs" msgstr "FakeIP и контрольная проверка используют разные публичные IP" @@ -1736,6 +1844,9 @@ msgstr "FakeIP работает; сравнение публичных IP не msgid "FakeTLS host" msgstr "FakeTLS host" +msgid "Fallback DNS" +msgstr "" + msgid "Fallback DNS Servers" msgstr "Резервные DNS серверы" @@ -1748,75 +1859,6 @@ msgstr "Резервные DNS серверы должны быть обычны msgid "Fallback on unknown DC" msgstr "Fallback при неизвестном DC" -msgid "DNS Auto-Tuner & Benchmark" -msgstr "Автоподбор и бенчмарк DNS" - -msgid "Auto-Tune & Benchmark DNS" -msgstr "Подобрать и протестировать DNS" - -msgid "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration." -msgstr "Автоматически замерить задержку, потери пакетов и защиту от цензуры основных DNS серверов (UDP/DoH) прямо с роутера, чтобы найти и применить оптимальную конфигурацию." - -msgid "Tachyon DNS Benchmark & Auto-Tuning" -msgstr "Tachyon: Бенчмарк и автоподбор DNS" - -msgid "Ready to benchmark DNS providers" -msgstr "Готов к тестированию DNS провайдеров" - -msgid "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP." -msgstr "Бенчмарк замеряет реальную задержку и надёжность резолва основных DNS серверов (UDP 53 и шифрованный DoH) напрямую с роутера, чтобы найти самый быстрый и незаблокированный апстрим у вашего провайдера." - -msgid "Start Benchmark" -msgstr "Начать тест" - -msgid "Starting DNS benchmark..." -msgstr "Запуск бенчмарка DNS..." - -msgid "Benchmark completed successfully" -msgstr "Бенчмарк успешно завершён" - -msgid "Apply Recommended DNS" -msgstr "Применить рекомендованный DNS" - -msgid "Recommended DNS Configuration" -msgstr "Рекомендованная конфигурация DNS" - -msgid "Recommended DNS settings applied successfully and service restarted!" -msgstr "Рекомендованные настройки DNS успешно применены, сервис перезапущен!" - -msgid "Failed to start benchmark" -msgstr "Не удалось запустить бенчмарк" - -msgid "Failed to apply DNS settings" -msgstr "Не удалось применить настройки DNS" - -msgid "No benchmark data yet. Click \"Start Benchmark\" to begin." -msgstr "Нет данных бенчмарка. Нажмите «Начать тест», чтобы запустить проверку." - -msgid "EXCELLENT" -msgstr "ОТЛИЧНО" - -msgid "GOOD" -msgstr "ХОРОШО" - -msgid "FAIR" -msgstr "СРЕДНЕ" - -msgid "SLOW" -msgstr "МЕДЛЕННО" - -msgid "FAILED" -msgstr "СБОЙ" - -msgid "Protocol" -msgstr "Протокол" - -msgid "Rating" -msgstr "Оценка" - -msgid "Loss" -msgstr "Потери" - msgid "Family (🏠)" msgstr "Семья (🏠)" @@ -1847,6 +1889,9 @@ msgstr "Фильтровать серверы, отображаемые на д msgid "Filter:" msgstr "Фильтр:" +msgid "Finished with code" +msgstr "" + msgid "Finland (fi)" msgstr "Финляндия (fi)" @@ -1886,6 +1931,9 @@ msgstr "Принудительно включает безопасный пои msgid "Forces sing-box to tunnel DNS requests via DoQ with Encrypted Client Hello (ECH) for SNI hiding." msgstr "Принудительно направлять DNS-запросы через DoQ с Encrypted Client Hello (ECH) для скрытия SNI." +msgid "Found" +msgstr "" + msgid "France (fr)" msgstr "Франция (fr)" @@ -1973,6 +2021,9 @@ msgstr "Не удалось выполнить глобальную провер msgid "Global Default" msgstr "Глобально по умолчанию" +msgid "GOOD" +msgstr "ХОРОШО" + msgid "Group devices into family profiles to manage content filtering, SafeSearch, and screen time limits in one place." msgstr "Группируйте устройства в семейные профили для централизованного управления фильтрацией сайтов, безопасным поиском и лимитами экранного времени." @@ -1982,6 +2033,9 @@ msgstr "Сервис gRPC" msgid "Handshake timeout" msgstr "Таймаут рукопожатия" +msgid "Header Protection Key" +msgstr "" + msgid "Hello! I am Tachyon AI Assistant. How can I help you today? Ask me about domain blocks, diagnostics, or router settings." msgstr "Привет! Я ИИ-ассистент Tachyon. Чем могу помочь? Задайте вопрос о блокировках, диагностике или настройках роутера." @@ -2033,6 +2087,9 @@ msgstr "Скрыть узлы групп URLTest" msgid "Hide values" msgstr "Скрывать значения" +msgid "Hide versions" +msgstr "Скрыть версии" + msgid "Higher-level check interval" msgstr "Интервал проверки высших уровней" @@ -2534,6 +2591,9 @@ msgstr "Сохранять предыдущую рабочую версию ко msgid "Keep URLTest before latency-sorted servers" msgstr "Сохранять URLTest перед серверами, отсортированными по задержке" +msgid "Keepalive Timeout" +msgstr "" + msgid "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms." msgstr "Сохраняет FakeIP-кэш между перезагрузками и заранее резолвит популярные заблокированные домены при старте — задержка при первом визите 0 мс." @@ -2555,6 +2615,9 @@ msgstr "Язык ответов диагностики ИИ-доктора" msgid "Laptop / PC (💻)" msgstr "Ноутбук / ПК (💻)" +msgid "Latency" +msgstr "" + msgid "Latency test failed" msgstr "Проверка задержки не удалась" @@ -2627,6 +2690,9 @@ msgstr "Загрузка подключений" msgid "Loading service list..." msgstr "Получение списка сервисов..." +msgid "Loading versions..." +msgstr "Загрузка версий..." + msgid "Loading..." msgstr "Загрузка..." @@ -2636,6 +2702,9 @@ msgstr "Локальный адрес" msgid "Log Level" msgstr "Уровень логирования" +msgid "Loss" +msgstr "Потери" + msgid "LuCI Web UI" msgstr "Веб-интерфейс LuCI" @@ -2681,6 +2750,9 @@ msgstr "Совпадение найдено" msgid "Match traffic by packet DSCP mark (assigned in Windows via Policy-Based QoS). Examples: 46 (EF), 0x2e, 34 (AF41)" msgstr "Сопоставлять трафик по DSCP-метке пакета (назначается в Windows через Policy-Based QoS). Примеры: 46 (EF), 0x2e, 34 (AF41)" +msgid "Max Handshake Attempts" +msgstr "" + msgid "Max reconnects per hour before alert (default 10)." msgstr "Макс. переподключений в час до оповещения (по умолчанию 10)." @@ -2828,6 +2900,9 @@ msgstr "Активные устройства в локальной сети н msgid "No active routing sections found." msgstr "Активные секции маршрутизации не найдены." +msgid "No benchmark data yet. Click \"Start Benchmark\" to begin." +msgstr "Нет данных бенчмарка. Нажмите «Начать тест», чтобы запустить проверку." + msgid "No benchmark history yet. Run a benchmark to see results here." msgstr "История бенчмарков пуста. Запустите бенчмарк, чтобы увидеть результаты здесь." @@ -2900,6 +2975,12 @@ msgstr "Снапшотов пока нет" msgid "No strategies match the active filter." msgstr "Нет стратегий, соответствующих выбранному фильтру." +msgid "No versions found" +msgstr "Версии не найдены" + +msgid "No working strategy to apply" +msgstr "" + msgid "Node list is empty" msgstr "Список узлов пуст" @@ -3239,6 +3320,9 @@ msgstr "Предварительно собранный индекс фрагм msgid "Pre-download all preset lists" msgstr "Предзагрузить все предустановленные списки" +msgid "pre-release" +msgstr "пре-релиз" + msgid "Pre-shared key" msgstr "Предварительный общий ключ" @@ -3266,6 +3350,9 @@ msgstr "Предварительный общий ключ" msgid "Prevents multiple reload_firewall calls within 120 seconds to avoid connection drops." msgstr "Предотвращает множественные вызовы reload_firewall в течение 120 секунд для избежания разрыва соединений." +msgid "Primary DNS" +msgstr "" + msgid "Priority" msgstr "Приоритет" @@ -3308,6 +3395,12 @@ msgstr "Защита" msgid "Protocol" msgstr "Протокол" +msgid "Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)" +msgstr "" + +msgid "Provider" +msgstr "" + msgid "Provider Global Default" msgstr "Глобальные настройки провайдера" @@ -3350,12 +3443,18 @@ msgstr "QUIC (HTTP/3)" msgid "RAG Knowledge Base + Live ISP Probe Context" msgstr "База знаний RAG + результаты живого зондирования провайдера" +msgid "Rating" +msgstr "Оценка" + msgid "RDP" msgstr "RDP" msgid "Read error" msgstr "Ошибка чтения" +msgid "Ready to benchmark DNS providers" +msgstr "Готов к тестированию DNS провайдеров" + msgid "Reality fake site" msgstr "Фейковый сайт Reality" @@ -3386,6 +3485,12 @@ msgstr "Пересобранный релиз" msgid "Recommended" msgstr "Рекомендовано" +msgid "Recommended DNS Configuration" +msgstr "Рекомендованная конфигурация DNS" + +msgid "Recommended DNS settings applied successfully and service restarted!" +msgstr "Рекомендованные настройки DNS успешно применены, сервис перезапущен!" + msgid "Recommended Quick Fixes:" msgstr "Рекомендуемые исправления:" @@ -3419,6 +3524,15 @@ msgstr "Регулярное выражение не должно содержа msgid "Reinstall" msgstr "Переустановить" +msgid "Reject After Time" +msgstr "" + +msgid "Rekey After Time" +msgstr "" + +msgid "Rekey Timeout" +msgstr "" + msgid "Reload now" msgstr "Перезагрузить сейчас" @@ -3938,9 +4052,6 @@ msgstr "Сервисы и доступ" msgid "Services are online and ready! Reloading page..." msgstr "Службы запущены и готовы к работе! Перезагрузка страницы..." -msgid "Services are online, waiting for full initialization..." -msgstr "Сервисы запущены, ожидание полной инициализации..." - msgid "Services info" msgstr "Информация о сервисах" @@ -4037,6 +4148,9 @@ msgstr "Пропущены комментарии/невалидные:" msgid "Skipped loopback:" msgstr "Пропущены loopback:" +msgid "SLOW" +msgstr "МЕДЛЕННО" + msgid "Snapshot name" msgstr "Имя снапшота" @@ -4136,6 +4250,9 @@ msgstr "Стандартный" msgid "Start" msgstr "Старт" +msgid "Start Benchmark" +msgstr "Начать тест" + msgid "Start bot" msgstr "Запустить бота" @@ -4151,6 +4268,9 @@ msgstr "Время начала (ЧЧ:ММ)" msgid "Start watchdog" msgstr "Запустить watchdog" +msgid "Starting DNS benchmark..." +msgstr "Запуск бенчмарка DNS..." + msgid "Starting…" msgstr "Запуск…" @@ -4235,6 +4355,9 @@ msgstr "Успех" msgid "Successfully imported %d DNS record(s)" msgstr "Успешно импортировано %d DNS-записей" +msgid "Successfully updated %d hosts entries" +msgstr "" + msgid "Sun" msgstr "Вс" @@ -4268,9 +4391,15 @@ msgstr "Порядок и видимость вкладок" msgid "Table exist" msgstr "Таблица существует" +msgid "Tachyon" +msgstr "" + msgid "Tachyon Core" msgstr "Ядро Tachyon" +msgid "Tachyon DNS Benchmark & Auto-Tuning" +msgstr "Tachyon: Бенчмарк и автоподбор DNS" + msgid "Tachyon Error" msgstr "Ошибка Tachyon" @@ -4409,6 +4538,9 @@ msgstr "Тестировать серверы, чьи имена соответ msgid "Test Telegram Connection" msgstr "Проверить подключение к Telegram" +msgid "Testing" +msgstr "" + msgid "Testing bypass strategies in isolated sandbox..." msgstr "Тестирование стратегий обхода в изолированной песочнице..." @@ -4502,6 +4634,9 @@ msgstr "Время суток для запуска планового обно msgid "Time skew tolerance" msgstr "Допуск отклонения времени" +msgid "Timeout" +msgstr "" + msgid "tiny" msgstr "tiny" @@ -4727,6 +4862,9 @@ msgstr "Хранится до 10 снапшотов; самые старые у msgid "Update" msgstr "Обновить" +msgid "Update failed:" +msgstr "" + msgid "Update is available" msgstr "Доступно обновление" @@ -4739,6 +4877,9 @@ msgstr "Доступна новая версия:" msgid "Update lists now" msgstr "Обновить списки сейчас" +msgid "Update Lists Now" +msgstr "" + msgid "Update subscriptions" msgstr "Обновить подписки" @@ -4760,6 +4901,9 @@ msgstr "Обновление режима маршрутизации устро msgid "Updating lists..." msgstr "Обновление списков..." +msgid "Updating…" +msgstr "" + msgid "Uplink" msgstr "Исходящий" @@ -4889,6 +5033,9 @@ msgstr "Значение не должно содержать символы у msgid "Verifying router and service readiness..." msgstr "Проверка готовности роутера и служб..." +msgid "Versions" +msgstr "Версии" + msgid "Via country.is" msgstr "Через country.is" @@ -4925,9 +5072,6 @@ msgstr "Токен доступа WARP" msgid "WARP Account ID" msgstr "ID аккаунта WARP" -msgid "WARP Configuration generated and loaded successfully!" -msgstr "Конфигурация WARP успешно сгенерирована и загружена!" - msgid "WARP Generator Proxy Section" msgstr "Секция прокси для генератора WARP" @@ -4973,6 +5117,9 @@ msgstr "Приватный ключ WireGuard из вашего аккаунта msgid "Working" msgstr "Рабочих" +msgid "working strategies" +msgstr "" + msgid "XHTTP mode" msgstr "Режим XHTTP" @@ -5039,6 +5186,24 @@ msgstr "sing-box outbound для Zapret2 настроен" msgid "Zapret2 sing-box outbound is not configured" msgstr "sing-box outbound для Zapret2 не настроен" +msgid "⚡ Quick Benchmark (Presets ~12-14)" +msgstr "⚡ Быстрый бенчмарк (Пресеты ~12-14)" + +msgid "🎬 YouTube Suite (Web + 4K Stream)" +msgstr "🎬 YouTube Suite (Web + 4K Stream)" + +msgid "💬 Discord Suite (API + WSS + CDN)" +msgstr "💬 Discord Suite (API + WSS + CDN)" + +msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)" +msgstr "🔍 Комбинаторный глубокий фаззинг (~40-80+)" + +msgid "Services are online, waiting for full initialization..." +msgstr "Сервисы запущены, ожидание полной инициализации..." + +msgid "WARP Configuration generated and loaded successfully!" +msgstr "Конфигурация WARP успешно сгенерирована и загружена!" + msgid "⏹ Stop" msgstr "⏹ Стоп" @@ -5726,18 +5891,6 @@ msgstr "CleanBrowsing (Семейный)" msgid "Yandex Safe" msgstr "Yandex (Безопасный)" -msgid "Versions" -msgstr "Версии" - -msgid "Loading versions..." -msgstr "Загрузка версий..." - -msgid "No versions found" -msgstr "Версии не найдены" - -msgid "Failed to load versions" -msgstr "Не удалось загрузить версии" - msgid "Installing " msgstr "Установка " @@ -5750,5 +5903,26 @@ msgstr "Ошибка установки: " msgid "Installed " msgstr "Установлено " -msgid "pre-release" -msgstr "пре-релиз" +msgid "AmneziaWG 2.0" +msgstr "AmneziaWG 2.0" + +msgid "AmneziaWG 3.0" +msgstr "AmneziaWG 3.0" + +msgid "AmneziaWG 3.1" +msgstr "AmneziaWG 3.1" + +msgid "Protocol version: 2.0 (standard headers, WARP compatible), 3.0 (header protection key, padding ranges), or 3.1 (header protection key, padding ranges, advanced timers)" +msgstr "Версия протокола: 2.0 (стандартные заголовки, совместимо с WARP), 3.0 (ключ защиты заголовков, диапазоны паддинга), или 3.1 (ключ защиты заголовков, диапазоны паддинга, расширенные таймеры)" + +msgid "AmneziaWG %s configuration generated and loaded successfully!" +msgstr "Конфигурация AmneziaWG %s успешно сгенерирована и загружена!" + +msgid "Notice: Cloudflare WARP edge servers only support AmneziaWG 2.0 (standard headers). For Cloudflare WARP, select version 2.0. Versions 3.0 and 3.1 are intended for dedicated AmneziaWG servers." +msgstr "Обратите внимание: серверы Cloudflare WARP поддерживают только AmneziaWG 2.0 (стандартные заголовки). Для Cloudflare WARP выберите версию 2.0. Версии 3.0 и 3.1 предназначены для выделенных серверов AmneziaWG." + +msgid "AmneziaWG 3.0 / 3.1 header protection key" +msgstr "Ключ защиты заголовков AmneziaWG 3.0 / 3.1" + +msgid "AmneziaWG 3.0 / 3.1 content padding range, e.g. 38-104" +msgstr "Диапазон дополнительного паддинга контента AmneziaWG 3.0 / 3.1, например 38-104" diff --git a/luci-app-tachyon/po/templates/tachyon.pot b/luci-app-tachyon/po/templates/tachyon.pot index e2728753..0a36987c 100644 --- a/luci-app-tachyon/po/templates/tachyon.pot +++ b/luci-app-tachyon/po/templates/tachyon.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: TACHYON\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-01 18:58+0300\n" -"PO-Revision-Date: 2026-09-01 18:58+0300\n" +"POT-Creation-Date: 2026-09-05 07:59+0300\n" +"PO-Revision-Date: 2026-09-05 07:59+0300\n" "Last-Translator: Dushnilin \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -28,15 +28,15 @@ msgstr "" msgid "-- Select --" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11250 msgid ".lst Lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2495 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2519 msgid "(provider default)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9391 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9667 msgid "+ Add JSON outbound" msgstr "" @@ -44,199 +44,237 @@ msgstr "" msgid "+ Add level" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9477 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9753 msgid "+ Add priority" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13818 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13038 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:862 msgid "+ Add Strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9694 msgid "+ Add URLTest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14322 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1393 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13682 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1612 +msgid "⏳ Stopping..." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13543 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1446 msgid "⚠️ Benchmark completed. No working bypass found for this target." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1457 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13543 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1445 +msgid "⚠️ Benchmark stopped" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1481 msgid "⚠️ If all Bootstrap DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1446 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1470 msgid "⚠️ If all Main DNS fail 3 times, queries will be sent to your ISP's DNS in plaintext. Only use as a last resort to prevent complete internet loss." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11843 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11148 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:162 msgid "⚡ DPI Strategy Fuzzer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13437 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:429 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12669 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:440 msgid "⚡ Fast (>1MB/s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13224 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:198 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12469 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:209 msgid "⚡ QUIC / HTTP/3 (UDP 443)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13262 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:243 -msgid "⚡ Quick Benchmark (Presets ~12-14)" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12506 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:254 +msgid "⚡ Quick Benchmark (Presets ~30+)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14654 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1772 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13874 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1843 msgid "⚡ Strategy Fuzzer & Auto-Tuner" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14369 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1451 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13595 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1513 msgid "✅ Auto-applied best strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14321 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1392 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13538 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1439 msgid "✅ Benchmark completed! Optimal strategy identified." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13428 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12660 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:431 msgid "✅ Working only" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13217 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:195 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12466 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:206 msgid "✈️ Telegram Suite (Web + Bot API)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9209 -#: src/tachyon/tabs/dashboard/initController.ts:1941 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8750 +#: src/tachyon/tabs/dashboard/initController.ts:1969 msgid "✔ Online" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9162 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9171 -#: src/tachyon/tabs/dashboard/initController.ts:1891 -#: src/tachyon/tabs/dashboard/initController.ts:1900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8696 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8712 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8712 +#: src/tachyon/tabs/dashboard/initController.ts:1899 +#: src/tachyon/tabs/dashboard/initController.ts:1910 +#: src/tachyon/tabs/dashboard/initController.ts:1911 +#: src/tachyon/tabs/dashboard/initController.ts:1925 +#: src/tachyon/tabs/dashboard/initController.ts:1926 msgid "✔ Running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9209 -#: src/tachyon/tabs/dashboard/initController.ts:1941 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8750 +#: src/tachyon/tabs/dashboard/initController.ts:1969 msgid "✘ Offline" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9162 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9171 -#: src/tachyon/tabs/dashboard/initController.ts:1891 -#: src/tachyon/tabs/dashboard/initController.ts:1900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8696 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8703 +#: src/tachyon/tabs/dashboard/initController.ts:1899 +#: src/tachyon/tabs/dashboard/initController.ts:1912 msgid "✘ Stopped" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13225 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:199 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12470 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:210 msgid "🌐 Custom Target URL..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12440 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:180 -msgid "🎬 YouTube Suite (Web + 4K Stream)" +msgid "🎬 YouTube Full Suite (Web + 4K Stream + CDN)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13393 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:383 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12626 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:394 msgid "🏆 Apply Best Match" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13222 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12468 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:208 msgid "🏴‍☠️ RuTracker Suite" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13207 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:185 -msgid "💬 Discord Suite (API + WSS + CDN)" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12455 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:195 +msgid "🐦 X / Twitter Suite (API + Media CDN)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13763 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:788 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12445 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:185 +msgid "💬 Discord Suite (Gateway + Voice + CDN)" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12984 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:799 msgid "💾 Save Custom Patterns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13212 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:190 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12461 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:201 msgid "📸 Instagram / Meta (Web + CDN)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14067 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1117 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13269 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1128 msgid "🔄 Refresh" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13776 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:801 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12996 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:812 msgid "🔄 Reset to Factory Defaults" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13267 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:248 -msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12511 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:259 +msgid "🔍 Combinatorial Deep Fuzzing (~150-300+)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14072 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13274 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1133 msgid "🗑️ Clear History" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13980 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14589 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1025 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1697 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12457 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:197 +msgid "🤖 ChatGPT / OpenAI Suite" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13191 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13813 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1036 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1762 msgid "🧠 Synthesize with AI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14544 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1643 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13768 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1708 msgid "🧠 Synthesizing..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14476 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1569 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13701 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1634 msgid "🚀 Initializing benchmark in sandbox..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13523 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14359 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14537 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:527 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1439 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1635 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12752 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13576 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13761 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:538 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1485 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1700 msgid "🚀 Start Benchmark" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14466 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14570 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1557 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1676 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437 +msgid "🛑 Benchmark stopped" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13571 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13794 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1480 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1622 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1741 msgid "🛑 Stop Benchmark" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13272 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12513 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:261 msgid "🛠️ My Custom Strategies Only" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12450 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:190 +msgid "🟣 Twitch Suite (Live Stream + HLS CDN)" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:527 msgid "Accept external proxy connections and route them with sing-box." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3316 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3334 msgid "Accept routes" msgstr "" @@ -244,12 +282,12 @@ msgstr "" msgid "Access schedule and screen time limits" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7300 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7329 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7306 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7335 msgid "Action" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10184 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9722 #: src/tachyon/helpers/notifyActionFailure.ts:40 msgid "Action failed" msgstr "" @@ -258,19 +296,19 @@ msgstr "" msgid "Action Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13498 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13888 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:499 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:926 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12727 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13104 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:510 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:937 msgid "Actions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8508 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17519 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18132 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8094 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16803 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17388 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:464 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:470 -#: src/tachyon/tabs/dashboard/initController.ts:1127 +#: src/tachyon/tabs/dashboard/initController.ts:1130 #: src/tachyon/tabs/monitoring/initController.ts:722 #: src/tachyon/tabs/monitoring/render.ts:20 msgid "Active" @@ -286,29 +324,29 @@ msgstr "" msgid "Active (Blocking)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10303 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9817 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:56 msgid "Active Bootstrap DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3019 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3093 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2904 #: src/tachyon/tabs/dashboard/partials/renderConnections.ts:50 #: src/tachyon/tabs/dashboard/partials/renderConnections.ts:126 msgid "Active Clients" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9148 -#: src/tachyon/tabs/dashboard/initController.ts:1876 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8681 +#: src/tachyon/tabs/dashboard/initController.ts:1883 msgid "Active Connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9824 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:67 msgid "Active Main DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12255 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11554 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:245 msgid "Active routes" msgstr "" @@ -335,8 +373,8 @@ msgstr "" msgid "Add at least one DNS server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13854 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:891 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13072 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:902 msgid "Add Custom DPI Strategy" msgstr "" @@ -344,19 +382,19 @@ msgstr "" msgid "Add prefix to nodes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9979 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10256 msgid "Add URLs or local paths to .lst lists containing domains and subnets." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10003 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10280 msgid "Add URLs or local paths to .lst lists containing domains. IP entries are ignored." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10231 msgid "Add URLs or local paths to .srs / .json lists. Only domain rules are supported." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9925 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10202 msgid "Add URLs or local paths to .srs / .json lists. Subnets are ignored by default." msgstr "" @@ -368,7 +406,7 @@ msgstr "" msgid "Additional Individual Devices (IP / MAC)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10159 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:106 msgid "Additional marking rules found" msgstr "" @@ -391,11 +429,13 @@ msgstr "" msgid "Additionally show servers by protocol, transport, and security. Add only servers matching the specified parameters." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1714 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13950 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1732 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:45 msgid "Address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3029 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3053 msgid "Administrator Chat IDs" msgstr "" @@ -407,15 +447,15 @@ msgstr "" msgid "Advanced System" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3299 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3317 msgid "Advertise exit node" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3309 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3327 msgid "Advertise routes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9390 msgid "AEAD Method" msgstr "" @@ -423,99 +463,99 @@ msgstr "" msgid "AI & Watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2446 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2470 msgid "AI Agent REST API Bearer Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2513 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2537 msgid "AI API Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13052 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12298 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:235 msgid "AI Chat & Tachyon Assistant" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11833 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11138 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:152 msgid "AI Chat Assistant" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14000 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1046 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13209 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1057 msgid "AI Diagnostics & Strategy Rationale" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16634 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15963 #: src/tachyon/tabs/diagnostic/initController.ts:1563 msgid "AI Doctor Diagnosis" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15943 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16638 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16646 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15424 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15966 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15974 #: src/tachyon/tabs/diagnostic/initController.ts:857 #: src/tachyon/tabs/diagnostic/initController.ts:1569 #: src/tachyon/tabs/diagnostic/initController.ts:1577 msgid "AI Doctor failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2501 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2525 msgid "AI Doctor Language" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13130 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12373 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:95 msgid "AI Doctor RAG" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14027 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1071 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13231 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1082 msgid "AI DPI Engineer & Strategy Synthesizer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2488 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2512 msgid "AI Model" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2471 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2495 msgid "AI Provider" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12970 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12225 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:151 msgid "AI service error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14560 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1662 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13784 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1727 msgid "AI successfully synthesized custom strategies!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14583 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13807 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1756 msgid "AI Synthesis Error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14582 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13806 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1755 msgid "AI synthesis failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13419 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17539 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17353 #: src/tachyon/tabs/monitoring/initController.ts:681 #: src/tachyon/tabs/monitoring/render.ts:40 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:411 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:422 msgid "All" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3247 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3271 msgid "All checks passed — Telegram bot should work correctly" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2108 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2132 msgid "All components" msgstr "" @@ -524,7 +564,7 @@ msgstr "" msgid "All devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13177 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12415 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:151 msgid "All Engines (Full Matrix)" msgstr "" @@ -554,8 +594,8 @@ msgstr "" msgid "All remaining servers means every server not already assigned to a higher-priority level." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17548 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18077 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16830 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17326 #: src/tachyon/tabs/monitoring/initController.ts:644 #: src/tachyon/tabs/monitoring/render.ts:49 msgid "All Routes" @@ -565,14 +605,14 @@ msgstr "" msgid "All servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12266 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12378 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11563 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11666 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:257 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:376 msgid "All services" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10035 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10312 msgid "All traffic from these IP addresses will be routed through the section unconditionally, ignoring all other conditions." msgstr "" @@ -585,7 +625,7 @@ msgstr "" msgid "Allow in interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8960 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9236 msgid "Allow Insecure TLS" msgstr "" @@ -605,7 +645,7 @@ msgstr "" msgid "Allowed domain prefixes are full:, keyword:, and regex:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1785 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1809 msgid "Allows access to YACD from the WAN. Make sure to open the appropriate port in your firewall." msgstr "" @@ -613,15 +653,15 @@ msgstr "" msgid "Allows limiting the list of servers for URLTest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2460 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2484 msgid "Allows Tachyon to send diagnostic snapshots to ChatGPT or DeepSeek API for intelligent root-cause analysis and auto-repair recommendations." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2828 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2846 msgid "ALPN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3062 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3080 msgid "Alter ID" msgstr "" @@ -634,21 +674,61 @@ msgstr "" msgid "Always visible" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3632 +msgid "AmneziaWG 3.1 content padding range, e.g. 38-104" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3626 +msgid "AmneziaWG 3.1 header protection key" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3656 +msgid "AmneziaWG 3.1 keepalive timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3662 +msgid "AmneziaWG 3.1 max handshake attempts" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3650 +msgid "AmneziaWG 3.1 reject after time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9124 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3638 +msgid "AmneziaWG 3.1 rekey after time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9125 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3644 +msgid "AmneziaWG 3.1 rekey timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8939 msgid "AmneziaWG config loaded successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8438 msgid "AmneziaWG Generator" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16041 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9047 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3470 +msgid "AmneziaWG Version" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15499 #: src/tachyon/tabs/diagnostic/initController.ts:970 msgid "Anonymized support report copied to clipboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20842 -#: src/tachyon/tabs/updates/initController.ts:906 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20029 +#: src/tachyon/tabs/updates/initController.ts:928 msgid "Another component action is already running" msgstr "" @@ -660,30 +740,37 @@ msgstr "" msgid "Anti-Bypass: Block Private DNS / DoH / DoT" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2538 msgid "API Key for OpenAI (sk-...) or DeepSeek (optional for Ollama / LM Studio)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14600 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13824 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1774 msgid "Applied" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14287 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1353 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13500 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1394 msgid "Apply" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10095 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14156 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14246 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:279 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:379 +msgid "Apply Recommended DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10372 msgid "Apply rules of this section only to selected protocols." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10026 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10303 msgid "Apply section rules only to the specified local IP addresses" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13309 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:291 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12549 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:302 msgid "Apply Strategy To" msgstr "" @@ -691,22 +778,24 @@ msgstr "" msgid "Apply this schedule rule to all devices in the selected family profile(s)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15629 #: src/tachyon/tabs/diagnostic/initController.ts:1181 msgid "Applying fix" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16254 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14221 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15627 #: src/tachyon/tabs/diagnostic/initController.ts:1179 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:353 msgid "Applying..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13882 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13098 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:931 msgid "Arguments" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12889 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12149 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:60 msgid "Ask Tachyon AI Assistant a question..." msgstr "" @@ -715,7 +804,7 @@ msgstr "" msgid "Assigned Devices (MAC / IP)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3040 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3064 msgid "At least one Admin Chat ID is required" msgstr "" @@ -727,60 +816,60 @@ msgstr "" msgid "At least one valid IP or subnet must be specified." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9488 msgid "Auth Digest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2449 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8316 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8714 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12072 -#: src/tachyon/tabs/dashboard/initController.ts:923 -#: src/tachyon/tabs/dashboard/initController.ts:1355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8274 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11381 +#: src/tachyon/tabs/dashboard/initController.ts:926 +#: src/tachyon/tabs/dashboard/initController.ts:1358 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:452 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:35 msgid "Auto" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13736 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:760 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12958 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:771 msgid "Auto Modes (--auto)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10967 #: src/partials/modal/renderModal.ts:286 msgid "Auto refresh" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3219 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3237 msgid "Auto update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13336 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12574 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:332 msgid "Auto-apply best strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14374 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14379 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1456 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1461 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13600 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13605 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1518 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1523 msgid "Auto-apply failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2820 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2844 msgid "Auto-detected domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9850 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10126 msgid "Auto-detected Domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2778 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2802 msgid "Auto-detects blocked domains from logs and adds them to the first section where they work via proxy." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2206 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2230 msgid "Auto-failover of proxy sections" msgstr "" @@ -788,24 +877,28 @@ msgstr "" msgid "Auto-generate HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16167 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15557 #: src/tachyon/tabs/diagnostic/initController.ts:1094 msgid "Auto-Heal Network Stack" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1338 +msgid "Auto-Tune & Benchmark DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8387 msgid "Auto-update Hosts Lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2065 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2089 msgid "Auto-update mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2008 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2032 msgid "Automatic component update checks" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2054 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2078 msgid "Automatic component updates" msgstr "" @@ -817,50 +910,54 @@ msgstr "" msgid "Automatically add text to the name of each server from this subscription for convenient filtering." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2009 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1334 +msgid "Automatically benchmark latency, packet loss, and anti-censorship reliability of major DNS servers (UDP/DoH) from this router to find and apply the optimal configuration." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2033 msgid "Automatically check installed components for new versions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2055 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2079 msgid "Automatically download and install new versions of components" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8356 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8439 msgid "Automatically generate a Cloudflare WARP account and configure all AmneziaWG settings." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2737 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2761 msgid "Automatically increase check intervals when healthy (to 5 min) and decrease on problems (to 120s)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14039 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1082 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13242 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1093 msgid "Automatically runs a diagnostic probe against the target service, queries the built-in DPI Knowledge Base, and synthesizes 3-5 custom bypass strategies tailored to your ISP." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8804 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8354 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3215 -#: src/tachyon/tabs/dashboard/initController.ts:1458 +#: src/tachyon/tabs/dashboard/initController.ts:1461 msgid "Automatically select the fastest node in the current level" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8388 msgid "Automatically update remote hosts lists on schedule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12148 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11451 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11641 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:125 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:346 msgid "Available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11739 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11044 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:58 msgid "Available actions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11643 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:348 msgid "Avg. latency" msgstr "" @@ -871,7 +968,7 @@ msgstr "" msgid "Backend validation failed: %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12090 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11398 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:58 msgid "Basic connectivity" msgstr "" @@ -880,37 +977,47 @@ msgstr "" msgid "Beginning of the schedule interval (e.g. 22:00)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9785 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10061 msgid "Belarus (by)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12370 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:92 msgid "Benchmark & Test" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14063 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14184 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:311 +msgid "Benchmark completed successfully" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13265 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1124 msgid "Benchmark History" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14460 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1550 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14254 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:388 +msgid "Benchmark measures actual latency and resolution reliability of major DNS servers (UDP 53 and encrypted DoH) directly from your router to find the fastest, unblocked upstream for your ISP." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13684 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1614 msgid "Benchmark stopped" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13363 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12598 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:363 msgid "Benchmarking in progress..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14115 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1168 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13315 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1179 msgid "Best Strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10078 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10374 msgid "BitTorrent / P2P" msgstr "" @@ -947,7 +1054,7 @@ msgstr "" msgid "Block: deny the listed sites. Allow only (whitelist): deny everything except the listed sites. Whitelist mode requires DNS-level blocking and applies to the schedule window." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12092 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11399 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:59 msgid "Blocked resources" msgstr "" @@ -960,7 +1067,7 @@ msgstr "" msgid "Blocked Sites (Domains)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2746 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2764 msgid "Blocks access to private/LAN IP addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, etc.) for selected users before applying routing mode." msgstr "" @@ -968,42 +1075,44 @@ msgstr "" msgid "Blocks port 853 (DNS-over-TLS) and prevents bypass via encrypted DNS or Private Relay on smartphones for devices in this profile." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9817 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14123 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:57 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:240 msgid "Bootstrap DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1386 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1403 msgid "Bootstrap DNS Servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2991 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3015 msgid "Bot Status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10741 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:51 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:79 msgid "Browser FakeIP check could not be completed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10771 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:82 msgid "Browser is not using FakeIP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10770 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10216 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:81 msgid "Browser is using FakeIP correctly" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16796 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16113 #: src/tachyon/tabs/diagnostic/initController.ts:1745 msgid "Bug report downloaded" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9871 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10147 msgid "Built-in rule sets" msgstr "" @@ -1011,20 +1120,20 @@ msgstr "" msgid "By flag emoji from name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2072 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2096 msgid "By schedule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2138 msgid "ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13176 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14630 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14631 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12414 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:150 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1742 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1743 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1813 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1814 msgid "ByeDPI (ciadpi)" msgstr "" @@ -1047,37 +1156,37 @@ msgstr "" msgid "ByeDPI option requires a value: %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11111 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:71 msgid "ByeDPI package is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:72 msgid "ByeDPI package is not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10464 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:64 msgid "ByeDPI provider binary is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10464 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:65 msgid "ByeDPI provider binary is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11147 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10484 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:107 msgid "ByeDPI sing-box outbound is configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11148 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10484 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:108 msgid "ByeDPI sing-box outbound is not configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7505 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7511 msgid "ByeDPI Strategy" msgstr "" @@ -1085,28 +1194,28 @@ msgstr "" msgid "ByeDPI strategy cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1878 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1902 msgid "Bypasses UDP traffic for selected game consoles (PS5/Xbox) to achieve NAT Type 1 / 2 (Full Cone NAT) for P2P matchmaking, while keeping TCP (PSN/Auth) routed through the proxy." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9223 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9499 msgid "CA Certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1996 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2020 msgid "Cache all built-in lists and databases even if they are not currently selected in any section. Recommended if you have plenty of storage space or USB drive." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2245 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2269 msgid "Cache File Path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2259 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2283 msgid "Cache file path cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16688 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7970 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7976 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:475 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:658 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:709 @@ -1115,14 +1224,14 @@ msgstr "" msgid "Cancel" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10277 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10354 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10556 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10619 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10826 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10942 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11069 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14790 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9797 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10042 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10267 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14363 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:26 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:27 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:172 @@ -1134,7 +1243,7 @@ msgstr "" msgid "Cannot receive checks result" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2338 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2356 msgid "Cannot save server" msgstr "" @@ -1142,62 +1251,62 @@ msgstr "" msgid "Cannot save settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9510 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9786 msgid "Cascade connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2838 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2856 msgid "Certificate path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1659 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1677 msgid "Certificate pin is unavailable. Apply or restart the server to generate the default certificate, then open this dialog again." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12813 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12076 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:865 msgid "Check again" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12026 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:793 msgid "Check all" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19981 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20535 -#: src/tachyon/tabs/updates/initController.ts:540 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19749 +#: src/tachyon/tabs/updates/initController.ts:556 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:326 msgid "Check completed!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2433 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2891 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2342 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2711 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:434 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:906 msgid "Check Connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12628 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12744 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11901 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12014 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:652 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:778 msgid "Check domain" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8791 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8341 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2697 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3166 -#: src/tachyon/tabs/dashboard/initController.ts:1445 +#: src/tachyon/tabs/dashboard/initController.ts:1448 msgid "Check interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12284 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11580 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:276 msgid "Check mode:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11853 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11158 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:172 msgid "Check Services" msgstr "" @@ -1206,43 +1315,43 @@ msgstr "" msgid "Check timeout after which the server is considered dead" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20900 -#: src/tachyon/tabs/updates/initController.ts:975 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20087 +#: src/tachyon/tabs/updates/initController.ts:997 msgid "Check update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8789 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8339 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2723 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3153 -#: src/tachyon/tabs/dashboard/initController.ts:1443 +#: src/tachyon/tabs/dashboard/initController.ts:1446 msgid "Check URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12987 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12241 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:170 msgid "Check YouTube" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8931 -#: src/tachyon/tabs/dashboard/initController.ts:1624 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8470 +#: src/tachyon/tabs/dashboard/initController.ts:1627 msgid "Checking Connection..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19806 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19072 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:117 msgid "Checking for updates..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10267 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10344 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10546 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10607 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10708 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10816 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10932 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11059 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14778 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17063 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9787 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10032 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10093 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10176 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10257 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10341 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10429 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16370 #: src/tachyon/tabs/diagnostic/initController.ts:2051 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:14 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:15 @@ -1256,10 +1365,10 @@ msgstr "" msgid "Checking, please wait" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2329 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2427 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2809 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2881 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2337 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2704 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:328 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:428 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:822 @@ -1268,32 +1377,32 @@ msgid "Checking..." msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:300 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2883 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2907 msgid "Checking…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6050 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5734 #: src/tachyon/tabs/diagnostic/helpers/getCheckTitle.ts:2 msgid "checks" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10219 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10235 #: src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:10 #: src/tachyon/tabs/diagnostic/helpers/getMeta.ts:26 msgid "Checks failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10208 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10733 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10805 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9746 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10192 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10246 #: src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:23 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:43 #: src/tachyon/tabs/diagnostic/helpers/getMeta.ts:13 msgid "Checks passed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10242 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9769 #: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:27 msgid "Checks passed with manual DHCP" msgstr "" @@ -1302,7 +1411,7 @@ msgstr "" msgid "Child (🧒)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9782 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10058 msgid "China (cn)" msgstr "" @@ -1310,11 +1419,11 @@ msgstr "" msgid "Choose a visual icon for this profile" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7636 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7642 msgid "Choose Hosts File..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2066 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2090 msgid "Choose whether to install updates immediately when detected or at a scheduled time (e.g. maintenance window)" msgstr "" @@ -1322,7 +1431,7 @@ msgstr "" msgid "Choose whether to restrict the entire internet or only specific Tachyon routing sections." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9741 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10017 msgid "Choose whether to route traffic to all destinations except selected countries (Exclude) or only to selected countries (Include)." msgstr "" @@ -1330,24 +1439,24 @@ msgstr "" msgid "Choose which routing sections to apply this schedule to." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:227 #: src/validators/validateSubnet.ts:35 msgid "CIDR must be between 0 and 32 for IPv4 or 0 and 128 for IPv6" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9477 msgid "Cipher" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8105 msgid "Clean Comments" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10657 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10972 msgid "Clear" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16160 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15550 #: src/tachyon/tabs/diagnostic/initController.ts:1087 msgid "Clear DNS cache" msgstr "" @@ -1360,134 +1469,141 @@ msgstr "" msgid "Click to show" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3375 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3393 msgid "Client Address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9235 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9511 msgid "Client Certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3387 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3405 msgid "Client DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2936 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2954 msgid "Client fingerprint" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9247 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9523 msgid "Client Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1731 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1749 msgid "Client link" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1639 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1657 msgid "Client link is not available yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1690 msgid "Client link QR code" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3427 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3445 msgid "Client Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3434 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3452 msgid "Client Public Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3376 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3394 msgid "Client VPN IP address (e.g. 10.0.0.2/32)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8647 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11635 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12198 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12818 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13045 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16625 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18277 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18324 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20077 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20119 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10946 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11499 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12081 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12291 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12764 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14162 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17527 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17570 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19359 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3721 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10964 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1806 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11279 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1824 #: src/partials/modal/renderModal.ts:263 -#: src/tachyon/tabs/dashboard/initController.ts:1267 +#: src/tachyon/tabs/dashboard/initController.ts:1270 #: src/tachyon/tabs/diagnostic/initController.ts:1553 #: src/tachyon/tabs/monitoring/initController.ts:893 #: src/tachyon/tabs/monitoring/initController.ts:948 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:227 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:286 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:178 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:871 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:541 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:442 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:488 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:552 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:430 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:476 msgid "Close" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17567 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17568 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16850 #: src/tachyon/tabs/monitoring/render.ts:68 #: src/tachyon/tabs/monitoring/render.ts:69 msgid "Close all connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18245 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18246 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17496 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17497 #: src/tachyon/tabs/monitoring/initController.ts:860 #: src/tachyon/tabs/monitoring/initController.ts:861 msgid "Close connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17528 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18138 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16812 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17394 #: src/tachyon/tabs/monitoring/initController.ts:729 #: src/tachyon/tabs/monitoring/render.ts:29 msgid "Closed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9140 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9416 msgid "Cloudflare account / device ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9428 msgid "Cloudflare API access token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8874 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9150 msgid "Cloudflare WARP account / device ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8886 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9162 msgid "Cloudflare WARP API access token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3030 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3054 msgid "Comma-separated list of Telegram user IDs authorized to control the bot." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13814 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13034 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:857 msgid "Command-line arguments string..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10931 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11246 msgid "Community Lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7079 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3932 +#: src/tachyon/methods/shell/index.ts:928 +msgid "Component action timed out" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6769 #: src/tachyon/services/core.service.ts:43 msgid "Component update available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2018 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2042 msgid "Component update check interval" msgstr "" @@ -1501,32 +1617,37 @@ msgstr "" msgid "Components" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6687 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6352 #: src/tachyon/helpers/singBoxVariant.ts:56 msgid "compressed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3171 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3189 msgid "Concurrency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7288 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7294 msgid "Conditions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14450 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1539 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13672 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1601 msgid "confidence" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2231 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2255 msgid "Config File Path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2419 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2443 msgid "Config Snapshots" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4489 +#: src/tachyon/methods/shell/index.ts:1660 +msgid "Configuration applied" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:377 msgid "Configuration for Tachyon service" msgstr "" @@ -1535,47 +1656,47 @@ msgstr "" msgid "Configure User-Agent in the item settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2614 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5869 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14864 -#: src/tachyon/methods/custom/getDashboardSections.ts:1651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14429 +#: src/tachyon/methods/custom/getDashboardSections.ts:1663 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:620 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:141 msgid "Conflict" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9548 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9824 msgid "Connect through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2335 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2815 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:334 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:828 msgid "Connected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15710 #: src/tachyon/tabs/diagnostic/initController.ts:1276 msgid "Connected Devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9271 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9547 msgid "Connection URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18379 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17622 #: src/tachyon/tabs/monitoring/initController.ts:1012 msgid "Connections are unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14893 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14458 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:174 msgid "Connectivity probe failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14551 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1652 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13775 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1717 msgid "Consulting DPI Knowledge Base & AI..." msgstr "" @@ -1583,37 +1704,42 @@ msgstr "" msgid "Content Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3482 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3631 +msgid "Content Padding Addition" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3535 msgid "Cookie packet junk size (S3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3241 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1626 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3056 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1644 #: src/helpers/copyToClipboard.ts:10 msgid "Copied" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11627 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1756 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10939 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1774 #: src/partials/modal/renderModal.ts:258 msgid "Copy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19848 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:160 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19114 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:165 msgid "Copy log" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2494 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2495 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8572 -#: src/tachyon/tabs/dashboard/initController.ts:1192 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2388 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2389 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8144 +#: src/tachyon/tabs/dashboard/initController.ts:1195 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:498 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:499 msgid "Copy proxy link" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16581 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15916 #: src/tachyon/tabs/diagnostic/initController.ts:1511 msgid "Copy Support Report" msgstr "" @@ -1622,21 +1748,21 @@ msgstr "" msgid "Core configuration and preferences" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10778 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:89 msgid "Could not compare FakeIP and control public IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9788 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10064 msgid "Country code (e.g. ru, us, de)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16522 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15867 #: src/tachyon/tabs/diagnostic/initController.ts:1452 msgid "Current Diagnosis" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9565 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9841 msgid "Current section cannot be used as its own transit section" msgstr "" @@ -1644,17 +1770,17 @@ msgstr "" msgid "Current section cannot download its own subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2926 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2743 #: src/tachyon/tabs/dashboard/partials/renderWidget.ts:22 msgid "Currently unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12095 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11401 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:61 msgid "Custom" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2550 msgid "Custom API Endpoint URL" msgstr "" @@ -1662,45 +1788,45 @@ msgstr "" msgid "Custom device headers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7982 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7988 msgid "Custom DNS Records (Hosts)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12094 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11400 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:60 msgid "Custom domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3507 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3560 msgid "Custom header for cookie packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3513 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3566 msgid "Custom header for data packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3495 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3548 msgid "Custom header for handshake initiation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3501 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3554 msgid "Custom header for handshake response" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2481 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2505 msgid "Custom OpenAI-Compatible API" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2527 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2551 msgid "Custom OpenAI-compatible API endpoint URL (e.g. http://192.168.1.100:11434/v1/chat/completions)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9386 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9662 msgid "Custom outbound configurations in JSON format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13838 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:874 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13057 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:885 msgid "Custom strategy added!" msgstr "" @@ -1727,13 +1853,13 @@ msgstr "" msgid "Dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2085 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2052 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:50 msgid "Dashboard currently unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14111 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1164 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13311 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1175 msgid "Date" msgstr "" @@ -1741,16 +1867,16 @@ msgstr "" msgid "Days of Week" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3158 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3182 msgid "Default (auto)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2330 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2342 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2354 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2366 msgid "Default (Direct WAN / Default mixed proxy)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2136 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2160 msgid "Default address for checking server availability and latency. URLTest uses its own address." msgstr "" @@ -1758,19 +1884,19 @@ msgstr "" msgid "Default Tab on Startup" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1782 msgid "Delay in milliseconds before reloading Tachyon after interface UP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1765 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1789 msgid "Delay value cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13948 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1831 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1849 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:721 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:729 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:986 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:997 msgid "Delete" msgstr "" @@ -1788,11 +1914,11 @@ msgstr "" msgid "Detect server country" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2301 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2325 msgid "Detects and drops STUN/TURN packets in nftables to prevent real IP leaks via WebRTC." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:359 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:321 #: src/validators/validateOutboundJson.ts:115 msgid "detour must be a non-empty string" msgstr "" @@ -1802,7 +1928,7 @@ msgstr "" msgid "dev." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10025 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10302 msgid "Device filter" msgstr "" @@ -1810,7 +1936,7 @@ msgstr "" msgid "Device or IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15785 #: src/tachyon/tabs/diagnostic/initController.ts:1359 msgid "Device updated" msgstr "" @@ -1819,12 +1945,12 @@ msgstr "" msgid "Devices (MAC / IP)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10251 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9771 #: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:37 msgid "DHCP has DNS server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9771 #: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:36 msgid "DHCP is managed manually" msgstr "" @@ -1835,19 +1961,19 @@ msgstr "" msgid "Diagnostics" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12063 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12069 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11372 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11378 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2741 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:25 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:32 msgid "Direct" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8904 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9180 msgid "Direct (Default)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15773 #: src/tachyon/tabs/diagnostic/initController.ts:1346 msgid "Direct Bypass" msgstr "" @@ -1856,21 +1982,21 @@ msgstr "" msgid "Direct connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15767 #: src/tachyon/tabs/diagnostic/initController.ts:1337 msgid "Direct WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11775 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11080 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:94 msgid "Disable autostart" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1809 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1833 msgid "Disable QUIC" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1810 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1834 msgid "Disable the QUIC protocol to improve compatibility or fix issues with video streaming" msgstr "" @@ -1885,8 +2011,8 @@ msgstr "" msgid "Disabling interception is incompatible with action=zapret2 because Tachyon sends matched traffic through NFQUEUE." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13724 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:748 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12946 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:759 msgid "Disorder Values (-d)" msgstr "" @@ -1895,90 +2021,99 @@ msgstr "" msgid "Display name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10081 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10100 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10377 msgid "DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1333 +msgid "DNS Auto-Tuner & Benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1507 msgid "DNS Check Interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2629 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2653 msgid "DNS Check Interval (s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1515 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1539 msgid "DNS Failures Before Switching" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10322 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9829 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:75 msgid "DNS on router" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1875 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1356 msgid "DNS over HTTPS (DoH)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1877 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1341 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1358 msgid "DNS over QUIC (DoQ)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1876 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1340 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1357 msgid "DNS over TLS (DoT)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2646 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7364 msgid "DNS protocol" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14097 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:213 +msgid "DNS Protocol" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1353 msgid "DNS Protocol Type" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2647 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7359 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7365 msgid "DNS protocol used by the resolver" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7429 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1613 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7435 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1637 msgid "DNS requests through section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1555 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1579 msgid "DNS Rewrite TTL" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2656 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7372 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7378 msgid "DNS server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:142 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:131 #: src/validators/validateDns.ts:8 msgid "DNS server address cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3388 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3406 msgid "DNS server pushed to the client configuration" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2657 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7373 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7379 msgid "DNS server used by the resolver" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1387 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1404 msgid "DNS server used to obtain IP addresses for upstream DNS and proxies. If multiple servers are selected, a timeout switches to a backup." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1368 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1385 msgid "DNS Servers" msgstr "" @@ -1986,31 +2121,31 @@ msgstr "" msgid "DNS Settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1591 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1615 msgid "DNS Strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1535 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1559 msgid "DNS Successful Checks Before Recovery" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1604 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1628 msgid "DNS through proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7417 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7423 msgid "DNS through section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1577 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1601 msgid "DNS Turbo Cache" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1503 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1527 msgid "DNS Unavailability Timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14733 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14308 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:26 msgid "Do not panic, everything can be fixed, just..." msgstr "" @@ -2039,34 +2174,34 @@ msgstr "" msgid "Do not test specified servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15841 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15878 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15886 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15338 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15366 #: src/tachyon/tabs/diagnostic/initController.ts:731 #: src/tachyon/tabs/diagnostic/initController.ts:773 #: src/tachyon/tabs/diagnostic/initController.ts:781 msgid "Doctor failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15853 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15865 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15866 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349 #: src/tachyon/tabs/diagnostic/initController.ts:747 #: src/tachyon/tabs/diagnostic/initController.ts:759 #: src/tachyon/tabs/diagnostic/initController.ts:760 msgid "Doctor repair" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10455 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9950 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:54 msgid "Does not resolve" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9978 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10255 msgid "Domain and IP lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10002 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10279 msgid "Domain lists" msgstr "" @@ -2074,16 +2209,16 @@ msgstr "" msgid "Domain Resolver" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2790 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2814 msgid "Domain test sections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9821 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10932 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11247 msgid "Domains" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10127 msgid "Domains automatically detected by Smart Detect or added via Telegram bot. You can manually edit or remove them here." msgstr "" @@ -2091,51 +2226,51 @@ msgstr "" msgid "Domains to block for the selected devices. Leave empty to block all internet. Enter one domain per line, e.g. youtube.com. Use the preset buttons to quickly add common categories." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8724 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8938 msgid "Done" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2196 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2220 msgid "Dont Touch My DHCP!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9125 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9137 -#: src/tachyon/tabs/dashboard/initController.ts:1851 -#: src/tachyon/tabs/dashboard/initController.ts:1864 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8658 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8670 +#: src/tachyon/tabs/dashboard/initController.ts:1858 +#: src/tachyon/tabs/dashboard/initController.ts:1871 msgid "Downlink" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11622 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10934 #: src/partials/modal/renderModal.ts:253 msgid "Download" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1798 msgid "Download .conf" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2175 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2199 msgid "Download component packages via the selected section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2183 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2207 msgid "Download components through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2174 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2198 msgid "Download components through a section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2161 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2185 msgid "Download lists through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2176 msgid "Download lists through a section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2177 msgid "Download remote lists and rule sets via the selected section" msgstr "" @@ -2151,31 +2286,31 @@ msgstr "" msgid "Download through" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18270 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18321 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18475 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17520 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17567 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17706 #: src/tachyon/tabs/monitoring/initController.ts:886 #: src/tachyon/tabs/monitoring/initController.ts:945 #: src/tachyon/tabs/monitoring/initController.ts:1134 msgid "Downloaded" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1968 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1992 msgid "Downloading and applying rule sets and lists..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14449 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1538 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13671 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1600 msgid "DPI Detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13190 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12428 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:166 msgid "DPI Engine" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14114 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1167 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13314 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1178 msgid "DPI Type" msgstr "" @@ -2183,12 +2318,12 @@ msgstr "" msgid "Drag rows to change priority. The rule at the top is checked first." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10062 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10941 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11256 msgid "DSCP marks (QoS)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:325 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:293 #: src/validators/validateOutboundJson.ts:75 msgid "Duplicate JSON outbound tag" msgstr "" @@ -2197,11 +2332,11 @@ msgstr "" msgid "Duplicate value" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9478 msgid "e.g. AES-256-GCM — leave empty for default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10655 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10970 msgid "e.g. google.com, 1.1.1.1, 443" msgstr "" @@ -2217,51 +2352,51 @@ msgstr "" msgid "e.g. Kids Phone (Night YouTube)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9213 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9489 msgid "e.g. SHA256 — leave empty for default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1870 msgid "Each entry must be \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp), e.g. tcp:6881,udp:6881-6889" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1826 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1844 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:71 msgid "Edit" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2128 msgid "Eligible components for auto-update" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:282 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:691 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7290 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2637 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7296 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2655 msgid "Enable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2736 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2760 msgid "Enable Adaptive Intervals" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2459 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2483 msgid "Enable AI Doctor (ChatGPT / LLM Analysis)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2750 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2774 msgid "Enable Anomaly Detection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3023 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3041 msgid "Enable authentication" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1911 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1935 msgid "Enable automatic updates for remote lists and rule sets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11785 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11090 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:104 msgid "Enable autostart" msgstr "" @@ -2270,92 +2405,92 @@ msgstr "" msgid "Enable built-in DNS resolver for domains handled by this section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2694 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2718 msgid "Enable Config Validation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16168 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15558 #: src/tachyon/tabs/diagnostic/initController.ts:1095 msgid "Enable Direct WAN Bypass" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2616 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2640 msgid "Enable DNS Continuous Check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2641 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2665 msgid "Enable Firewall Reload Dedup" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2708 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2732 msgid "Enable Graceful Degradation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2655 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2679 msgid "Enable Health Metrics" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1910 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1934 msgid "Enable list updates" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9586 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9862 msgid "Enable Mixed Proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9627 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9903 msgid "Enable Mixed Proxy Authentication" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1660 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1684 msgid "Enable Output Network Interface" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2570 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2594 msgid "Enable Proxy Health Monitor" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2542 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2566 msgid "Enable RAG (Knowledge Base Retrieval)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2680 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2704 msgid "Enable Smart Cooldowns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2777 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2801 msgid "Enable Smart Detect" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3001 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3025 msgid "Enable Telegram Bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1456 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1480 msgid "Enable WAN DNS Fallback for Bootstrap DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1445 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1469 msgid "Enable WAN DNS Fallback for Main DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2457 msgid "Enable Watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1774 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1798 msgid "Enable YACD" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1784 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1808 msgid "Enable YACD WAN Access" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3002 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3026 msgid "Enables the background daemon that polls Telegram for commands and sends notifications." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2434 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2458 msgid "Enables the background watchdog process to monitor services and auto-recover on failures." msgstr "" @@ -2371,16 +2506,16 @@ msgstr "" msgid "Enforce SafeSearch & YouTube Restricted Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13481 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13881 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14112 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:482 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:919 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1165 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12710 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13312 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:493 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:930 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1176 msgid "Engine" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2769 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2787 msgid "Enter a complete sing-box inbound object" msgstr "" @@ -2395,7 +2530,7 @@ msgstr "" msgid "Enter a display name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12621 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11894 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:644 msgid "Enter a domain or IP to check (e.g. example.com)..." msgstr "" @@ -2405,7 +2540,7 @@ msgstr "" msgid "Enter a level name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2097 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2121 msgid "Enter a valid time in HH:MM format (00:00 to 23:59)" msgstr "" @@ -2418,7 +2553,7 @@ msgstr "" msgid "Enter HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3013 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3037 msgid "Enter the API token obtained from @BotFather." msgstr "" @@ -2426,33 +2561,33 @@ msgstr "" msgid "Enter the HWID sent with subscription requests" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9297 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9573 msgid "Enter the subscription URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8447 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8450 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8461 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8464 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8531 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8534 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8541 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8544 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8655 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8669 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8547 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8550 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8561 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8564 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8641 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8644 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8782 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8785 msgid "Error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8545 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8655 msgid "Error running generator:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11137 msgid "Error running trace:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1985 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2009 msgid "Error updating lists:" msgstr "" @@ -2460,6 +2595,11 @@ msgstr "" msgid "Every day" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13974 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:74 +msgid "EXCELLENT" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2808 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3021 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3422 @@ -2478,7 +2618,7 @@ msgstr "" msgid "Exclude countries" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9745 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10021 msgid "Exclude selected countries" msgstr "" @@ -2500,7 +2640,7 @@ msgstr "" msgid "Exclude servers with one of the selected transports from this level." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10073 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10350 msgid "Exclude traffic types" msgstr "" @@ -2508,7 +2648,7 @@ msgstr "" msgid "Exclude URLTest / Priority group" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10045 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10322 msgid "Excluded devices" msgstr "" @@ -2516,15 +2656,20 @@ msgstr "" msgid "Expecting: %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2158 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2117 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:137 msgid "Expires" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9587 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9863 msgid "Expose this section as a local HTTP+SOCKS proxy" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6356 +#: src/tachyon/helpers/singBoxVariant.ts:60 +msgid "extended" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:999 msgid "External inbound proxy servers" msgstr "" @@ -2537,54 +2682,69 @@ msgstr "" msgid "External nfqws2 config files bypass Tachyon queue management and explicit validation." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16277 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13986 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:86 +msgid "FAILED" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4483 +#: src/tachyon/methods/shell/index.ts:1654 +msgid "Failed to apply DNS configuration" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14241 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:374 +msgid "Failed to apply DNS settings" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15645 #: src/tachyon/tabs/diagnostic/initController.ts:1202 msgid "Failed to apply fix" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4385 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14604 -#: src/tachyon/methods/shell/index.ts:1159 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1713 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4198 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13828 +#: src/tachyon/methods/shell/index.ts:1255 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1778 msgid "Failed to apply strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4564 -#: src/tachyon/methods/shell/index.ts:1411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4375 +#: src/tachyon/methods/shell/index.ts:1507 msgid "Failed to auto-apply strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4600 -#: src/tachyon/methods/shell/index.ts:1456 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4413 +#: src/tachyon/methods/shell/index.ts:1552 msgid "Failed to clear fuzzer history" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18677 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17895 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17909 #: src/tachyon/tabs/monitoring/initController.ts:1400 #: src/tachyon/tabs/monitoring/initController.ts:1415 msgid "Failed to close connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18706 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18718 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17924 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17936 #: src/tachyon/tabs/monitoring/initController.ts:1434 #: src/tachyon/tabs/monitoring/initController.ts:1447 msgid "Failed to close connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14586 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1694 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13810 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1759 msgid "Failed to communicate with AI provider" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16045 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15503 #: src/tachyon/tabs/diagnostic/initController.ts:974 msgid "Failed to copy report to clipboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3243 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1628 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3058 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1646 #: src/helpers/copyToClipboard.ts:12 msgid "Failed to copy!" msgstr "" @@ -2593,58 +2753,73 @@ msgstr "" msgid "Failed to delete snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4540 -#: src/tachyon/methods/shell/index.ts:1383 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4352 +#: src/tachyon/methods/shell/index.ts:1479 msgid "Failed to detect DPI type" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3565 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3571 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20636 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20637 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20704 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20883 -#: src/tachyon/tabs/updates/initController.ts:661 -#: src/tachyon/tabs/updates/initController.ts:662 -#: src/tachyon/tabs/updates/initController.ts:739 -#: src/tachyon/tabs/updates/initController.ts:953 -#: src/tachyon/methods/shell/index.ts:171 -#: src/tachyon/methods/shell/index.ts:178 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3385 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3388 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19896 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20070 +#: src/tachyon/methods/shell/index.ts:199 +#: src/tachyon/methods/shell/index.ts:206 +#: src/tachyon/tabs/updates/initController.ts:679 +#: src/tachyon/tabs/updates/initController.ts:680 +#: src/tachyon/tabs/updates/initController.ts:759 +#: src/tachyon/tabs/updates/initController.ts:975 msgid "Failed to execute" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16799 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3793 +#: src/tachyon/methods/shell/index.ts:730 +msgid "Failed to fetch releases" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16116 #: src/tachyon/tabs/diagnostic/initController.ts:1748 msgid "Failed to generate bug report" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8451 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8465 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8551 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8565 msgid "Failed to generate WARP config:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4582 -#: src/tachyon/methods/shell/index.ts:1433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4451 +#: src/tachyon/methods/shell/index.ts:1606 +msgid "Failed to get DNS benchmark status" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4395 +#: src/tachyon/methods/shell/index.ts:1529 msgid "Failed to get fuzzer history" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4467 -#: src/tachyon/methods/shell/index.ts:1287 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4281 +#: src/tachyon/methods/shell/index.ts:1383 msgid "Failed to get fuzzer patterns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4343 -#: src/tachyon/methods/shell/index.ts:1111 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4156 +#: src/tachyon/methods/shell/index.ts:1207 msgid "Failed to get fuzzer status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4410 -#: src/tachyon/methods/shell/index.ts:1211 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4225 +#: src/tachyon/methods/shell/index.ts:1307 msgid "Failed to get fuzzer strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14176 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1230 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3817 +#: src/tachyon/methods/shell/index.ts:759 +msgid "Failed to install version" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13368 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1241 msgid "Failed to load history" msgstr "" @@ -2652,31 +2827,36 @@ msgstr "" msgid "Failed to load snapshots" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8673 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20421 +#: src/tachyon/tabs/updates/initController.ts:1417 +msgid "Failed to load versions" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8786 msgid "Failed to parse file:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12243 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11542 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:231 msgid "Failed to parse target list." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8535 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8645 msgid "Failed to parse WARP config:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3965 -#: src/tachyon/methods/shell/index.ts:664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3766 +#: src/tachyon/methods/shell/index.ts:697 msgid "Failed to read operation log" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12194 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:115 msgid "Failed to receive response from AI service." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4523 -#: src/tachyon/methods/shell/index.ts:1362 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4333 +#: src/tachyon/methods/shell/index.ts:1458 msgid "Failed to reset fuzzer patterns" msgstr "" @@ -2684,8 +2864,8 @@ msgstr "" msgid "Failed to reset settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16615 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16713 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15944 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16035 #: src/tachyon/tabs/diagnostic/initController.ts:1543 #: src/tachyon/tabs/diagnostic/initController.ts:1651 msgid "Failed to restore native internet" @@ -2695,18 +2875,18 @@ msgstr "" msgid "Failed to restore snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3232 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3258 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3282 msgid "Failed to run diagnostics — is the tachyon binary installed?" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4494 -#: src/tachyon/methods/shell/index.ts:1320 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4307 +#: src/tachyon/methods/shell/index.ts:1416 msgid "Failed to save fuzzer patterns" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13771 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:796 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12991 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:807 msgid "Failed to save patterns" msgstr "" @@ -2714,22 +2894,29 @@ msgstr "" msgid "Failed to save snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14535 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1633 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13759 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14209 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:339 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1698 msgid "Failed to start benchmark" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2947 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2971 msgid "Failed to start bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4320 -#: src/tachyon/methods/shell/index.ts:1085 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4431 +#: src/tachyon/methods/shell/index.ts:1582 +msgid "Failed to start DNS benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4133 +#: src/tachyon/methods/shell/index.ts:1181 msgid "Failed to start fuzzer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12226 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12835 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11525 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12097 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:213 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:890 msgid "Failed to start service check." @@ -2739,12 +2926,17 @@ msgstr "" msgid "Failed to start watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2961 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2985 msgid "Failed to stop bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4357 -#: src/tachyon/methods/shell/index.ts:1126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4470 +#: src/tachyon/methods/shell/index.ts:1626 +msgid "Failed to stop DNS benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4170 +#: src/tachyon/methods/shell/index.ts:1222 msgid "Failed to stop fuzzer" msgstr "" @@ -2752,68 +2944,86 @@ msgstr "" msgid "Failed to stop watchdog" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8132 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8138 -#: src/tachyon/tabs/dashboard/initController.ts:700 -#: src/tachyon/tabs/dashboard/initController.ts:706 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7755 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7761 +#: src/tachyon/tabs/dashboard/initController.ts:703 +#: src/tachyon/tabs/dashboard/initController.ts:709 msgid "Failed to switch proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4444 -#: src/tachyon/methods/shell/index.ts:1256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4258 +#: src/tachyon/methods/shell/index.ts:1352 msgid "Failed to synthesize AI strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16438 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15790 #: src/tachyon/tabs/diagnostic/initController.ts:1364 msgid "Failed to update device" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7808 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7809 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7824 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7862 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7865 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8869 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8872 -#: src/tachyon/tabs/dashboard/initController.ts:309 -#: src/tachyon/tabs/dashboard/initController.ts:310 -#: src/tachyon/tabs/dashboard/initController.ts:330 -#: src/tachyon/tabs/dashboard/initController.ts:377 -#: src/tachyon/tabs/dashboard/initController.ts:381 -#: src/tachyon/tabs/dashboard/initController.ts:1537 -#: src/tachyon/tabs/dashboard/initController.ts:1541 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7461 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7461 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7476 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7509 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7512 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8415 +#: src/tachyon/tabs/dashboard/initController.ts:312 +#: src/tachyon/tabs/dashboard/initController.ts:313 +#: src/tachyon/tabs/dashboard/initController.ts:333 +#: src/tachyon/tabs/dashboard/initController.ts:380 +#: src/tachyon/tabs/dashboard/initController.ts:384 +#: src/tachyon/tabs/dashboard/initController.ts:1540 +#: src/tachyon/tabs/dashboard/initController.ts:1544 msgid "Failed to update subscriptions" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2218 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2242 msgid "Failover failure threshold" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13980 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:80 +msgid "FAIR" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:91 msgid "FakeIP and control checks use different public IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10781 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10222 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:92 msgid "FakeIP and control checks use the same public IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10736 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10194 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:46 msgid "FakeIP works; public IP comparison is inconclusive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3146 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3164 msgid "FakeTLS host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1401 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14131 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:248 +msgid "Fallback DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1418 msgid "Fallback DNS Servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3228 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1433 +msgid "Fallback DNS servers must be plain UDP (IP or hostname). DoH/DoT URLs are not allowed here." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1435 +msgid "Fallback DNS servers must be plain UDP (IP or hostname). Path-style DoH (e.g. domain/path) is not allowed here." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3246 msgid "Fallback on unknown DC" msgstr "" @@ -2835,22 +3045,22 @@ msgstr "" msgid "Family profiles and device grouping" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2617 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2641 msgid "Faster DNS health monitoring than the default cycle. Switches bootstrap DNS on failure." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8810 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8359 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3226 -#: src/tachyon/tabs/dashboard/initController.ts:1464 +#: src/tachyon/tabs/dashboard/initController.ts:1467 msgid "Faster server search interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5025 -#: src/tachyon/methods/custom/getDashboardSections.ts:661 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4884 +#: src/tachyon/methods/custom/getDashboardSections.ts:673 msgid "Fastest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11708 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:425 msgid "Filter by service:" msgstr "" @@ -2859,62 +3069,66 @@ msgstr "" msgid "Filter the servers that will be displayed on the dashboard." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13409 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:401 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12641 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:412 msgid "Filter:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9779 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8357 +msgid "Finished with code" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10055 msgid "Finland (fi)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10525 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10014 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:136 msgid "Firewall WAN port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16271 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15639 #: src/tachyon/tabs/diagnostic/initController.ts:1196 msgid "Fix applied" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16154 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15544 #: src/tachyon/tabs/diagnostic/initController.ts:1081 msgid "Fix resolv.conf" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3655 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2357 msgid "Fix the highlighted fields and save again." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15859 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16267 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15635 #: src/tachyon/tabs/diagnostic/initController.ts:753 #: src/tachyon/tabs/diagnostic/initController.ts:1192 msgid "Fixed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16171 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15561 #: src/tachyon/tabs/diagnostic/initController.ts:1098 msgid "Flush Conntrack Table" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13692 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:715 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12915 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:726 msgid "Fooling Methods (dpi-desync-fooling)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13642 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12866 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:675 msgid "Fooling Methods (fooling)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1958 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1982 msgid "Force immediate download and refresh of all remote lists and rule sets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10034 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10311 msgid "Forced device routing" msgstr "" @@ -2922,11 +3136,16 @@ msgstr "" msgid "Forces SafeSearch on Google, Yandex, Bing, DuckDuckGo and Strict Restricted Mode on YouTube via DNS rewrite for all devices in this profile." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2313 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2337 msgid "Forces sing-box to tunnel DNS requests via DoQ with Encrypted Client Hello (ECH) for SNI hiding." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9778 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437 +msgid "Found" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10054 msgid "France (fr)" msgstr "" @@ -2938,19 +3157,19 @@ msgstr "" msgid "Friday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3191 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3209 msgid "Fronting IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3180 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3198 msgid "Fronting port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3219 msgid "Fronting proxy protocol" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12244 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:173 msgid "Full System Diagnostic" msgstr "" @@ -2959,11 +3178,11 @@ msgstr "" msgid "Fuzzing is not supported here because Tachyon needs deterministic runtime validation." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1889 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1913 msgid "Game Console IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1877 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1901 msgid "Game Console Optimizer (NAT Type 1)" msgstr "" @@ -2979,7 +3198,7 @@ msgstr "" msgid "Generate a random 16-character hexadecimal HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11880 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11185 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:199 msgid "Generate bug report" msgstr "" @@ -2993,42 +3212,42 @@ msgstr "" msgid "Generate HWID from router hardware information for this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8361 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8400 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8422 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8444 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8505 msgid "Generate WARP Config" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9978 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:89 msgid "Generated inbound" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8523 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8633 msgid "Generated!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8442 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8542 msgid "Generating…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10044 msgid "GeoIP Countries" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9740 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10016 msgid "GeoIP Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10937 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11252 msgid "GeoSite / GeoIP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9775 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10051 msgid "Germany (de)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11099 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:113 msgid "Get global check" msgstr "" @@ -3037,57 +3256,67 @@ msgstr "" msgid "Give the snapshot a name. It is saved with the current date and can be restored from this list later." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15816 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15313 #: src/tachyon/tabs/diagnostic/initController.ts:703 msgid "Global check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15827 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15831 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15328 #: src/tachyon/tabs/diagnostic/initController.ts:714 #: src/tachyon/tabs/diagnostic/initController.ts:718 msgid "Global check failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14600 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13824 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1774 msgid "Global Default" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13977 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:77 +msgid "GOOD" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:547 msgid "Group devices into family profiles to manage content filtering, SafeSearch, and screen time limits in one place." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3003 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3021 msgid "gRPC service" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3256 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3274 msgid "Handshake timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12847 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3625 +msgid "Header Protection Key" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12109 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:14 msgid "Hello! I am Tachyon AI Assistant. How can I help you today? Ask me about domain blocks, diagnostics, or router settings." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3549 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3555 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3561 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3602 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3608 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3614 msgid "Hex or binary junk payload" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3531 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3537 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3543 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3584 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3590 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3596 msgid "Hex or binary payload" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3519 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3572 msgid "Hex or binary payload for init" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3525 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3578 msgid "Hex or binary payload for response" msgstr "" @@ -3135,37 +3364,43 @@ msgstr "" msgid "Hide URLTest group nodes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11678 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10986 #: src/partials/modal/renderModal.ts:310 msgid "Hide values" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8796 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700 +#: src/tachyon/tabs/updates/initController.ts:1738 +msgid "Hide versions" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8346 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3190 -#: src/tachyon/tabs/dashboard/initController.ts:1450 +#: src/tachyon/tabs/dashboard/initController.ts:1453 msgid "Higher-level check interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1493 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1517 msgid "Higher-priority DNS Check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13131 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16550 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12374 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15891 #: src/tachyon/tabs/diagnostic/initController.ts:1480 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:96 msgid "History" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4605 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14076 -#: src/tachyon/methods/shell/index.ts:1461 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13278 +#: src/tachyon/methods/shell/index.ts:1557 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1137 msgid "History cleared" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18260 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18317 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17510 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17563 #: src/tachyon/tabs/monitoring/initController.ts:876 #: src/tachyon/tabs/monitoring/initController.ts:941 msgid "Host" @@ -3175,11 +3410,11 @@ msgstr "" msgid "Hosts" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8335 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8399 msgid "Hosts Lists Update Interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2669 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2693 msgid "How many hours of metrics to keep (default 24)." msgstr "" @@ -3191,37 +3426,37 @@ msgstr "" msgid "How often the currently selected server is checked" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2630 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2654 msgid "How often to check DNS health in seconds (default 60)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2584 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2608 msgid "How often to check proxy health in seconds (fast tier, default 30)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3053 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3077 msgid "How often to check Telegram for new messages (default: 5)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1484 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1508 msgid "How often to check the active DNS servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1518 msgid "How often to check whether a higher-priority DNS server has recovered." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10082 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10101 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10359 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10378 msgid "HTTP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5939 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5625 #: src/tachyon/api.ts:27 msgid "HTTP error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2996 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3014 msgid "HTTP hosts" msgstr "" @@ -3229,37 +3464,37 @@ msgstr "" msgid "HWID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8665 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8230 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2736 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3246 -#: src/tachyon/tabs/dashboard/initController.ts:1295 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3264 +#: src/tachyon/tabs/dashboard/initController.ts:1298 msgid "Idle timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2733 msgid "If one health check fails with an error, continue running other checks instead of stopping." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2071 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2095 msgid "Immediately upon release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7728 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7750 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7837 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7734 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7756 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7843 msgid "Import" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7832 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7838 msgid "Import (%d records)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8557 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8667 msgid "Import AmneziaWG settings from .conf file" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7909 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7915 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8118 msgid "Import Hosts File" msgstr "" @@ -3271,15 +3506,15 @@ msgstr "" msgid "Import URLTest groups returned by this subscription provider" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2768 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2786 msgid "Inbound JSON" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2068 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2086 msgid "Inbound JSON cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2079 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2097 msgid "Inbound JSON must be an object with a type field" msgstr "" @@ -3305,7 +3540,7 @@ msgstr "" msgid "Include IP addresses and subnets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9746 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10022 msgid "Include selected countries" msgstr "" @@ -3315,113 +3550,117 @@ msgstr "" msgid "Include servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1832 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1850 msgid "Information" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3567 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3620 msgid "Init handshake timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3547 msgid "Init packet header (H1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3470 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3523 msgid "Init packet junk size (S1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8841 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9082 msgid "Init Packet Magic Header (S1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8843 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9084 msgid "Init Packet Magic Header (S3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9107 msgid "Init Packet Payload (I1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8850 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9108 msgid "Init Packet Payload (I2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8851 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9109 msgid "Init Packet Payload (I3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9110 msgid "Init Packet Payload (I4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8853 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9111 msgid "Init Packet Payload (I5)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3518 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3571 msgid "Init payload (I1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3566 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3619 msgid "Init timeout (Itime)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20067 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20909 -#: src/tachyon/tabs/updates/initController.ts:989 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:431 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20096 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20436 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20483 +#: src/tachyon/tabs/updates/initController.ts:1011 +#: src/tachyon/tabs/updates/initController.ts:1437 +#: src/tachyon/tabs/updates/initController.ts:1490 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:419 msgid "Install" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21420 -#: src/tachyon/tabs/updates/initController.ts:1554 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20688 +#: src/tachyon/tabs/updates/initController.ts:1724 msgid "Install another build:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14620 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14625 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14630 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1732 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1737 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1742 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1803 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1808 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1813 msgid "Installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21295 -#: src/tachyon/tabs/updates/initController.ts:1415 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20568 +#: src/tachyon/tabs/updates/initController.ts:1585 msgid "Installed build → Available build" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20396 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21303 -#: src/tachyon/tabs/updates/initController.ts:359 -#: src/tachyon/tabs/updates/initController.ts:1423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19610 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20576 +#: src/tachyon/tabs/updates/initController.ts:372 +#: src/tachyon/tabs/updates/initController.ts:1593 msgid "Installed version is newer than release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2370 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2394 msgid "Interface" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1747 msgid "Interface Monitoring" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1781 msgid "Interface Monitoring Delay" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1724 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1748 msgid "Interface monitoring for Bad WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8667 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8816 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2750 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3242 -#: src/tachyon/tabs/dashboard/initController.ts:1297 -#: src/tachyon/tabs/dashboard/initController.ts:1470 +#: src/tachyon/tabs/dashboard/initController.ts:1300 +#: src/tachyon/tabs/dashboard/initController.ts:1473 msgid "Interrupt connections" msgstr "" @@ -3433,32 +3672,32 @@ msgstr "" msgid "Interrupt connections when URLTest switches the selected server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8663 -#: src/tachyon/tabs/dashboard/initController.ts:1293 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8228 +#: src/tachyon/tabs/dashboard/initController.ts:1296 msgid "Interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7532 msgid "Invalid ByeDPI strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:242 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:219 #: src/validators/validateSubnet.ts:25 msgid "Invalid CIDR prefix" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:163 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:148 #: src/validators/validateDns.ts:34 msgid "Invalid DNS server format. Examples: 8.8.8.8 or dns.example.com or dns.example.com/nicedns for DoH" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:138 #: src/validators/validateDns.ts:21 msgid "Invalid DNS server port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:83 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:87 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:76 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:80 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5367 #: src/validators/validateDomain.ts:67 #: src/validators/validateDomain.ts:73 @@ -3470,84 +3709,84 @@ msgstr "" msgid "Invalid domain: empty prefix value" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:229 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:206 #: src/validators/validateSubnet.ts:10 msgid "Invalid format. Use an IP address or CIDR subnet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:824 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:776 #: src/validators/validateHysteriaUrl.ts:104 msgid "Invalid HY2 URL: insecure must be 0 or 1" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:781 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:738 #: src/validators/validateHysteriaUrl.ts:51 msgid "Invalid HY2 URL: invalid host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:812 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:767 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:803 #: src/validators/validateHysteriaUrl.ts:90 #: src/validators/validateHysteriaUrl.ts:146 msgid "Invalid HY2 URL: invalid port number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:767 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:724 #: src/validators/validateHysteriaUrl.ts:33 msgid "Invalid HY2 URL: missing credentials/server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:786 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:743 #: src/validators/validateHysteriaUrl.ts:57 msgid "Invalid HY2 URL: missing host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:775 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:732 #: src/validators/validateHysteriaUrl.ts:44 msgid "Invalid HY2 URL: missing host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:771 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:728 #: src/validators/validateHysteriaUrl.ts:39 msgid "Invalid HY2 URL: missing password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:789 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:746 #: src/validators/validateHysteriaUrl.ts:61 msgid "Invalid HY2 URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:714 #: src/validators/validateHysteriaUrl.ts:20 msgid "Invalid HY2 URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:751 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:708 #: src/validators/validateHysteriaUrl.ts:13 msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:844 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:789 #: src/validators/validateHysteriaUrl.ts:127 msgid "Invalid HY2 URL: obfs-password required when obfs is set" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:867 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:809 #: src/validators/validateHysteriaUrl.ts:153 msgid "Invalid HY2 URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:797 #: src/validators/validateHysteriaUrl.ts:136 msgid "Invalid HY2 URL: sni cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:834 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:783 #: src/validators/validateHysteriaUrl.ts:116 msgid "Invalid HY2 URL: unsupported obfs type" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:30 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:29 #: src/validators/validateIp.ts:28 msgid "Invalid IP address" msgstr "" @@ -3556,23 +3795,23 @@ msgstr "" msgid "Invalid IP or MAC address. Expected e.g. 192.168.1.150 or AA:BB:CC:DD:EE:FF" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:312 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2081 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:280 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2099 #: src/validators/validateOutboundJson.ts:58 msgid "Invalid JSON format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8020 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8026 msgid "Invalid line: \"%s\". Use: domain ip or ip domain" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:217 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:194 #: src/validators/validatePath.ts:22 msgid "Invalid path format. Path must start with \"/\" and contain valid characters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:438 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9620 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:400 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9896 #: src/validators/validateShadowsocksUrl.ts:91 msgid "Invalid port number. Must be between 1 and 65535" msgstr "" @@ -3585,97 +3824,97 @@ msgstr "" msgid "Invalid regular expression" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:392 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:354 #: src/validators/validateShadowsocksUrl.ts:38 msgid "Invalid Shadowsocks URL: decoded credentials must contain method:password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:380 #: src/validators/validateShadowsocksUrl.ts:67 msgid "Invalid Shadowsocks URL: invalid server and port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:384 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:346 #: src/validators/validateShadowsocksUrl.ts:28 msgid "Invalid Shadowsocks URL: missing credentials" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:401 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:363 #: src/validators/validateShadowsocksUrl.ts:47 msgid "Invalid Shadowsocks URL: missing method and password separator \":\"" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:432 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:394 #: src/validators/validateShadowsocksUrl.ts:84 msgid "Invalid Shadowsocks URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:425 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:387 #: src/validators/validateShadowsocksUrl.ts:75 msgid "Invalid Shadowsocks URL: missing server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:373 #: src/validators/validateShadowsocksUrl.ts:59 msgid "Invalid Shadowsocks URL: missing server address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:376 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:338 #: src/validators/validateShadowsocksUrl.ts:17 msgid "Invalid Shadowsocks URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:369 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:331 #: src/validators/validateShadowsocksUrl.ts:9 msgid "Invalid Shadowsocks URL: must start with ss://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:444 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:406 #: src/validators/validateShadowsocksUrl.ts:97 msgid "Invalid Shadowsocks URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:718 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:675 #: src/validators/validateSocksUrl.ts:49 msgid "Invalid SOCKS URL: invalid host and port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:734 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:691 #: src/validators/validateSocksUrl.ts:68 msgid "Invalid SOCKS URL: invalid port number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:711 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:668 #: src/validators/validateSocksUrl.ts:41 msgid "Invalid SOCKS URL: missing host and port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:682 #: src/validators/validateSocksUrl.ts:57 msgid "Invalid SOCKS URL: missing hostname or IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:729 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:686 #: src/validators/validateSocksUrl.ts:62 msgid "Invalid SOCKS URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:704 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:661 #: src/validators/validateSocksUrl.ts:33 msgid "Invalid SOCKS URL: missing username" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:691 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:650 #: src/validators/validateSocksUrl.ts:18 msgid "Invalid SOCKS URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:683 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:642 #: src/validators/validateSocksUrl.ts:9 msgid "Invalid SOCKS URL: must start with socks4://, socks4a://, or socks5://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:738 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:695 #: src/validators/validateSocksUrl.ts:72 msgid "Invalid SOCKS URL: parsing failed" msgstr "" @@ -3684,191 +3923,191 @@ msgstr "" msgid "Invalid time format. Expected HH:MM (e.g. 22:00)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:636 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:595 #: src/validators/validateTrojanUrl.ts:16 msgid "Invalid Trojan URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:630 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:589 #: src/validators/validateTrojanUrl.ts:9 msgid "Invalid Trojan URL: must start with trojan://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:631 #: src/validators/validateTrojanUrl.ts:61 msgid "Invalid Trojan URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:953 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:892 #: src/validators/validateTuicUrl.ts:103 msgid "Invalid TUIC URL: congestion_control must be bbr, cubic, or new_reno" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:976 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:909 #: src/validators/validateTuicUrl.ts:128 msgid "Invalid TUIC URL: insecure must be 0 or 1" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:926 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:868 #: src/validators/validateTuicUrl.ts:71 msgid "Invalid TUIC URL: invalid host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:940 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:882 #: src/validators/validateTuicUrl.ts:88 msgid "Invalid TUIC URL: invalid port number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:897 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:839 #: src/validators/validateTuicUrl.ts:35 msgid "Invalid TUIC URL: missing credentials/server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:931 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:873 #: src/validators/validateTuicUrl.ts:77 msgid "Invalid TUIC URL: missing host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:908 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:850 #: src/validators/validateTuicUrl.ts:49 msgid "Invalid TUIC URL: missing host & port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:876 #: src/validators/validateTuicUrl.ts:81 msgid "Invalid TUIC URL: missing port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:903 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:914 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:845 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:856 #: src/validators/validateTuicUrl.ts:43 #: src/validators/validateTuicUrl.ts:57 msgid "Invalid TUIC URL: missing UUID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:888 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:830 #: src/validators/validateTuicUrl.ts:23 msgid "Invalid TUIC URL: must not contain spaces" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:882 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:824 #: src/validators/validateTuicUrl.ts:16 msgid "Invalid TUIC URL: must start with tuic://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:999 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:929 #: src/validators/validateTuicUrl.ts:154 msgid "Invalid TUIC URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:993 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:923 #: src/validators/validateTuicUrl.ts:147 msgid "Invalid TUIC URL: sni cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:965 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:901 #: src/validators/validateTuicUrl.ts:116 msgid "Invalid TUIC URL: udp_relay_mode must be native, quic, or qux" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:919 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:861 #: src/validators/validateTuicUrl.ts:63 msgid "Invalid TUIC URL: UUID must be a valid UUID v4 format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:985 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:915 #: src/validators/validateTuicUrl.ts:138 msgid "Invalid TUIC URL: zero_rtt_handshake must be 0, 1, true, or false" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:157 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:172 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:195 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:174 #: src/validators/validateUrl.ts:9 #: src/validators/validateUrl.ts:35 #: src/validators/validateUrl.ts:38 msgid "Invalid URL format" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:560 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:521 #: src/validators/validateVlessUrl.ts:117 msgid "Invalid VLESS URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:620 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:579 #: src/validators/validateVmessUrl.ts:68 msgid "Invalid VMess URL: parsing failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10933 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11248 msgid "IP Addresses (IP CIDR)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13748 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:772 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12970 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:783 msgid "IP Frag Bounds (--ip-frag)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10137 msgid "IPs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1594 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1618 msgid "IPv4 only" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1596 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1620 msgid "IPv6 only" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1846 msgid "Isolate BitTorrent traffic and force it direct to prevent VPN bans" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15855 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15347 #: src/tachyon/tabs/diagnostic/initController.ts:749 msgid "Issues" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10214 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10800 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9752 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10241 #: src/tachyon/tabs/diagnostic/checks/getCheckItemsMeta.ts:17 #: src/tachyon/tabs/diagnostic/helpers/getMeta.ts:20 msgid "Issues detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16297 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15661 #: src/tachyon/tabs/diagnostic/initController.ts:1221 msgid "Issues detected. Review the diagnosis above." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9783 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10059 msgid "Japan (jp)" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1124 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4068 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4331 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9385 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9661 msgid "JSON outbound" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:306 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:274 #: src/validators/validateOutboundJson.ts:50 msgid "JSON outbound cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:315 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:283 #: src/validators/validateOutboundJson.ts:62 msgid "JSON outbound must be a JSON object" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:289 #: src/validators/validateOutboundJson.ts:70 msgid "JSON outbound must contain a non-empty tag field" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:318 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:286 #: src/validators/validateOutboundJson.ts:66 msgid "JSON outbound must contain a non-empty type field" msgstr "" @@ -3877,59 +4116,59 @@ msgstr "" msgid "JSON outbound settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8840 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9081 msgid "Junk Max Size (Jmax)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8839 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9080 msgid "Junk Min Size (Jmin)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3452 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3505 msgid "Junk packet count (Jc)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8838 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9079 msgid "Junk Packet Count (Jc)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3464 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3517 msgid "Junk packet max size (Jmax)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3458 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3511 msgid "Junk packet min size (Jmin)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3548 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3601 msgid "Junk payload (J1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3554 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3607 msgid "Junk payload (J2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3560 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3613 msgid "Junk payload (J3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3536 msgid "Junk size for cookie packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3471 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3524 msgid "Junk size for initiation packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3477 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3530 msgid "Junk size for response packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3489 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3542 msgid "Junk size for transport packet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9786 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10062 msgid "Kazakhstan (kz)" msgstr "" @@ -3937,7 +4176,7 @@ msgstr "" msgid "Keep Priority before latency-sorted servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2124 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2148 msgid "Keep the previous working binary/package on the router flash for instant offline rollback if needed. Consumes extra storage." msgstr "" @@ -3945,15 +4184,20 @@ msgstr "" msgid "Keep URLTest before latency-sorted servers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1578 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3655 +msgid "Keepalive Timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1602 msgid "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9103 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9379 msgid "Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2853 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2871 msgid "Key path" msgstr "" @@ -3961,12 +4205,12 @@ msgstr "" msgid "Keyword must not contain spaces or commas" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16534 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15877 #: src/tachyon/tabs/diagnostic/initController.ts:1464 msgid "LAN Devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2502 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2526 msgid "Language for AI Doctor diagnosis responses" msgstr "" @@ -3974,26 +4218,31 @@ msgstr "" msgid "Laptop / PC (💻)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3844 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3863 -#: src/tachyon/methods/shell/index.ts:519 -#: src/tachyon/methods/shell/index.ts:540 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13951 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:46 +msgid "Latency" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3648 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3667 +#: src/tachyon/methods/shell/index.ts:547 +#: src/tachyon/methods/shell/index.ts:568 msgid "Latency test failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2135 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2159 msgid "Latency test URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20398 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21301 -#: src/tachyon/tabs/updates/initController.ts:362 -#: src/tachyon/tabs/updates/initController.ts:1421 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19612 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20574 +#: src/tachyon/tabs/updates/initController.ts:375 +#: src/tachyon/tabs/updates/initController.ts:1591 msgid "Latest version is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21303 -#: src/tachyon/tabs/updates/initController.ts:1423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20576 +#: src/tachyon/tabs/updates/initController.ts:1593 msgid "Latest version:" msgstr "" @@ -4009,121 +4258,131 @@ msgstr "" msgid "Limit device network usage per day. When the quota is exhausted, the device is blocked until midnight. 0 disables the limit." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7221 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7227 msgid "List must be an HTTP(S) URL or a local .lst path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2821 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2845 msgid "List of domains automatically detected and the section they were added to. To edit or remove them, open the routing rules of the respective section." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1944 msgid "List Update Frequency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2695 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2713 msgid "Listen address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2702 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2720 msgid "Listen port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10008 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:125 msgid "Listening port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1977 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2001 msgid "Lists and rule sets successfully updated!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2480 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2504 msgid "LM Studio (Local PC / Server)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8630 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8645 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8743 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8758 msgid "Load .conf" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8556 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8666 msgid "Load .conf config" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7672 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7678 msgid "Load Current Records" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7666 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7672 msgid "Loaded %d current record(s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8721 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8935 msgid "Loaded!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1791 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1809 msgid "Loading client link..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16319 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15680 #: src/tachyon/tabs/diagnostic/initController.ts:1243 msgid "Loading connected LAN devices..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17600 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18370 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16881 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17613 #: src/tachyon/tabs/monitoring/initController.ts:1002 #: src/tachyon/tabs/monitoring/render.ts:101 msgid "Loading connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12171 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11474 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11513 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:150 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:194 msgid "Loading service list..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21141 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21156 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21174 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21188 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21202 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21216 -#: src/tachyon/tabs/updates/initController.ts:1253 -#: src/tachyon/tabs/updates/initController.ts:1268 -#: src/tachyon/tabs/updates/initController.ts:1286 -#: src/tachyon/tabs/updates/initController.ts:1300 -#: src/tachyon/tabs/updates/initController.ts:1314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20451 +#: src/tachyon/tabs/updates/initController.ts:1456 +msgid "Loading versions..." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20313 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20327 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20371 +#: src/tachyon/tabs/updates/initController.ts:1275 +#: src/tachyon/tabs/updates/initController.ts:1291 +#: src/tachyon/tabs/updates/initController.ts:1313 #: src/tachyon/tabs/updates/initController.ts:1328 +#: src/tachyon/tabs/updates/initController.ts:1343 +#: src/tachyon/tabs/updates/initController.ts:1357 msgid "Loading..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8747 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8961 msgid "Local Address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2282 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2306 msgid "Log Level" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2110 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13952 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:47 +msgid "Loss" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2134 msgid "LuCI Web UI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6689 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6354 #: src/tachyon/helpers/singBoxVariant.ts:58 msgid "lx" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9824 #: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:67 msgid "Main DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1369 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1386 msgid "Main DNS server. If multiple servers are selected, a timeout switches to a backup." msgstr "" @@ -4131,65 +4390,70 @@ msgstr "" msgid "Main overview and status widgets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2447 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8307 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8705 -#: src/tachyon/tabs/dashboard/initController.ts:914 -#: src/tachyon/tabs/dashboard/initController.ts:1346 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7927 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8267 +#: src/tachyon/tabs/dashboard/initController.ts:917 +#: src/tachyon/tabs/dashboard/initController.ts:1349 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:450 msgid "Manual" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1957 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1981 msgid "Manual list update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9151 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9427 msgid "MASQUE Access Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9139 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9415 msgid "MASQUE Account ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9127 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9403 msgid "MASQUE Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3354 msgid "Masquerade LAN traffic into tailnet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10138 msgid "Match destination IPs or subnets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10055 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10332 msgid "Match destination ports. Use a single port or a range" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11040 msgid "Match Found" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10063 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10340 msgid "Match traffic by packet DSCP mark (assigned in Windows via Policy-Based QoS). Examples: 46 (EF), 0x2e, 34 (AF41)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2764 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3661 +msgid "Max Handshake Attempts" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2788 msgid "Max reconnects per hour before alert (default 10)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3465 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3518 msgid "Maximum size of junk packets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1504 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1528 msgid "Maximum time to wait for example.com to resolve during a DNS health check." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9149 -#: src/tachyon/tabs/dashboard/initController.ts:1877 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8682 +#: src/tachyon/tabs/dashboard/initController.ts:1884 msgid "Memory Usage" msgstr "" @@ -4201,11 +4465,11 @@ msgstr "" msgid "Messengers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3028 msgid "Method" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2668 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2692 msgid "Metrics Retention (hours)" msgstr "" @@ -4220,19 +4484,19 @@ msgstr "" msgid "Minimum latency difference in milliseconds that triggers switching to a faster server." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3459 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3512 msgid "Minimum size of junk packets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9678 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9954 msgid "Mixed Proxy Password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9601 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9877 msgid "Mixed Proxy Port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9642 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9918 msgid "Mixed Proxy Username" msgstr "" @@ -4240,7 +4504,7 @@ msgstr "" msgid "Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2489 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2513 msgid "Model name to use. Leave empty to use default (gpt-4o-mini / claude-3-5-haiku / deepseek-chat / llama3:latest)." msgstr "" @@ -4252,7 +4516,7 @@ msgstr "" msgid "Monday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1733 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1757 msgid "Monitored Interfaces" msgstr "" @@ -4262,7 +4526,7 @@ msgstr "" msgid "Monitoring" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2751 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2775 msgid "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour." msgstr "" @@ -4274,12 +4538,12 @@ msgstr "" msgid "Move Up" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8810 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3395 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9024 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3413 msgid "MTU" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3043 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3067 msgid "Must be a comma-separated list of numeric IDs" msgstr "" @@ -4288,13 +4552,13 @@ msgstr "" msgid "Must be a number in the range of 0 - 10000" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13129 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12372 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:94 msgid "My Strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13880 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:918 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13096 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:929 msgid "Name" msgstr "" @@ -4307,18 +4571,18 @@ msgstr "" msgid "Name shown in the priority level list" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16605 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16705 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16027 #: src/tachyon/tabs/diagnostic/initController.ts:1533 #: src/tachyon/tabs/diagnostic/initController.ts:1643 msgid "Native internet restored. Tachyon stopped." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3326 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3344 msgid "Native tailscaled (tailnet reachable from LAN without client)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9776 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10052 msgid "Netherlands (nl)" msgstr "" @@ -4327,7 +4591,7 @@ msgid "Network & Interfaces" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1950 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9344 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9620 msgid "Network Interface" msgstr "" @@ -4335,30 +4599,30 @@ msgstr "" msgid "Network interface settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7821 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7827 msgid "New domains:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7075 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6767 #: src/tachyon/services/core.service.ts:38 msgid "New version %s is available for %s" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10894 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11013 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10309 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:100 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:97 msgid "NFQUEUE range is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10893 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11012 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10309 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:99 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:96 msgid "NFQUEUE range overlaps with another rule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7446 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7452 msgid "NFQWS Strategy" msgstr "" @@ -4366,7 +4630,7 @@ msgstr "" msgid "NFQWS strategy cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7479 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7485 msgid "NFQWS2 Strategy" msgstr "" @@ -4374,28 +4638,28 @@ msgstr "" msgid "NFQWS2 strategy cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8235 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8296 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8694 -#: src/tachyon/tabs/dashboard/initController.ts:822 -#: src/tachyon/tabs/dashboard/initController.ts:826 -#: src/tachyon/tabs/dashboard/initController.ts:902 -#: src/tachyon/tabs/dashboard/initController.ts:1334 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7855 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7858 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7918 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8258 +#: src/tachyon/tabs/dashboard/initController.ts:825 +#: src/tachyon/tabs/dashboard/initController.ts:829 +#: src/tachyon/tabs/dashboard/initController.ts:905 +#: src/tachyon/tabs/dashboard/initController.ts:1337 msgid "No" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3032 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2845 #: src/tachyon/tabs/dashboard/partials/renderConnections.ts:63 msgid "No active clients" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18391 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17632 #: src/tachyon/tabs/monitoring/initController.ts:1026 msgid "No active connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16330 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15691 #: src/tachyon/tabs/diagnostic/initController.ts:1255 msgid "No active DHCP clients found on local network." msgstr "" @@ -4404,37 +4668,42 @@ msgstr "" msgid "No active routing sections found." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14098 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1151 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14007 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:109 +msgid "No benchmark data yet. Click \"Start Benchmark\" to begin." +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13298 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1162 msgid "No benchmark history yet. Run a benchmark to see results here." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13513 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12742 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:525 msgid "No benchmark results yet. Configure options and click \"Start Benchmark\"." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12250 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11549 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:239 msgid "No check targets found in the configuration." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18392 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17632 #: src/tachyon/tabs/monitoring/initController.ts:1027 msgid "No closed connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9934 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:32 msgid "No conflict detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10806 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11121 msgid "No Custom Rules Matched" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13907 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:945 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13121 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:956 msgid "No custom strategies added yet." msgstr "" @@ -4447,60 +4716,60 @@ msgstr "" msgid "No devices assigned" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16016 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15474 #: src/tachyon/tabs/diagnostic/initController.ts:943 msgid "No DHCP clients detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16455 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15807 #: src/tachyon/tabs/diagnostic/initController.ts:1382 msgid "No diagnostic history available yet." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2838 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2862 msgid "No domains detected yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10568 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10054 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:187 msgid "No enabled server inbounds configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7681 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7687 msgid "No file selected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16307 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15668 #: src/tachyon/tabs/diagnostic/initController.ts:1230 msgid "No issues detected. System is running normally." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15866 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15349 #: src/tachyon/tabs/diagnostic/initController.ts:760 msgid "No issues found" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10690 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10159 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:105 msgid "No other marking rules found" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10492 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9987 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:99 msgid "No public firewall port required" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11119 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10474 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:79 msgid "No rules use ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10876 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10299 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:79 msgid "No rules use Zapret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:82 msgid "No rules use Zapret2" msgstr "" @@ -4514,101 +4783,113 @@ msgstr "" msgid "No snapshots yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14205 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1264 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13395 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1275 msgid "No strategies match the active filter." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8591 -#: src/tachyon/tabs/dashboard/initController.ts:1211 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20407 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20410 +#: src/tachyon/tabs/updates/initController.ts:1403 +#: src/tachyon/tabs/updates/initController.ts:1406 +msgid "No versions found" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13834 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1787 +msgid "No working strategy to apply" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8160 +#: src/tachyon/tabs/dashboard/initController.ts:1214 msgid "Node list is empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8392 -#: src/tachyon/tabs/dashboard/initController.ts:1010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7999 +#: src/tachyon/tabs/dashboard/initController.ts:1013 msgid "Nodes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16007 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15471 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:871 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:884 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:897 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:928 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:449 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2783 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3075 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3084 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2801 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3093 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3102 #: src/tachyon/tabs/diagnostic/initController.ts:934 msgid "None" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2617 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5872 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10448 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14875 -#: src/tachyon/methods/custom/getDashboardSections.ts:1654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9943 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14440 +#: src/tachyon/methods/custom/getDashboardSections.ts:1666 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:623 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:46 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:152 msgid "Not configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2336 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2816 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:335 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:829 msgid "Not connected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10578 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9964 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10064 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:70 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:199 msgid "Not detected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12044 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11349 #: src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:193 msgid "Not implement yet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6670 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6676 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14621 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14626 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14631 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21177 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21191 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21205 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21219 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6344 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13852 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20371 #: src/tachyon/helpers/singBoxVariant.ts:34 #: src/tachyon/helpers/singBoxVariant.ts:42 -#: src/tachyon/tabs/updates/initController.ts:1289 -#: src/tachyon/tabs/updates/initController.ts:1303 -#: src/tachyon/tabs/updates/initController.ts:1317 +#: src/tachyon/tabs/updates/initController.ts:1316 #: src/tachyon/tabs/updates/initController.ts:1331 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1733 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1738 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1743 +#: src/tachyon/tabs/updates/initController.ts:1346 +#: src/tachyon/tabs/updates/initController.ts:1360 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1804 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1809 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1814 msgid "Not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10462 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9957 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:62 msgid "Not public" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10528 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10015 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:139 msgid "Not required for this listen address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2333 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2813 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14823 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14845 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14850 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14898 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2649 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14391 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14410 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14415 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14463 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:332 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:826 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:91 @@ -4618,11 +4899,11 @@ msgstr "" msgid "Not responding" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6226 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15353 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15531 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15578 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15651 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5910 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14871 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15041 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15087 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15149 #: src/tachyon/tabs/diagnostic/diagnostic.store.ts:152 #: src/tachyon/tabs/diagnostic/initController.ts:127 #: src/tachyon/tabs/diagnostic/initController.ts:358 @@ -4631,7 +4912,7 @@ msgstr "" msgid "Not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10878 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11193 msgid "Not set" msgstr "" @@ -4639,63 +4920,63 @@ msgstr "" msgid "Notify in Telegram" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3125 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3149 msgid "Notify on Certificate Warnings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3073 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3097 msgid "Notify on Core Crashes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3138 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3162 msgid "Notify on DNS Leaks" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3123 msgid "Notify on Server Switches" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3086 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3110 msgid "Notify on Service Restarts" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3136 msgid "Notify on Subscription Updates" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1516 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1540 msgid "Number of consecutive failed checks required before switching DNS servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2219 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2243 msgid "Number of consecutive failed probes before switching sections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2595 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2619 msgid "Number of consecutive failures before restarting (default 3)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1536 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1560 msgid "Number of consecutive successful checks required before returning to a higher-priority DNS server." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3453 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3506 msgid "Number of junk packets before handshake (1-10)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3083 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3101 msgid "Obfuscation" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3106 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3124 msgid "Obfuscation password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2479 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2503 msgid "Ollama (Local PC / Server)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7983 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7989 msgid "One record per line: example.com 192.168.1.100 or 192.168.1.100 example.com. Lines starting with # are ignored." msgstr "" @@ -4733,15 +5014,15 @@ msgstr "" msgid "Only the specified servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13730 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:754 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12952 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:765 msgid "OOB Values (-o)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21278 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21315 -#: src/tachyon/tabs/updates/initController.ts:1397 -#: src/tachyon/tabs/updates/initController.ts:1436 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20551 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20588 +#: src/tachyon/tabs/updates/initController.ts:1567 +#: src/tachyon/tabs/updates/initController.ts:1606 msgid "Open" msgstr "" @@ -4749,58 +5030,58 @@ msgstr "" msgid "Open priority settings and enter a display name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14738 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14313 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:31 msgid "Open Project Page" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19984 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:324 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:329 msgid "Operation completed successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20115 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19355 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:471 msgid "Operation failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19804 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19859 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:110 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:172 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19070 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19125 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:115 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:177 msgid "Operation in progress..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19845 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:157 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19111 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:162 msgid "Operation log" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3964 -#: src/tachyon/methods/shell/index.ts:663 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3766 +#: src/tachyon/methods/shell/index.ts:696 msgid "Operation log is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19841 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19107 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:157 msgid "Operation started. Waiting for log output..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1161 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3820 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3892 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1066 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3628 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3696 #: src/helpers/withTimeout.ts:7 -#: src/tachyon/methods/shell/index.ts:489 -#: src/tachyon/methods/shell/index.ts:577 +#: src/tachyon/methods/shell/index.ts:517 +#: src/tachyon/methods/shell/index.ts:605 msgid "Operation timed out" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16173 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15563 #: src/tachyon/tabs/diagnostic/initController.ts:1100 msgid "Optimize AWG MTU" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16165 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15555 #: src/tachyon/tabs/diagnostic/initController.ts:1092 msgid "Optimize RAM memory" msgstr "" @@ -4810,16 +5091,16 @@ msgstr "" msgid "Option \"%s\" contains an invalid input value." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9115 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9391 msgid "Optional — leave empty for default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13974 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1018 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13185 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1029 msgid "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9260 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9536 msgid "Optional tls-auth or tls-crypt key" msgstr "" @@ -4835,21 +5116,21 @@ msgstr "" msgid "Optionally specify individual devices not in a profile. MAC addresses (e.g. AA:BB:CC:DD:EE:FF) work even if the IP changes." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7922 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7928 msgid "Or paste hosts file content:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9247 -#: src/tachyon/tabs/dashboard/initController.ts:1985 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8792 +#: src/tachyon/tabs/dashboard/initController.ts:2028 msgid "Other peers" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:356 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:318 #: src/validators/validateOutboundJson.ts:111 msgid "outbounds must be a non-empty array of strings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1670 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1694 msgid "Output Network Interface" msgstr "" @@ -4857,23 +5138,23 @@ msgstr "" msgid "Override the default OpenWrt device headers for this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7951 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7957 msgid "Overwrite existing records (if unchecked, merge with existing records)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1831 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1855 msgid "P2P Client Ports" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1821 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1845 msgid "P2P Leak Protection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3165 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3183 msgid "Padding" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1358 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1375 msgid "Parallel (fast failover, ≤3 s)" msgstr "" @@ -4883,112 +5164,112 @@ msgstr "" msgid "Parental Control" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7810 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7816 msgid "Parsed records:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8937 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9071 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3046 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9213 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9347 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3064 msgid "Password" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9704 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9980 msgid "Password cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7716 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7744 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7722 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7750 msgid "Paste content or upload a file to preview imported DNS records." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:205 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:182 #: src/validators/validatePath.ts:7 msgid "Path cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2263 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2287 msgid "Path must be absolute (start with /)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2272 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2296 msgid "Path must contain at least one directory (like /tmp/cache.db)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2267 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2291 msgid "Path must end with cache.db" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12371 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:93 msgid "Pattern Builder" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13783 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:808 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13003 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:819 msgid "Patterns reset to defaults!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4513 -#: src/tachyon/methods/shell/index.ts:1352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4326 +#: src/tachyon/methods/shell/index.ts:1448 msgid "Patterns reset to factory defaults" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4488 -#: src/tachyon/methods/shell/index.ts:1314 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4302 +#: src/tachyon/methods/shell/index.ts:1410 msgid "Patterns saved successfully" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13769 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12989 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:805 msgid "Patterns saved successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17579 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17580 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17405 #: src/tachyon/tabs/monitoring/initController.ts:746 #: src/tachyon/tabs/monitoring/render.ts:80 #: src/tachyon/tabs/monitoring/render.ts:81 msgid "Pause updates" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3530 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3583 msgid "Payload (I3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3536 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3589 msgid "Payload (I4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3542 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3595 msgid "Payload (I5)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8770 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8984 msgid "Peer Public Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9224 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9500 msgid "PEM-encoded CA certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9236 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9512 msgid "PEM-encoded client certificate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9248 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9524 msgid "PEM-encoded client private key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6146 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5830 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:971 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:984 #: src/tachyon/tabs/diagnostic/diagnostic.store.ts:63 msgid "Pending" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11429 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:98 msgid "Pending..." msgstr "" @@ -4997,16 +5278,16 @@ msgstr "" msgid "Periodically check the current level and switch to a faster server even when the current one works." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2571 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2595 msgid "Periodically checks if the proxy is responding. Restarts Tachyon after consecutive failures." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8821 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3402 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9035 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3420 msgid "Persistent Keepalive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2722 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2746 msgid "Persistent Smart Detect" msgstr "" @@ -5023,42 +5304,42 @@ msgstr "" msgid "Pin on dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1832 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1856 msgid "Pin P2P isolation to the torrent client's own ports, comma separated. Each entry is \"proto\", \"proto:port\" or \"proto:port-port\" (tcp/udp). Without a port the whole protocol is routed direct." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1402 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1419 msgid "Plain-UDP DNS servers used as a last resort when all primary DNS fail. These are always unencrypted (no DoH/DoT). Example: 1.1.1.1, 8.8.8.8. Unlike the ISP fallback toggle, these are your own chosen servers." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13825 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:859 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13045 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:870 msgid "Please specify strategy name and arguments" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3052 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3076 msgid "Polling Interval (seconds)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3065 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3089 msgid "Polling interval must be at least 1 second" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9612 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9888 msgid "Port cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10428 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9923 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:19 msgid "Port conflict" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9602 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9878 msgid "Port for the local mixed proxy of this section" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5523 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1918 msgid "Port must be between 1 and 65535" msgstr "" @@ -5066,44 +5347,49 @@ msgstr "" msgid "Port range start must be less than or equal to end" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1866 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1890 msgid "Port range start must not exceed its end" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10054 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10940 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10331 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11255 msgid "Ports" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1886 msgid "Ports must be between 1 and 65535" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2543 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2567 msgid "Pre-built index of Tachyon documentation chunks. When enabled, AI Doctor searches relevant docs before generating a diagnosis." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2019 msgid "Pre-download all preset lists" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8996 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20477 +#: src/tachyon/tabs/updates/initController.ts:1484 +msgid "pre-release" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9272 msgid "Pre-shared key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3443 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3461 msgid "Pre-shared Key (PSK)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1593 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1617 msgid "Prefer IPv4" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1595 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1619 msgid "Prefer IPv6" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3208 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3226 msgid "Preferred IP" msgstr "" @@ -5111,35 +5397,40 @@ msgstr "" msgid "Prefix text" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14481 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1572 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13704 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1637 msgid "Preparing strategies and isolated nftables queue..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8804 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9018 msgid "Preshared Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2642 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2666 msgid "Prevents multiple reload_firewall calls within 120 seconds to avoid connection drops." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9471 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10790 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14115 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:232 +msgid "Primary DNS" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9747 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11105 msgid "Priority" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2532 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2533 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8834 -#: src/tachyon/tabs/dashboard/initController.ts:1494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2421 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8382 +#: src/tachyon/tabs/dashboard/initController.ts:1497 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:536 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:537 msgid "Priority details" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8782 -#: src/tachyon/tabs/dashboard/initController.ts:1431 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8332 +#: src/tachyon/tabs/dashboard/initController.ts:1434 msgid "Priority details are unavailable" msgstr "" @@ -5158,7 +5449,7 @@ msgstr "" msgid "Priority settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8759 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8973 msgid "Private Key" msgstr "" @@ -5186,167 +5477,199 @@ msgstr "" msgid "Protection" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13949 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2091 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9188 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2643 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2677 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9464 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2661 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2695 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:44 msgid "Protocol" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13295 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:276 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9048 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3471 +msgid "Protocol version: 2.0 (standard integer headers) or 3.1 (header protection key, padding ranges, advanced timers)" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13948 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:43 +msgid "Provider" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12535 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:287 msgid "Provider Global Default" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12066 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11375 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:29 msgid "Proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15767 #: src/tachyon/tabs/diagnostic/initController.ts:1338 msgid "Proxy / DPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2594 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2618 msgid "Proxy Fail Threshold" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2583 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2607 msgid "Proxy Health Check Interval (s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2605 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2629 msgid "Proxy Health Check URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8228 -#: src/tachyon/tabs/dashboard/initController.ts:817 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7851 +#: src/tachyon/tabs/dashboard/initController.ts:820 msgid "Proxy link is unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3149 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3173 msgid "Proxy Section for Bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8897 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9173 msgid "Proxy to use for WARP API registration (api.cloudflareclient.com)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9271 msgid "PSK" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10443 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9938 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2727 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:40 msgid "Public host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1674 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1692 msgid "QR code is too large" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10079 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10098 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10356 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10375 msgid "QUIC (HTTP/3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14032 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1075 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13235 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1086 msgid "RAG Knowledge Base + Live ISP Probe Context" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10085 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13953 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:48 +msgid "Rating" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10362 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10381 msgid "RDP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8731 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8945 msgid "Read error" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2871 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13936 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:29 +msgid "Ready to benchmark DNS providers" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2889 msgid "Reality fake site" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2882 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900 msgid "Reality fake site port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2925 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2943 msgid "Reality max time difference" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2893 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2911 msgid "Reality private key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2918 msgid "Reality public key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2906 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2924 msgid "Reality short ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2192 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2210 msgid "Reality short ID must contain 1-8 hex digits" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15542 #: src/tachyon/tabs/diagnostic/initController.ts:1079 msgid "Rebuild firewall rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21297 -#: src/tachyon/tabs/updates/initController.ts:1417 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20570 +#: src/tachyon/tabs/updates/initController.ts:1587 msgid "Rebuilt release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14452 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1541 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13674 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1603 msgid "Recommended" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16238 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14087 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:202 +msgid "Recommended DNS Configuration" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14230 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:363 +msgid "Recommended DNS settings applied successfully and service restarted!" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15612 #: src/tachyon/tabs/diagnostic/initController.ts:1163 msgid "Recommended Quick Fixes:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2763 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2787 msgid "Reconnect Threshold" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16158 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15548 #: src/tachyon/tabs/diagnostic/initController.ts:1085 msgid "Reconnect WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2680 msgid "Records proxy/DNS latency and health status in hourly buckets for analysis." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8054 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8060 msgid "Records: %d" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2118 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:138 msgid "Refill" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16354 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15714 #: src/tachyon/tabs/diagnostic/initController.ts:1280 msgid "Refresh" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16334 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15695 #: src/tachyon/tabs/diagnostic/initController.ts:1259 msgid "Refresh Device List" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8896 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9172 msgid "Registration Detour" msgstr "" @@ -5354,22 +5677,37 @@ msgstr "" msgid "Regular expression must not contain spaces or commas" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21040 -#: src/tachyon/tabs/updates/initController.ts:1148 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20213 +#: src/tachyon/tabs/updates/initController.ts:1170 msgid "Reinstall" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20005 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3649 +msgid "Reject After Time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9124 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3637 +msgid "Rekey After Time" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9125 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3643 +msgid "Rekey Timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19263 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:354 msgid "Reload now" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20037 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19290 #: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:390 msgid "Reloading..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8132 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8138 msgid "Remote Hosts Lists" msgstr "" @@ -5377,14 +5715,14 @@ msgstr "" msgid "Remote management Telegram daemon" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19983 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19243 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:328 msgid "Removal completed successfully!" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20992 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8246 -#: src/tachyon/tabs/updates/initController.ts:1095 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20174 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8260 +#: src/tachyon/tabs/updates/initController.ts:1117 msgid "Remove" msgstr "" @@ -5400,12 +5738,12 @@ msgstr "" msgid "Remove the specified servers from this level." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19808 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19074 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:119 msgid "Removing" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9628 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9904 msgid "Require a username and password for the local mixed proxy" msgstr "" @@ -5413,14 +5751,14 @@ msgstr "" msgid "Reset" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16172 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15562 #: src/tachyon/tabs/diagnostic/initController.ts:1099 msgid "Reset Bootstrap DNS" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:415 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:456 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2405 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2429 msgid "Reset Settings" msgstr "" @@ -5428,16 +5766,16 @@ msgstr "" msgid "Resetting…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9715 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9991 msgid "Resolve domain names before routing so sing-box can use real destination IPs." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15549 #: src/tachyon/tabs/diagnostic/initController.ts:1086 msgid "Resolve gateway" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9714 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9990 msgid "Resolve real IP for routing" msgstr "" @@ -5457,57 +5795,57 @@ msgstr "" msgid "Resource selection by IP or CIDR inside nfqws2 is not supported here; sing-box selects resources before NFQUEUE." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3500 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3553 msgid "Response packet header (H2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3476 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3529 msgid "Response packet junk size (S2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8842 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9083 msgid "Response Packet Magic Header (S2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8844 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9085 msgid "Response Packet Magic Header (S4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3524 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3577 msgid "Response payload (I2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15543 #: src/tachyon/tabs/diagnostic/initController.ts:1080 msgid "Restart dnsmasq" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16162 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15552 #: src/tachyon/tabs/diagnostic/initController.ts:1089 msgid "Restart firewall" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16163 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15553 #: src/tachyon/tabs/diagnostic/initController.ts:1090 msgid "Restart network" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16156 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15546 #: src/tachyon/tabs/diagnostic/initController.ts:1083 msgid "Restart sing-box DNS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11745 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11050 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:64 msgid "Restart Tachyon" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16164 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15554 #: src/tachyon/tabs/diagnostic/initController.ts:1091 msgid "Restart Zapret/ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2681 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2539 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:688 msgid "Restarts" msgstr "" @@ -5517,22 +5855,22 @@ msgstr "" msgid "Restore" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16157 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15547 #: src/tachyon/tabs/diagnostic/initController.ts:1084 msgid "Restore config backup" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11823 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16669 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16693 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15992 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16015 #: src/tachyon/tabs/diagnostic/initController.ts:1603 #: src/tachyon/tabs/diagnostic/initController.ts:1627 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:142 msgid "Restore Native Internet" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16169 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16588 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15559 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15921 #: src/tachyon/tabs/diagnostic/initController.ts:1096 #: src/tachyon/tabs/diagnostic/initController.ts:1516 msgid "Restore Native Internet (Stop Tachyon)" @@ -5542,26 +5880,26 @@ msgstr "" msgid "Restore Snapshot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2406 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2430 msgid "Restores the Tachyon factory defaults: all rules, subscriptions, custom DNS servers and other options will be lost." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16591 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16697 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15924 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16019 #: src/tachyon/tabs/diagnostic/initController.ts:1519 #: src/tachyon/tabs/diagnostic/initController.ts:1631 msgid "Restoring native direct internet (stopping Tachyon)..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2745 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2763 msgid "Restrict LAN access for specific users" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2756 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2774 msgid "Restricted users (auth_user)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18152 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17405 #: src/tachyon/tabs/monitoring/initController.ts:746 msgid "Resume updates" msgstr "" @@ -5570,61 +5908,61 @@ msgstr "" msgid "Return NXDOMAIN for blocked domains (recommended). When enabled, blocked domains are not resolved at all. When disabled, only direct connections are rejected." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20971 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20971 -#: src/tachyon/tabs/updates/initController.ts:1065 -#: src/tachyon/tabs/updates/initController.ts:1065 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20153 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20153 +#: src/tachyon/tabs/updates/initController.ts:1087 +#: src/tachyon/tabs/updates/initController.ts:1087 msgid "Rollback" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12440 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18264 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18319 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11725 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17514 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17565 #: src/tachyon/tabs/monitoring/initController.ts:880 #: src/tachyon/tabs/monitoring/initController.ts:943 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:444 msgid "Route" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3368 msgid "Route all non-local LAN traffic through the tailnet exit node instead of the proxy engines." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3150 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3174 msgid "Route bot API requests through this section. Leave empty to use the default mixed proxy." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1605 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1629 msgid "Route main DNS requests through the selected section." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7424 msgid "Route requests to this DNS server through another section." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16419 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15773 #: src/tachyon/tabs/diagnostic/initController.ts:1345 msgid "Route via Proxy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2721 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2739 msgid "Routing mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10652 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10967 msgid "Routing Rule Tracer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10496 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10505 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10533 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9991 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10000 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10019 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:103 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:114 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:144 msgid "Routing rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2730 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2748 msgid "Routing section" msgstr "" @@ -5632,7 +5970,7 @@ msgstr "" msgid "Routing sections, rules and strategies" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10743 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11058 msgid "Rule" msgstr "" @@ -5640,7 +5978,7 @@ msgstr "" msgid "Rule Name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7212 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7218 msgid "Rule set must be an HTTP(S) URL or a local .srs / .json path" msgstr "" @@ -5648,93 +5986,93 @@ msgstr "" msgid "Rule set settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9924 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9953 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10230 msgid "Rule sets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10934 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11249 msgid "Rule Sets (.srs / .json)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13296 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:277 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:288 msgid "Rule:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2722 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2740 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:104 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:111 msgid "Rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10134 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:79 msgid "Rules mangle counters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10659 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10129 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:74 msgid "Rules mangle exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10674 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10144 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:89 msgid "Rules mangle output counters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10669 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10139 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:84 msgid "Rules mangle output exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10684 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10154 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:99 msgid "Rules proxy counters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10679 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10149 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:94 msgid "Rules proxy exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11813 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11118 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:132 msgid "Run AI Doctor" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12051 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11360 #: src/tachyon/tabs/diagnostic/partials/renderRunAction.ts:17 msgid "Run Diagnostic" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11803 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11108 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:122 msgid "Run doctor repair" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2612 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5867 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14858 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14423 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:326 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2911 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2912 -#: src/tachyon/methods/custom/getDashboardSections.ts:1649 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2936 +#: src/tachyon/methods/custom/getDashboardSections.ts:1661 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:618 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:135 msgid "Running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14204 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1263 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13395 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1274 msgid "Running benchmarks..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3218 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3242 msgid "Running diagnostics…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9773 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10049 msgid "Russia (ru)" msgstr "" @@ -5755,11 +6093,11 @@ msgstr "" msgid "Save" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2420 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2444 msgid "Save a snapshot of the working config and restore it later if something breaks." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2123 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2147 msgid "Save component backup before update" msgstr "" @@ -5776,62 +6114,62 @@ msgstr "" msgid "Schedule Rule" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2080 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2104 msgid "Scheduled auto-update time" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13494 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14116 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:495 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1169 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13316 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:506 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1180 msgid "Score" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17556 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16838 #: src/tachyon/tabs/monitoring/render.ts:57 msgid "Search" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12396 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11684 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:397 msgid "Search domain or service..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13286 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:265 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12526 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:276 msgid "Search Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3122 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3140 msgid "Secret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1798 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1822 msgid "Secret key for authenticating remote access to YACD when WAN access is enabled." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2447 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2471 msgid "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2373 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:515 msgid "Section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11235 msgid "Section action" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7316 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7322 msgid "Section name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10946 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11261 msgid "Section Rules Content" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2326 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2350 msgid "Section used for Cloudflare WARP API registration. If your ISP blocks Cloudflare API on WAN, select a proxy section (with Mixed proxy enabled) or a tunnel interface section (WireGuard / AmneziaWG / VPN). Leave empty to use direct WAN / default mixed proxy." msgstr "" @@ -5842,12 +6180,12 @@ msgid "Sections" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2103 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2798 msgid "Security" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8565 -#: src/tachyon/tabs/dashboard/initController.ts:1185 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8140 +#: src/tachyon/tabs/dashboard/initController.ts:1188 msgid "Select" msgstr "" @@ -5855,19 +6193,19 @@ msgstr "" msgid "Select a common client profile or enter a custom User-Agent" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8769 msgid "Select a file with .conf extension" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9350 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9626 msgid "Select a network interface" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9872 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10148 msgid "Select a predefined domain list" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7445 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:88 msgid "Select a section" msgstr "" @@ -5876,7 +6214,7 @@ msgstr "" msgid "Select a section for downloading this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9549 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9825 msgid "Select a transit section" msgstr "" @@ -5884,7 +6222,7 @@ msgstr "" msgid "Select active days. If none selected, the rule applies every day." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2472 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2496 msgid "Select AI LLM provider for diagnostics" msgstr "" @@ -5896,15 +6234,15 @@ msgstr "" msgid "Select an existing URLTest or Priority group" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9838 msgid "Select an intermediate section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2791 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2815 msgid "Select and order the sections through which blocked domains are tested. Checked sections are tried top-to-bottom." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1337 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1354 msgid "Select DNS protocol to use" msgstr "" @@ -5912,11 +6250,11 @@ msgstr "" msgid "Select LAN devices to assign to this profile, or enter IP or MAC addresses manually. MAC addresses (e.g. AA:BB:CC:DD:EE:FF) work even if the device's IP changes via DHCP." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9345 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9621 msgid "Select network interface for VPN connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9769 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10045 msgid "Select one or more country ISO codes (e.g. ru, us, de, nl, fr, fi, se, tr, cn, jp, sg, by, kz, ua)." msgstr "" @@ -5924,15 +6262,15 @@ msgstr "" msgid "Select or enter a User-Agent" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2246 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2270 msgid "Select or enter path for sing-box cache file. Change this ONLY if you know what you are doing" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1890 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1914 msgid "Select or enter the IP addresses of your game consoles." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2232 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2256 msgid "Select path for sing-box config file. Change this ONLY if you know what you are doing" msgstr "" @@ -5940,25 +6278,25 @@ msgstr "" msgid "Select Sections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8800 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8350 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3204 -#: src/tachyon/tabs/dashboard/initController.ts:1454 +#: src/tachyon/tabs/dashboard/initController.ts:1457 msgid "Select the fastest node" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2283 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2307 msgid "Select the log level for sing-box" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1623 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647 msgid "Select the network interface from which the traffic will originate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1671 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1695 msgid "Select the network interface to which the traffic will originate" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1734 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758 msgid "Select the WAN interfaces to be monitored" msgstr "" @@ -5966,7 +6304,7 @@ msgstr "" msgid "Select whether to disable the target during the schedule or enable it ONLY during the schedule." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2105 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2129 msgid "Select which components are permitted to update automatically" msgstr "" @@ -5974,40 +6312,40 @@ msgstr "" msgid "Select which tab opens automatically when entering Tachyon." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8659 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8786 -#: src/tachyon/tabs/dashboard/initController.ts:1289 -#: src/tachyon/tabs/dashboard/initController.ts:1440 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8224 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8336 +#: src/tachyon/tabs/dashboard/initController.ts:1292 +#: src/tachyon/tabs/dashboard/initController.ts:1443 msgid "Selected" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2724 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2742 msgid "Selected section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:333 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:298 #: src/validators/validateOutboundJson.ts:85 msgid "Selector and URLTest outbounds must contain a non-empty outbounds array" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12895 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12154 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:67 msgid "Send" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3139 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3163 msgid "Send a Telegram notification if a potential DNS leak is detected." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3074 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3098 msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3150 msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3087 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3111 msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog." msgstr "" @@ -6015,11 +6353,11 @@ msgstr "" msgid "Send a Telegram notification to admins when a blocked site is accessed. Requires the Telegram bot to be enabled." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3100 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3124 msgid "Send a Telegram notification when a URLTest group switches to a new server." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3137 msgid "Send a Telegram notification when proxy subscriptions are successfully updated." msgstr "" @@ -6027,16 +6365,16 @@ msgstr "" msgid "Send Telegram alerts to parents when daily screen time is exhausted or blocked sites are accessed." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13654 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:676 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12878 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:687 msgid "Sequence Overlaps (seqovl)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1357 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1374 msgid "Sequential (one active at a time)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1353 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1370 msgid "Sequential: failover to the next server after N failures. Parallel: aggressive failover — switches in seconds (1 failure = switch), best if your ISP blocks DoH/DoT." msgstr "" @@ -6044,13 +6382,13 @@ msgstr "" msgid "Server" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8781 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8915 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8973 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9025 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9085 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9165 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3363 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8995 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9191 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9249 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9301 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9441 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3381 msgid "Server Address" msgstr "" @@ -6059,68 +6397,68 @@ msgstr "" msgid "Server filtering" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9413 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9689 msgid "Server group for automatic lowest-latency selection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9472 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9748 msgid "Server group for priority failover" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1795 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1813 msgid "Server information" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1684 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1702 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2672 msgid "Server name" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2809 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2827 msgid "Server name / SNI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8950 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9226 msgid "Server Name Indication — leave empty to use server address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:341 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:306 #: src/validators/validateOutboundJson.ts:94 msgid "Server outbound must contain a non-empty server field" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:346 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:311 #: src/validators/validateOutboundJson.ts:100 msgid "Server outbound must contain a numeric server_port from 1 to 65535" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8792 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8926 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8984 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9036 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9096 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9176 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9006 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9260 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9312 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9372 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9452 msgid "Server Port" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3409 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3427 msgid "Server Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3436 msgid "Server Public Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12967 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12222 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:148 msgid "Server unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3364 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3382 msgid "Server VPN IP address and subnet (e.g. 10.0.0.1/24)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:353 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:315 #: src/validators/validateOutboundJson.ts:107 msgid "server_port must be a number from 1 to 65535" msgstr "" @@ -6135,26 +6473,26 @@ msgstr "" msgid "Servers on dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12435 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11720 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:439 msgid "Service / Target" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3779 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3798 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15736 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3587 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3606 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15233 +#: src/tachyon/methods/shell/index.ts:468 +#: src/tachyon/methods/shell/index.ts:489 #: src/tachyon/tabs/diagnostic/initController.ts:609 -#: src/tachyon/methods/shell/index.ts:440 -#: src/tachyon/methods/shell/index.ts:461 msgid "Service action failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12205 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11506 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:186 msgid "Service availability check" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9875 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10152 msgid "Service list" msgstr "" @@ -6162,28 +6500,23 @@ msgstr "" msgid "Services & Access" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20034 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19287 #: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:387 msgid "Services are online and ready! Reloading page..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20026 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:375 -msgid "Services are online, waiting for full initialization..." -msgstr "" - -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9158 -#: src/tachyon/tabs/dashboard/initController.ts:1887 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8691 +#: src/tachyon/tabs/dashboard/initController.ts:1894 msgid "Services info" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20056 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:418 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19303 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:406 msgid "Services restarted. Click to reload page." msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1185 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7287 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7293 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1040 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1299 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:624 @@ -6230,15 +6563,15 @@ msgstr "" msgid "Show servers whose names match the expression." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11871 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16735 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11176 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16056 #: src/tachyon/tabs/diagnostic/initController.ts:1677 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:190 msgid "Show sing-box config" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16746 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16753 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16067 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16074 #: src/tachyon/tabs/diagnostic/initController.ts:1688 #: src/tachyon/tabs/diagnostic/initController.ts:1695 msgid "Show sing-box config failed" @@ -6248,55 +6581,55 @@ msgstr "" msgid "Show subscription metadata for this source on the dashboard" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2111 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2135 msgid "sing-box" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9895 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:77 msgid "Sing-box autostart disabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3341 msgid "sing-box endpoint (userspace, default)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10758 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10211 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:69 msgid "Sing-box FakeIP DNS does not work" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10211 #: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:68 msgid "Sing-box FakeIP DNS works" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9880 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:62 msgid "Sing-box installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10410 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9905 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:87 msgid "Sing-box listening ports" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10405 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9900 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:82 msgid "Sing-box process running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10395 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9890 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:72 msgid "Sing-box service exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9885 #: src/tachyon/tabs/diagnostic/checks/runSingBoxCheck.ts:67 msgid "Sing-box version is compatible (newer than 1.12.4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9784 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10060 msgid "Singapore (sg)" msgstr "" @@ -6304,22 +6637,27 @@ msgstr "" msgid "sites" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7937 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7943 msgid "Skip loopback & local entries (127.0.0.1, ::1, 0.0.0.0, localhost)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8961 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9237 msgid "Skip TLS certificate verification (not recommended)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7818 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7824 msgid "Skipped comments/invalid:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7814 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7820 msgid "Skipped loopback:" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13983 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:83 +msgid "SLOW" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:755 msgid "Snapshot name" msgstr "" @@ -6328,11 +6666,11 @@ msgstr "" msgid "Snapshot restored. The service restarts and the page will reload." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3337 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3355 msgid "SNAT LAN sources when leaving through tailscale0 so peers can answer. Required unless every peer accepts routes." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9008 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9284 msgid "Snell Version" msgstr "" @@ -6340,31 +6678,31 @@ msgstr "" msgid "Social media" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8080 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8086 msgid "Sort Alphabetically" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9574 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9850 msgid "Sort by latency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9575 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9851 msgid "Sorts servers in this section by lowest latency in the dashboard." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18276 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18323 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10755 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17569 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11070 #: src/tachyon/tabs/monitoring/initController.ts:892 #: src/tachyon/tabs/monitoring/initController.ts:947 msgid "Source" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10939 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11254 msgid "Source Devices" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1622 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1646 msgid "Source Network Interface" msgstr "" @@ -6372,96 +6710,96 @@ msgstr "" msgid "Specific Sections (Select sections below)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2027 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2045 msgid "Specify a file path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2038 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2050 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2056 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2068 msgid "Specify different files" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13493 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:494 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12722 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:505 msgid "Speed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13680 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:703 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12903 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:714 msgid "Split Modes (dpi-desync)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13686 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:709 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12909 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:720 msgid "Split Positions (dpi-desync-split-pos)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13636 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:658 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12860 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:669 msgid "Split Positions (pos)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13718 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:742 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12940 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:753 msgid "Split Values (-s)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10084 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10103 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10361 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10380 msgid "SSH" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11162 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:122 msgid "Standalone ByeDPI autostart is enabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11159 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:119 msgid "Standalone ByeDPI is active together with Tachyon ByeDPI rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11160 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:120 msgid "Standalone ByeDPI service is active" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11163 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10489 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:123 msgid "Standalone ByeDPI service is inactive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10908 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:111 msgid "Standalone Zapret is active together with Tachyon Zapret rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10909 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:112 msgid "Standalone Zapret service is active" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10910 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10319 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:113 msgid "Standalone Zapret service is inactive" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11036 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:123 msgid "Standalone Zapret2 autostart is enabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11031 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10405 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:118 msgid "Standalone Zapret2 is active together with Tachyon Zapret2 rules" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11034 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121 msgid "Standalone Zapret2 service is active" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11037 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10407 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:124 msgid "Standalone Zapret2 service is inactive" msgstr "" @@ -6475,16 +6813,21 @@ msgstr "" msgid "Start" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2893 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14151 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:273 +msgid "Start Benchmark" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2917 msgid "Start bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16151 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15541 #: src/tachyon/tabs/diagnostic/initController.ts:1078 msgid "Start sing-box" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11765 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11070 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:84 msgid "Start Tachyon" msgstr "" @@ -6493,23 +6836,28 @@ msgstr "" msgid "Start Time (HH:MM)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16155 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15545 #: src/tachyon/tabs/diagnostic/initController.ts:1082 msgid "Start watchdog" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14202 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:331 +msgid "Starting DNS benchmark..." +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:359 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2940 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2964 msgid "Starting…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9226 -#: src/tachyon/tabs/dashboard/initController.ts:1964 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8774 +#: src/tachyon/tabs/dashboard/initController.ts:2007 msgid "State" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2663 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12477 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2522 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11762 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:448 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:935 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:670 @@ -6517,8 +6865,8 @@ msgstr "" msgid "Status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13490 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:491 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12719 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:502 msgid "Status / Suite" msgstr "" @@ -6526,7 +6874,7 @@ msgstr "" msgid "Stop" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2924 msgid "Stop bot" msgstr "" @@ -6534,48 +6882,48 @@ msgstr "" msgid "Stop checking when URLTest group is not used. Use sing-box duration format like 1d, 12h or 30m." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11755 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11060 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:74 msgid "Stop Tachyon" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2616 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5871 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14870 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2483 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14435 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:332 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2917 -#: src/tachyon/methods/custom/getDashboardSections.ts:1653 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2941 +#: src/tachyon/methods/custom/getDashboardSections.ts:1665 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:622 #: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:147 msgid "Stopped" msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:373 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2978 msgid "Stopping…" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2723 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2747 msgid "Store auto-detected domains in /etc instead of /tmp to survive reboots." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13485 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:486 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12714 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:497 msgid "Strategy & Parameters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14527 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1625 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13751 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690 msgid "Strategy benchmark started" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13955 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:993 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13166 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1004 msgid "Strategy deleted" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13796 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:828 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13016 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:839 msgid "Strategy Name" msgstr "" @@ -6583,12 +6931,12 @@ msgstr "" msgid "Strict (🔒)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2312 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2336 msgid "Strict ECH + DoQ DNS Enforcer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10080 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10357 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10376 msgid "STUN (P2P Calls)" msgstr "" @@ -6600,15 +6948,15 @@ msgstr "" msgid "Subscription auto update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2171 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2130 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:152 msgid "Subscription info:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4193 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4211 -#: src/tachyon/methods/shell/index.ts:939 -#: src/tachyon/methods/shell/index.ts:959 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4010 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4028 +#: src/tachyon/methods/shell/index.ts:1035 +#: src/tachyon/methods/shell/index.ts:1055 msgid "Subscription update failed" msgstr "" @@ -6616,7 +6964,7 @@ msgstr "" msgid "Subscription update interval" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9296 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9572 msgid "Subscription URL" msgstr "" @@ -6624,19 +6972,23 @@ msgstr "" msgid "Subscription URL settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7829 -#: src/tachyon/tabs/dashboard/initController.ts:336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7481 +#: src/tachyon/tabs/dashboard/initController.ts:339 msgid "Subscriptions updated" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8636 msgid "Success" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7904 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7910 msgid "Successfully imported %d DNS record(s)" msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8352 +msgid "Successfully updated %d hosts entries" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:40 msgid "Sun" msgstr "" @@ -6645,21 +6997,21 @@ msgstr "" msgid "Sunday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9780 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10056 msgid "Sweden (se)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16166 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15556 #: src/tachyon/tabs/diagnostic/initController.ts:1093 msgid "Switch DNS to DoH" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8634 -#: src/tachyon/tabs/dashboard/initController.ts:1254 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8200 +#: src/tachyon/tabs/dashboard/initController.ts:1257 msgid "Switch to auto-selection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16170 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15560 #: src/tachyon/tabs/diagnostic/initController.ts:1097 msgid "Sync System Time (NTP)" msgstr "" @@ -6668,12 +7020,12 @@ msgstr "" msgid "System diagnostics, AI Doctor and logs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9146 -#: src/tachyon/tabs/dashboard/initController.ts:1874 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8679 +#: src/tachyon/tabs/dashboard/initController.ts:1881 msgid "System info" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14666 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13886 #: src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:24 msgid "System information" msgstr "" @@ -6682,16 +7034,28 @@ msgstr "" msgid "Tab Order & Visibility" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10654 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10124 #: src/tachyon/tabs/diagnostic/checks/runNftCheck.ts:69 msgid "Table exist" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2109 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14226 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14240 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:359 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:373 +msgid "Tachyon" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2133 msgid "Tachyon Core" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7087 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14270 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:406 +msgid "Tachyon DNS Benchmark & Auto-Tuning" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6777 #: src/tachyon/services/core.service.ts:52 msgid "Tachyon Error" msgstr "" @@ -6712,12 +7076,12 @@ msgstr "" msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18360 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17603 #: src/tachyon/tabs/monitoring/initController.ts:991 msgid "Tachyon service is stopped. Start the service to display connections." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3126 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2935 #: src/tachyon/tabs/dashboard/render.ts:17 msgid "Tachyon service is stopped. Start the service to display the dashboard." msgstr "" @@ -6726,95 +7090,95 @@ msgstr "" msgid "Tachyon Settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4092 -#: src/tachyon/methods/shell/index.ts:822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3921 +#: src/tachyon/methods/shell/index.ts:913 msgid "Tachyon update did not complete within the timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2197 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2221 msgid "Tachyon will not modify your DHCP configuration" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11131 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:91 msgid "Tachyon-managed ciadpi runtime has restarted" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11134 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:94 msgid "Tachyon-managed ciadpi runtime is not ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11137 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:97 msgid "Tachyon-managed ciadpi runtime is not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11133 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:93 msgid "Tachyon-managed ciadpi runtime is ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10884 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:87 msgid "Tachyon-managed nfqws runtime is not ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10887 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:90 msgid "Tachyon-managed nfqws runtime is not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10883 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:86 msgid "Tachyon-managed nfqws runtime is ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11003 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:90 msgid "Tachyon-managed nfqws2 runtime is not ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11006 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:93 msgid "Tachyon-managed nfqws2 runtime is not running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11002 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:89 msgid "Tachyon-managed nfqws2 runtime is ready" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9221 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2115 -#: src/tachyon/tabs/dashboard/initController.ts:1954 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8769 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2139 +#: src/tachyon/tabs/dashboard/initController.ts:1997 msgid "Tailscale" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3264 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3282 msgid "Tailscale auth key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3273 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3291 msgid "Tailscale control URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10491 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9986 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:98 msgid "Tailscale endpoint" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3281 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3299 msgid "Tailscale hostname" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3322 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3340 msgid "Tailscale mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13313 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:766 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1166 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1177 msgid "Target" msgstr "" @@ -6826,13 +7190,13 @@ msgstr "" msgid "Target Scope" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13249 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:228 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12493 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:239 msgid "Target Service / Suite" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13660 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:682 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12884 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:693 msgid "TCP Window Sizes (wsize)" msgstr "" @@ -6854,25 +7218,25 @@ msgstr "" msgid "Telegram Bot" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3012 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3036 msgid "Telegram Bot Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14749 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14323 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:42 msgid "Telegram Channel" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3203 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3234 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3253 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3260 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3227 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3258 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3277 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3284 msgid "Test Connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2260 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2266 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2892 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2202 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2206 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2711 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:247 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:255 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:907 @@ -6903,33 +7267,38 @@ msgstr "" msgid "Test servers whose names match the expression." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3190 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3214 msgid "Test Telegram Connection" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14511 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1607 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14178 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:305 +msgid "Testing" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13735 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1672 msgid "Testing bypass strategies in isolated sandbox..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14318 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1389 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13532 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1433 msgid "Testing strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8662 -#: src/tachyon/tabs/dashboard/initController.ts:1292 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8227 +#: src/tachyon/tabs/dashboard/initController.ts:1295 msgid "Testing URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12133 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12761 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11439 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12030 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:108 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:797 msgid "Testing..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3215 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3239 msgid "Testing…" msgstr "" @@ -6943,42 +7312,42 @@ msgstr "" msgid "The NFQUEUE number is assigned by Tachyon for each rule and must not be overridden here." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10098 msgid "The rule applies to the domain and all its subdomains. Use full:, keyword:, or regex: prefixes for exact match, keyword match, or regular expression." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11118 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10474 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:78 msgid "There are rules using ByeDPI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10875 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10299 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:78 msgid "There are rules using Zapret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10994 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10385 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:81 msgid "There are rules using Zapret2" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12919 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12178 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:97 msgid "Thinking..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16674 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15997 #: src/tachyon/tabs/diagnostic/initController.ts:1608 msgid "This action will stop Tachyon, restore standard dnsmasq/DNS, remove all proxy/anti-censorship firewall rules and restore direct Internet connection through your ISP." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11010 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1907 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1926 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1931 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2021 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2183 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3069 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11325 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1925 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1944 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1949 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2039 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3087 msgid "This field is required" msgstr "" @@ -7012,8 +7381,8 @@ msgstr "" msgid "This option requires a value." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9237 -#: src/tachyon/tabs/dashboard/initController.ts:1975 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8782 +#: src/tachyon/tabs/dashboard/initController.ts:2018 msgid "This router" msgstr "" @@ -7033,16 +7402,16 @@ msgstr "" msgid "Thursday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18267 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18320 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18468 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17517 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17566 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17700 #: src/tachyon/tabs/monitoring/initController.ts:883 #: src/tachyon/tabs/monitoring/initController.ts:944 #: src/tachyon/tabs/monitoring/initController.ts:1127 msgid "Time" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1556 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1580 msgid "Time in seconds for DNS record caching (default: 60)" msgstr "" @@ -7050,34 +7419,39 @@ msgstr "" msgid "Time is required (e.g. 22:00)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2081 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2105 msgid "Time of day to run scheduled component updates in HH:MM (24h) format, e.g. 04:00" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3238 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3256 msgid "Time skew tolerance" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6691 -#: src/tachyon/helpers/singBoxVariant.ts:60 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14014 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:117 +msgid "Timeout" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6358 +#: src/tachyon/helpers/singBoxVariant.ts:62 msgid "tiny" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10083 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10102 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10360 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10379 msgid "TLS / HTTPS" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9259 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9535 msgid "TLS Auth/Crypt Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8949 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9225 msgid "TLS SNI" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13742 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:766 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12964 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:777 msgid "TLS-Rec Bounds (--tlsrec)" msgstr "" @@ -7085,13 +7459,13 @@ msgstr "" msgid "Toddler (👶)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3021 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3045 msgid "Token is required when the bot is enabled" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8664 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8229 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2709 -#: src/tachyon/tabs/dashboard/initController.ts:1294 +#: src/tachyon/tabs/dashboard/initController.ts:1297 msgid "Tolerance" msgstr "" @@ -7103,26 +7477,26 @@ msgstr "" msgid "Total allowed network usage per day for devices in this profile. When the quota is reached, access is blocked until midnight. Enter 0 for unlimited." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7806 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7812 msgid "Total lines:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11640 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:345 msgid "Total targets" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10656 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10971 msgid "Trace" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10700 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11015 msgid "Tracing routing rules..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2154 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9122 -#: src/tachyon/tabs/dashboard/initController.ts:1848 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2114 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8655 +#: src/tachyon/tabs/dashboard/initController.ts:1855 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:133 msgid "Traffic" msgstr "" @@ -7131,11 +7505,11 @@ msgstr "" msgid "Traffic for this level goes directly." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10046 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10323 msgid "Traffic from these IP addresses will never be routed through this section, even if other conditions match." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10074 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10351 msgid "Traffic of specified protocols (e.g. BitTorrent, QUIC, STUN) will bypass this section." msgstr "" @@ -7143,21 +7517,21 @@ msgstr "" msgid "Traffic statistics and active connections" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9134 -#: src/tachyon/tabs/dashboard/initController.ts:1861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8667 +#: src/tachyon/tabs/dashboard/initController.ts:1868 msgid "Traffic Total" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10094 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10371 msgid "Traffic type filter" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10807 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11122 msgid "Traffic will go through the default route (Direct/Default)." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20857 -#: src/tachyon/tabs/updates/initController.ts:922 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20044 +#: src/tachyon/tabs/updates/initController.ts:944 msgid "Transient connection error" msgstr "" @@ -7166,32 +7540,32 @@ msgid "Transparent proxy mode is incompatible with action=byedpi because Tachyon msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2097 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9047 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2947 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2965 msgid "Transport" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2971 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2989 msgid "Transport host" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3512 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3565 msgid "Transport packet header (H4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3488 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3541 msgid "Transport packet junk size (S4)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2955 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2973 msgid "Transport path" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2104 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2122 msgid "Transport path must start with /" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14732 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14307 #: src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:25 msgid "Troubleshooting" msgstr "" @@ -7200,26 +7574,26 @@ msgstr "" msgid "Try compatible User-Agent profiles automatically when downloading this subscription" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13492 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:493 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12721 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:504 msgid "TTFB" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1567 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1591 msgid "TTL must be a positive number" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1562 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1586 msgid "TTL value cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13698 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:721 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12921 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:732 msgid "TTL Values (dpi-desync-ttl)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13648 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:670 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12872 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:681 msgid "TTL Values (ttl)" msgstr "" @@ -7231,28 +7605,28 @@ msgstr "" msgid "Tuesday" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9781 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10057 msgid "Turkey (tr)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18261 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18318 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1699 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17511 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17564 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1717 #: src/tachyon/tabs/monitoring/initController.ts:877 #: src/tachyon/tabs/monitoring/initController.ts:942 msgid "Type" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1342 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1359 msgid "UDP (Unprotected DNS)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12099 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11405 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:65 msgid "UDP / QUIC protocols" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9787 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10063 msgid "Ukraine (ua)" msgstr "" @@ -7270,36 +7644,36 @@ msgstr "" msgid "Unable to validate the NFQWS2 strategy through the backend parser." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8794 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8344 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3178 -#: src/tachyon/tabs/dashboard/initController.ts:1448 +#: src/tachyon/tabs/dashboard/initController.ts:1451 msgid "Unavailability timeout" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12157 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12351 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11460 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11642 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:135 #: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:347 msgid "Unavailable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3506 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3559 msgid "Underload packet header (H3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8845 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9086 msgid "Underload Packet Magic Header (H1)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9087 msgid "Underload Packet Magic Header (H2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8847 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9088 msgid "Underload Packet Magic Header (H3)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8848 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9089 msgid "Underload Packet Magic Header (H4)" msgstr "" @@ -7313,17 +7687,17 @@ msgstr "" msgid "Unexpected standalone token. Use explicit flags such as --name or --name=value." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11136 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10479 #: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:96 msgid "Unexpected Tachyon-managed ciadpi runtime is running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10886 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10304 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:89 msgid "Unexpected Tachyon-managed nfqws runtime is running" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11005 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10390 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:92 msgid "Unexpected Tachyon-managed nfqws2 runtime is running" msgstr "" @@ -7332,27 +7706,27 @@ msgstr "" msgid "unique UCI identifier" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9777 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10053 msgid "United Kingdom (gb)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9774 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10050 msgid "United States (us)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6669 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10433 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11183 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11185 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11186 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11187 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11194 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11196 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11198 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11200 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11203 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11204 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20443 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6339 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9928 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10509 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10511 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10512 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10513 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10520 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10522 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10524 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10526 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10529 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10530 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19660 #: src/tachyon/helpers/singBoxVariant.ts:33 #: src/tachyon/services/systemInfo.service.ts:10 #: src/tachyon/services/systemInfo.service.ts:12 @@ -7364,15 +7738,15 @@ msgstr "" #: src/tachyon/services/systemInfo.service.ts:27 #: src/tachyon/services/systemInfo.service.ts:30 #: src/tachyon/services/systemInfo.service.ts:31 -#: src/tachyon/tabs/updates/initController.ts:421 +#: src/tachyon/tabs/updates/initController.ts:437 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:25 msgid "unknown" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5873 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5562 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:353 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2934 -#: src/tachyon/methods/custom/getDashboardSections.ts:1655 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2958 +#: src/tachyon/methods/custom/getDashboardSections.ts:1667 msgid "Unknown" msgstr "" @@ -7386,20 +7760,20 @@ msgstr "" msgid "Unknown country" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5950 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14374 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14534 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15841 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15877 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15943 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16637 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5636 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13600 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13758 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15338 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15357 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15424 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15965 #: src/tachyon/api.ts:40 #: src/tachyon/tabs/diagnostic/initController.ts:731 #: src/tachyon/tabs/diagnostic/initController.ts:772 #: src/tachyon/tabs/diagnostic/initController.ts:857 #: src/tachyon/tabs/diagnostic/initController.ts:1568 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1456 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1632 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1518 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1697 msgid "Unknown error" msgstr "" @@ -7416,17 +7790,17 @@ msgstr "" msgid "Unlimited" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:235 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:212 #: src/validators/validateSubnet.ts:17 msgid "Unspecified IP address is not allowed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2705 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2559 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:712 msgid "Unstable" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2217 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2235 msgid "Unsupported security mode for this protocol" msgstr "" @@ -7434,34 +7808,44 @@ msgstr "" msgid "Up to 10 snapshots are kept; the oldest ones are removed automatically." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20909 -#: src/tachyon/tabs/updates/initController.ts:989 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20096 +#: src/tachyon/tabs/updates/initController.ts:1011 msgid "Update" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20393 -#: src/tachyon/tabs/updates/initController.ts:355 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8354 +msgid "Update failed:" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19607 +#: src/tachyon/tabs/updates/initController.ts:368 msgid "Update is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21285 -#: src/tachyon/tabs/updates/initController.ts:1404 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20558 +#: src/tachyon/tabs/updates/initController.ts:1574 msgid "Update is available for current release" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:21265 -#: src/tachyon/tabs/updates/initController.ts:1383 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20539 +#: src/tachyon/tabs/updates/initController.ts:1553 msgid "Update is available:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1960 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1984 msgid "Update lists now" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2241 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2253 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2254 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16161 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8345 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8367 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8372 +msgid "Update Lists Now" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2185 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2196 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2196 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15551 #: src/tachyon/tabs/diagnostic/initController.ts:1088 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:224 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:237 @@ -7473,7 +7857,7 @@ msgstr "" msgid "Update this subscription automatically" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7823 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7829 msgid "Updated/duplicates:" msgstr "" @@ -7481,51 +7865,57 @@ msgstr "" msgid "Updates & Downloads" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19810 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:116 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19076 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:121 msgid "Updating" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16423 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15776 #: src/tachyon/tabs/diagnostic/initController.ts:1349 msgid "Updating device routing mode..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1964 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1988 msgid "Updating lists..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9124 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9136 -#: src/tachyon/tabs/dashboard/initController.ts:1850 -#: src/tachyon/tabs/dashboard/initController.ts:1863 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8341 +msgid "Updating…" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8657 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8669 +#: src/tachyon/tabs/dashboard/initController.ts:1857 +#: src/tachyon/tabs/dashboard/initController.ts:1870 msgid "Uplink" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18273 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18322 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18482 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17523 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17568 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:17712 #: src/tachyon/tabs/monitoring/initController.ts:889 #: src/tachyon/tabs/monitoring/initController.ts:946 #: src/tachyon/tabs/monitoring/initController.ts:1141 msgid "Uploaded" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1352 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14107 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1369 +#: src/tachyon/tabs/diagnostic/partials/renderDnsBenchmarkModal.ts:224 msgid "Upstream Mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:1032 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:959 #: src/validators/validateProxyUrl.ts:47 msgid "URL must start with vless://, vmess://, ss://, trojan://, socks4://, socks4a://, socks5://, hysteria2://, hy2://, or tuic://" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:179 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:163 #: src/validators/validateUrl.ts:18 msgid "URL must use one of the following protocols:" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2606 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2630 msgid "URL to test through the proxy (default: Cloudflare 204)." msgstr "" @@ -7537,25 +7927,25 @@ msgstr "" msgid "URL used to test server latency" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8133 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8139 msgid "URLs of remote hosts files to download and apply. Supports standard hosts format: IP domain." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9688 msgid "URLTest" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2513 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2514 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8685 -#: src/tachyon/tabs/dashboard/initController.ts:1321 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2404 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2405 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8250 +#: src/tachyon/tabs/dashboard/initController.ts:1324 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:517 #: src/tachyon/tabs/dashboard/partials/renderSections.ts:518 msgid "URLTest details" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8655 -#: src/tachyon/tabs/dashboard/initController.ts:1280 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8220 +#: src/tachyon/tabs/dashboard/initController.ts:1283 msgid "URLTest details are unavailable" msgstr "" @@ -7564,59 +7954,59 @@ msgstr "" msgid "URLTest settings" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2681 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2705 msgid "Use 3-tier check intervals: fast (15s), normal (120s), slow (300s) instead of a single interval." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2201 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2219 msgid "Use 32 hex characters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1991 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1997 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2009 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2015 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2131 msgid "Use a domain name or IP address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2092 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2110 msgid "Use a duration like 30s, 5m, or 1h30m" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2098 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3071 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2116 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3089 msgid "Use a non-negative integer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2204 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2222 msgid "Use a non-zero secret" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2060 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2062 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2078 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2080 msgid "Use an HTTP or HTTPS URL" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2014 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2032 msgid "Use an IP address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2007 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2025 msgid "Use an IP listen address" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9511 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9787 msgid "Use another section as an intermediate hop to connect to servers in this section. Does not apply to network interfaces or JSON outbounds." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2161 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2179 msgid "Use CIDR prefixes like 192.168.1.0/24 or 2001:db8::/32" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2175 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2193 msgid "Use CIDR prefixes or IP addresses like 192.168.1.0/24, 192.168.1.10, or 2001:db8::1" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2119 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2137 msgid "Use letters, digits, dots, underscores, or hyphens" msgstr "" @@ -7630,34 +8020,34 @@ msgstr "" #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4786 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4793 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4800 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1921 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1943 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1950 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2019 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2047 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1945 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1967 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1974 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2043 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2071 msgid "Use sing-box duration format like 1d, 12h or 30m" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8336 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8348 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8400 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8412 msgid "Use sing-box duration format like 1d, 12h or 6h" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3349 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3367 msgid "Use tailnet exit node for LAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10433 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9928 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:25 msgid "Used by" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13835 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:870 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13054 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:881 msgid "User custom strategy" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2757 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2775 msgid "User names (e.g. from VLESS/Trojan/SS/JSON inbound users) that are forbidden from reaching LAN subnets. Leave empty to restrict all users on this inbound." msgstr "" @@ -7665,31 +8055,31 @@ msgstr "" msgid "User-Agent" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9060 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3030 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9336 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3048 msgid "Username" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9668 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9944 msgid "Username cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:28 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:75 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:89 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:156 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:159 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:192 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:212 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:256 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:361 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:447 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:558 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:618 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:674 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:740 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:865 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:997 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:27 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:69 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:82 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:141 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:144 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:169 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:189 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:233 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:323 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:409 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:519 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:577 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:633 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:697 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:807 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:927 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5402 #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:5415 #: src/validators/validateDns.ts:25 @@ -7711,7 +8101,7 @@ msgstr "" msgid "Valid" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2695 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2719 msgid "Validates sing-box config before restart to prevent boot loops on broken configs." msgstr "" @@ -7723,20 +8113,26 @@ msgstr "" msgid "Value cannot be empty" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1911 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1929 msgid "Value must be a positive integer" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11013 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1935 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:11328 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1953 msgid "Value must not contain control characters" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20022 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:370 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19283 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:382 msgid "Verifying router and service readiness..." msgstr "" +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20700 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20702 +#: src/tachyon/tabs/updates/initController.ts:1738 +msgid "Versions" +msgstr "" + #: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2038 msgid "Via country.is" msgstr "" @@ -7745,76 +8141,72 @@ msgstr "" msgid "Video streaming" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11862 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15920 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11167 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15401 #: src/tachyon/tabs/diagnostic/initController.ts:831 #: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:181 msgid "View logs" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15930 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15933 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15411 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15414 #: src/tachyon/tabs/diagnostic/initController.ts:841 #: src/tachyon/tabs/diagnostic/initController.ts:844 msgid "View logs failed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7317 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7323 msgid "Visible name of this section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3074 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3092 msgid "VLESS flow" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9272 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9548 msgid "vless://, vmess://, ss://, trojan://, socks4/5://, hy2/hysteria2:// links" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:20001 -#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:344 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19259 +#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:349 msgid "Waiting for router services to restart..." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10469 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9964 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:70 msgid "WAN" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10577 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10063 #: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:198 msgid "WAN public IP" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8885 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9161 msgid "WARP Access Token" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8873 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9149 msgid "WARP Account ID" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8527 -msgid "WARP Configuration generated and loaded successfully!" -msgstr "" - -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2325 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2349 msgid "WARP Generator Proxy Section" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8861 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9137 msgid "WARP Private Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2207 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2231 msgid "Watchdog probes every Connection section; when the active one fails several checks in a row, traffic switches to a healthy backup and Telegram is notified. Requires a config reload to take effect." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2555 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2579 msgid "Watchdog Status" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2300 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2324 msgid "WebRTC Leak Protection" msgstr "" @@ -7834,7 +8226,7 @@ msgstr "" msgid "Weekends (Sat-Sun)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7330 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7336 msgid "What Tachyon should do when this section matches" msgstr "" @@ -7842,42 +8234,47 @@ msgstr "" msgid "When switching to another level, test every server and select the fastest instead of the first working one." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12991 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12242 #: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:171 msgid "Why Discord fails?" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9128 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9404 msgid "WireGuard private key from your Cloudflare account" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8862 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9138 msgid "WireGuard private key from your Cloudflare WARP account" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14117 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1170 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13317 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1181 msgid "Working" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2984 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13536 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1437 +msgid "working strategies" +msgstr "" + +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3002 msgid "XHTTP mode" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1797 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1821 msgid "YACD Secret Key" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8232 -#: src/tachyon/tabs/dashboard/initController.ts:822 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:7855 +#: src/tachyon/tabs/dashboard/initController.ts:825 msgid "Yes" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1661 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1685 msgid "You can select Output Network Interface, by default autodetect" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2112 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2136 msgid "Zapret" msgstr "" @@ -7885,55 +8282,55 @@ msgstr "" msgid "Zapret hostlist templates are not supported here because Tachyon does not expand them for per-rule NFQWS strategies." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10868 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10294 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:71 msgid "Zapret package is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10869 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10294 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:72 msgid "Zapret package is not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10857 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10289 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:60 msgid "Zapret provider binary is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10858 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10289 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:61 msgid "Zapret provider binary is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10900 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:103 msgid "Zapret sing-box outbound is configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10901 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10314 #: src/tachyon/tabs/diagnostic/checks/runZapretCheck.ts:104 msgid "Zapret sing-box outbound is not configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13175 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14625 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14626 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12413 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13849 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:149 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1737 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1738 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1808 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1809 msgid "Zapret v1 (nfqws)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13174 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14620 -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14621 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12412 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13846 #: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:148 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1732 -#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1733 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1803 +#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1804 msgid "Zapret v2 (nfqws2)" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2113 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2137 msgid "Zapret2" msgstr "" @@ -7941,59 +8338,32 @@ msgstr "" msgid "Zapret2 hostlist templates are not supported here because Tachyon does not expand them for per-rule NFQWS2 strategies." msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10987 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10380 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:74 msgid "Zapret2 package is installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10988 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10380 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:75 msgid "Zapret2 package is not installed" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10976 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10375 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:63 msgid "Zapret2 provider binary is available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10977 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10375 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:64 msgid "Zapret2 provider binary is not available" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11019 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:106 msgid "Zapret2 sing-box outbound is configured" msgstr "" -#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11020 +#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10400 #: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:107 msgid "Zapret2 sing-box outbound is not configured" msgstr "" - -msgid "Versions" -msgstr "" - -msgid "Loading versions..." -msgstr "" - -msgid "No versions found" -msgstr "" - -msgid "Failed to load versions" -msgstr "" - -msgid "Installing " -msgstr "" - -msgid "Installation failed" -msgstr "" - -msgid "Installation failed: " -msgstr "" - -msgid "Installed " -msgstr "" - -msgid "pre-release" -msgstr "" diff --git a/tachyon/files/usr/bin/tachyon b/tachyon/files/usr/bin/tachyon index 90618c2c..01c4f656 100755 --- a/tachyon/files/usr/bin/tachyon +++ b/tachyon/files/usr/bin/tachyon @@ -282,7 +282,7 @@ function command_spec(command) { fuzzer_auto_apply: [ "diagnostics/fuzzer.uc", "auto_apply", 1 ], fuzzer_history: [ "diagnostics/fuzzer.uc", "history", 1 ], fuzzer_clear_history: [ "diagnostics/fuzzer.uc", "clear_history", 0 ], - generate_warp: [ "service/warp_generator.uc", "", 1 ], + generate_warp: [ "service/warp_generator.uc", "", 2 ], package_prerm: [ "service/package.uc", "prerm", 1 ], package_postinst: [ "service/package.uc", "postinst", 0 ], luci_postinst: [ "service/package.uc", "luci-postinst", 0 ], diff --git a/tachyon/files/usr/lib/core/common.uc b/tachyon/files/usr/lib/core/common.uc index 9ca3c232..efa1d772 100644 --- a/tachyon/files/usr/lib/core/common.uc +++ b/tachyon/files/usr/lib/core/common.uc @@ -176,6 +176,12 @@ function awg_tag_chain(value) { if (value == "" || value == "0") return ""; + // Heal previously truncated tag chains (e.g. from broken conf import) + if (match(value, /^[0-9a-fA-F]+><[^<>]+>/)) + value = "]+$/)) + value = value + ">"; + // A well-formed tag chain: keep it verbatim, including inner spacing // ("" carries a space inside each tag). if (match(value, /^(<[^<>]+>)+$/)) diff --git a/tachyon/files/usr/lib/nft/apply.uc b/tachyon/files/usr/lib/nft/apply.uc index 5abd8858..61f35d57 100644 --- a/tachyon/files/usr/lib/nft/apply.uc +++ b/tachyon/files/usr/lib/nft/apply.uc @@ -641,7 +641,7 @@ function section_has_dscp_matchers(section) { function section_needs_priority_sets(section) { return section_priority_action(section) != "" && - (section_has_nft_ip_matchers(section) || section_has_nft_port_only_matchers(section) || section_has_dscp_matchers(section)); + (section_has_nft_ip_matchers(section) || section_has_nft_port_only_matchers(section) || section_has_dscp_matchers(section) || section_has_source_ip_matchers(section)); } function nft_create_priority_chains(table) { @@ -791,6 +791,28 @@ function nft_add_section_priority_rules(table, section, interface_set, localv4_s return false; } + let has_source_only_matchers = section_has_source_ip_matchers(section) && + !needs_plain_ip_rules && + !needs_ip_port_rules && + !has_port_only_matchers && + !section_has_dscp_matchers(section); + + if (has_source_only_matchers) { + if (is_bypass) { + if (!nft_add_priority_rule_pair(table, "priority_rules", section, interface_set, localv4_set, localv6_set, [], [], mark) || + !nft_add_priority_rule_pair(table, "priority_output_rules", section, interface_set, localv4_set, localv6_set, [], [], mark)) + return false; + } else { + let match_tcp = [ "meta", "l4proto", "tcp" ]; + let match_udp = [ "meta", "l4proto", "udp" ]; + if (!nft_add_priority_rule_pair(table, "priority_rules", section, interface_set, localv4_set, localv6_set, match_tcp, match_tcp, mark) || + !nft_add_priority_rule_pair(table, "priority_rules", section, interface_set, localv4_set, localv6_set, match_udp, match_udp, mark) || + !nft_add_priority_rule_pair(table, "priority_output_rules", section, interface_set, localv4_set, localv6_set, match_tcp, match_tcp, mark) || + !nft_add_priority_rule_pair(table, "priority_output_rules", section, interface_set, localv4_set, localv6_set, match_udp, match_udp, mark)) + return false; + } + } + return true; } diff --git a/tachyon/files/usr/lib/service/warp_generator.uc b/tachyon/files/usr/lib/service/warp_generator.uc index 9273d504..655a9241 100644 --- a/tachyon/files/usr/lib/service/warp_generator.uc +++ b/tachyon/files/usr/lib/service/warp_generator.uc @@ -424,7 +424,17 @@ if (!response_data.warp_enabled) { fs.unlink(tmp_patch); } -let license_key = ARGV[0] || ""; +let target_version = "2.0"; +let license_key = ""; + +for (let a in ARGV) { + if (a == "2.0" || a == "3.1") { + target_version = a; + } else if (a != null && trim(a) != "") { + license_key = trim(a); + } +} + if (license_key != "") { let patch_body = { license_key: license_key }; let tmp_patch = exec_output("mktemp 2>/dev/null") || "/tmp/warp_patch.json"; @@ -511,23 +521,71 @@ let i3 = to_hex(generate_extra_cps()); let i4 = to_hex(generate_extra_cps()); let i5 = to_hex(generate_extra_cps()); -write_json({ +function generate_base64_key() { + let k = exec_output("head -c 32 /dev/urandom | base64 2>/dev/null"); + if (k != "") { + k = replace(trim(k), /[\r\n\t ]/g, ""); + if (length(k) >= 40) return k; + } + let pair = exec_output("/usr/bin/sing-box generate wg-keypair 2>/dev/null"); + for (let l in split(pair, "\n")) { + let m = match(l, /^PrivateKey:\s*(.+)$/); + if (m) return trim(m[1]); + } + return "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; +} + +function random_range(min_bound, max_bound, span_min, span_max) { + let span = span_min + (time() * 7 + int(exec_output("head -c 2 /dev/urandom | hexdump -ve '1/2 \"%u\"' 2>/dev/null") || "1000")) % (span_max - span_min + 1); + let start = min_bound + (time() * 13 + int(exec_output("head -c 4 /dev/urandom | hexdump -ve '1/4 \"%u\"' 2>/dev/null") || "50000")) % (max_bound - min_bound - span); + let end = start + span; + return sprintf("%u-%u", start, end); +} + +function random_s() { + let r = 20 + (int(exec_output("head -c 2 /dev/urandom | hexdump -ve '1/2 \"%u\"' 2>/dev/null") || "50")) % 130; + return r >= 12 ? r : 25; +} + +let req_version = "2.0"; +if (length(ARGV) > 2 && ARGV[2] != "") { + req_version = trim(ARGV[2]); +} else if (length(ARGV) > 1 && (ARGV[1] == "2.0" || ARGV[1] == "3.0" || ARGV[1] == "3.1")) { + req_version = trim(ARGV[1]); +} + +// Cloudflare WARP servers ONLY support standard WireGuard / AWG 2.0 headers. +// They do NOT run AmneziaWG and do not support HeaderProtectionKey or AWG 3.x. +// Therefore, the WARP generator always outputs a working AWG 2.0 configuration. +let result = { success: true, local_address: response_data.config.interface.addresses.v4 + "/32 " + response_data.config.interface.addresses.v6 + "/128", private_key: private_key, peer_public_key: response_data.config.peers[0].public_key, server_address: best_ip, server_port: random_port, - - awg_jc: 4, + awg_version: "2.0", + awg_jc: 5, awg_jmin: 40, awg_jmax: 70, - awg_s1: 0, awg_s2: 0, awg_s3: 0, awg_s4: 0, - awg_h1: 1, awg_h2: 2, awg_h3: 3, awg_h4: 4, - + awg_s1: 0, + awg_s2: 0, + awg_s3: 0, + awg_s4: 0, + awg_h1: 1, + awg_h2: 2, + awg_h3: 3, + awg_h4: 4, awg_i1: i1, awg_i2: i2, awg_i3: i3, awg_i4: i4, awg_i5: i5 -}); +}; + +if (req_version != "2.0") { + result.message_hint = "warning_warp_needs_awg20"; +} + +write_json(result); + diff --git a/tachyon/files/usr/lib/singbox/generator_outbounds.uc b/tachyon/files/usr/lib/singbox/generator_outbounds.uc index fe8f8554..2567bf00 100644 --- a/tachyon/files/usr/lib/singbox/generator_outbounds.uc +++ b/tachyon/files/usr/lib/singbox/generator_outbounds.uc @@ -1303,8 +1303,10 @@ function add_awg_endpoint(config, section) { let j2 = awg_cps_option(section, "awg_j2"); let j3 = awg_cps_option(section, "awg_j3"); let itime = int_option(section, "awg_itime", "0"); - let is_lx = trim(fs.readfile("/etc/tachyon/sing-box-variant") || "") == "lx" || - index(trim(fs.readfile("/etc/tachyon/sing-box-version") || ""), "-lx") >= 0; + let sb_variant_file = getenv("SB_VARIANT_STATE_FILE") || "/etc/tachyon/sing-box-variant"; + let sb_version_file = getenv("SB_VERSION_STATE_FILE") || "/etc/tachyon/sing-box-version"; + let sb_version_val = trim(fs.readfile(sb_version_file) || ""); + let is_lx = sb_version_val != "" ? (index(sb_version_val, "-lx") >= 0) : (trim(fs.readfile(sb_variant_file) || "") == "lx"); if (is_lx) { // sing-box-lx expects AWG fields at the endpoint root (AWG 2.0 schema). @@ -1326,6 +1328,52 @@ function add_awg_endpoint(config, section) { if (i3 != "" && i3 != "0") endpoint.i3 = i3; if (i4 != "" && i4 != "0") endpoint.i4 = i4; if (i5 != "" && i5 != "0") endpoint.i5 = i5; + + // AmneziaWG version handling: 2.0, 3.0, and 3.1 (sing-box-lx v1.14.0-lx.32+) + let awg_ver = option(section, "awg_version", ""); + if (awg_ver == "") { + if (option(section, "awg_rekey_after_time", "") != "" || option(section, "awg_rekey_timeout", "") != "" || + option(section, "awg_reject_after_time", "") != "" || option(section, "awg_keepalive_timeout", "") != "" || + option(section, "awg_max_handshake_attempts", "") != "") { + awg_ver = "3.1"; + } else if (option(section, "awg_header_protection_key", "") != "" || option(section, "awg_content_padding_addition", "") != "") { + awg_ver = "3.0"; + } else { + awg_ver = "2.0"; + } + } + + if (awg_ver == "3.0" || awg_ver == "3.1") { + let hpk = option(section, "awg_header_protection_key", ""); + if (hpk != "") { + // Ensure S1-S4 are >= 12 if header_protection_key is set (sing-box-lx schema requirement) + if (endpoint.s1 < 12) endpoint.s1 = 20; + if (endpoint.s2 < 12) endpoint.s2 = 20; + if (endpoint.s3 < 12) endpoint.s3 = 20; + if (endpoint.s4 < 12) endpoint.s4 = 20; + endpoint.header_protection_key = hpk; + } + + let cpa = option(section, "awg_content_padding_addition", ""); + if (cpa != "") endpoint.content_padding_addition = cpa; + } + + if (awg_ver == "3.1") { + let rka = option(section, "awg_rekey_after_time", ""); + if (rka != "") endpoint.rekey_after_time = rka; + + let rkt = option(section, "awg_rekey_timeout", ""); + if (rkt != "") endpoint.rekey_timeout = rkt; + + let rja = option(section, "awg_reject_after_time", ""); + if (rja != "") endpoint.reject_after_time = rja; + + let kpt = option(section, "awg_keepalive_timeout", ""); + if (kpt != "") endpoint.keepalive_timeout = kpt; + + let mha = option(section, "awg_max_handshake_attempts", ""); + if (mha != "") endpoint.max_handshake_attempts = mha; + } // j1-j3/itime are sing-box-extended-only fields and are not part of // the lx AWG 2.0 schema, so they are intentionally not emitted here. } else { diff --git a/tachyon/files/usr/lib/singbox/generator_routes.uc b/tachyon/files/usr/lib/singbox/generator_routes.uc index 36861d47..c9caf435 100644 --- a/tachyon/files/usr/lib/singbox/generator_routes.uc +++ b/tachyon/files/usr/lib/singbox/generator_routes.uc @@ -1340,7 +1340,9 @@ function add_combined_route_for_section(config, section) { let has_route_matchers = route_rule.domain != null || route_rule.domain_suffix != null || route_rule.domain_keyword != null || route_rule.domain_regex != null || - route_rule.ip_cidr != null || route_rule.port != null || route_rule.port_range != null || + route_rule.ip_cidr != null || route_rule.source_ip_cidr != null || + route_rule.port != null || route_rule.port_range != null || + route_rule.protocol != null || route_rule.dscp != null || route_rule.rule_set != null; if (has_route_matchers) { let resolve = runtime_route.resolve_rule_for_section(section, route_rule); diff --git a/tachyon/files/usr/lib/singbox/runtime.uc b/tachyon/files/usr/lib/singbox/runtime.uc index 400df534..27bf48a6 100644 --- a/tachyon/files/usr/lib/singbox/runtime.uc +++ b/tachyon/files/usr/lib/singbox/runtime.uc @@ -989,6 +989,27 @@ function init_config(populate_nft, caches_prepared, no_refresh) { stripped = true; } } + else if (match(check_result.reason, /header_protection_key/)) { + log_message("Installed sing-box rejected header_protection_key: " + check_result.reason + "; stripping and retrying", "warn"); + let cfg_text = as_string(fs.readfile(temp_config) || ""); + let cfg = length(cfg_text) > 0 ? json(cfg_text) : null; + if (type(cfg) == "object") { + if (type(cfg.endpoints) == "array") { + for (let ep in cfg.endpoints) { + if (type(ep) == "object" && ep.header_protection_key != null) + delete ep.header_protection_key; + } + } + if (type(cfg.inbounds) == "array") { + for (let inb in cfg.inbounds) { + if (type(inb) == "object" && inb.header_protection_key != null) + delete inb.header_protection_key; + } + } + write_file(temp_config, sprintf("%J", cfg)); + stripped = true; + } + } } if (!stripped) break; diff --git a/tachyon/files/usr/lib/singbox/servers.uc b/tachyon/files/usr/lib/singbox/servers.uc index 4af20bfc..6111cc4a 100644 --- a/tachyon/files/usr/lib/singbox/servers.uc +++ b/tachyon/files/usr/lib/singbox/servers.uc @@ -212,6 +212,10 @@ function apply_transport(inbound, section, protocol) { } function add_standard_inbound(config, section, protocol, tag_name) { + let sb_variant_file = getenv("SB_VARIANT_STATE_FILE") || "/etc/tachyon/sing-box-variant"; + let sb_version_file = getenv("SB_VERSION_STATE_FILE") || "/etc/tachyon/sing-box-version"; + let sb_version_val = trim(fs.readfile(sb_version_file) || ""); + let is_lx = sb_version_val != "" ? (index(sb_version_val, "-lx") >= 0) : (trim(fs.readfile(sb_variant_file) || "") == "lx"); let inbound = { type: protocol, tag: tag_name, @@ -305,8 +309,6 @@ function add_standard_inbound(config, section, protocol, tag_name) { let jmin = int_option(section, "awg_jmin", "40"); let jmax = int_option(section, "awg_jmax", "70"); if (jmax > 1200) jmax = 1200; - let is_lx = trim(fs.readfile("/etc/tachyon/sing-box-variant") || "") == "lx" || - index(trim(fs.readfile("/etc/tachyon/sing-box-version") || ""), "-lx") >= 0; let amnezia = { jc: jc, @@ -354,6 +356,52 @@ function add_standard_inbound(config, section, protocol, tag_name) { if (i3 != "" && i3 != "0") inbound.i3 = i3; if (i4 != "" && i4 != "0") inbound.i4 = i4; if (i5 != "" && i5 != "0") inbound.i5 = i5; + + // AmneziaWG version handling: 2.0, 3.0, and 3.1 (sing-box-lx v1.14.0-lx.32+) + let awg_ver = option(section, "awg_version", ""); + if (awg_ver == "") { + if (option(section, "awg_rekey_after_time", "") != "" || option(section, "awg_rekey_timeout", "") != "" || + option(section, "awg_reject_after_time", "") != "" || option(section, "awg_keepalive_timeout", "") != "" || + option(section, "awg_max_handshake_attempts", "") != "") { + awg_ver = "3.1"; + } else if (option(section, "awg_header_protection_key", "") != "" || option(section, "awg_content_padding_addition", "") != "") { + awg_ver = "3.0"; + } else { + awg_ver = "2.0"; + } + } + + if (awg_ver == "3.0" || awg_ver == "3.1") { + let hpk = option(section, "awg_header_protection_key", ""); + if (hpk != "") { + // Ensure S1-S4 are >= 12 if header_protection_key is set (sing-box-lx schema requirement) + if (inbound.s1 < 12) inbound.s1 = 20; + if (inbound.s2 < 12) inbound.s2 = 20; + if (inbound.s3 < 12) inbound.s3 = 20; + if (inbound.s4 < 12) inbound.s4 = 20; + inbound.header_protection_key = hpk; + } + + let cpa = option(section, "awg_content_padding_addition", ""); + if (cpa != "") inbound.content_padding_addition = cpa; + } + + if (awg_ver == "3.1") { + let rka = option(section, "awg_rekey_after_time", ""); + if (rka != "") inbound.rekey_after_time = rka; + + let rkt = option(section, "awg_rekey_timeout", ""); + if (rkt != "") inbound.rekey_timeout = rkt; + + let rja = option(section, "awg_reject_after_time", ""); + if (rja != "") inbound.reject_after_time = rja; + + let kpt = option(section, "awg_keepalive_timeout", ""); + if (kpt != "") inbound.keepalive_timeout = kpt; + + let mha = option(section, "awg_max_handshake_attempts", ""); + if (mha != "") inbound.max_handshake_attempts = mha; + } } else { if (i1 != "") amnezia.i1 = i1; if (i2 != "") amnezia.i2 = i2; @@ -380,7 +428,16 @@ function add_standard_inbound(config, section, protocol, tag_name) { apply_tls(inbound, section, protocol); apply_transport(inbound, section, protocol); - push(config.inbounds, inbound); + if (protocol == "awg" && is_lx) { + let server_port = int_option(section, "awg_server_port", int_option(section, "listen_port", 51820)); + inbound.listen_port = server_port; + delete inbound.listen; + if (!config.endpoints) + config.endpoints = []; + push(config.endpoints, inbound); + } else { + push(config.inbounds, inbound); + } } function add_json_inbound(config, section, tag_name) { diff --git a/tests/nft_apply.sh b/tests/nft_apply.sh index 2a601b29..b2c8904c 100644 --- a/tests/nft_apply.sh +++ b/tests/nft_apply.sh @@ -328,6 +328,20 @@ cat >"$WORK_DIR/priority-rules.json" <<'JSON' "enabled": "1", "action": "bypass", "ports": [ "8443" ] + }, + { + ".name": "source_bypass", + ".type": "section", + "enabled": "1", + "action": "bypass", + "source_ip_cidr": [ "192.168.1.50/32" ] + }, + { + ".name": "source_proxy", + ".type": "section", + "enabled": "1", + "action": "proxy", + "source_ip_cidr": [ "192.168.1.60/32" ] } ] } @@ -341,6 +355,9 @@ assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\ assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tdaddr\t!=\t@localv4\tip\tdaddr\t@tachyon_rule_wide_proxy_subnets\tmeta\tl4proto\ttcp\tmeta\tmark\tset\t0x00100000\tcounter\taccept' "proxy priority capture tcp rule" assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tdaddr\t!=\t@localv4\tip\tdaddr\t@tachyon_rule_wide_proxy_subnets\tmeta\tl4proto\tudp\tmeta\tmark\tset\t0x00100000\tcounter\taccept' "proxy priority capture udp rule" assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tdaddr\t!=\t@localv4\ttcp\tdport\t@tachyon_rule_port_bypass_ports\tcounter\taccept' "port-only bypass priority rule" +assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tsaddr\t@tachyon_rule_source_bypass_sources\tip\tdaddr\t!=\t@localv4\tcounter\taccept' "source-only bypass priority rule" +assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tsaddr\t@tachyon_rule_source_proxy_sources\tip\tdaddr\t!=\t@localv4\tmeta\tl4proto\ttcp\tmeta\tmark\tset\t0x00100000\tcounter\taccept' "source-only proxy tcp priority rule" +assert_contains "$NFT_LOG" $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tsaddr\t@tachyon_rule_source_proxy_sources\tip\tdaddr\t!=\t@localv4\tmeta\tl4proto\tudp\tmeta\tmark\tset\t0x00100000\tcounter\taccept' "source-only proxy udp priority rule" assert_line_before "$NFT_LOG" \ $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tdaddr\t!=\t@localv4\tip\tdaddr\t@tachyon_rule_bypass_first_subnets\tcounter\taccept' \ $'nft\tadd\trule\tinet\tTachyonTable\tpriority_rules\tiifname\t@tachyon_interfaces\tip\tdaddr\t!=\t@localv4\tip\tdaddr\t@tachyon_rule_wide_proxy_subnets\tmeta\tl4proto\ttcp\tmeta\tmark\tset\t0x00100000\tcounter\taccept' \ diff --git a/tests/server_awg.sh b/tests/server_awg.sh index d1509b75..3741fd20 100644 --- a/tests/server_awg.sh +++ b/tests/server_awg.sh @@ -16,7 +16,7 @@ fail() { exit 1 } -# 1. Test sing-box configuration generation with AWG server +# 1. Test sing-box configuration generation with AWG server (2.0, 3.0, and 3.1) cat >"$WORK_DIR/awg_fixture.json" <<'JSON' { "settings": { @@ -30,6 +30,7 @@ cat >"$WORK_DIR/awg_fixture.json" <<'JSON' ".type": "server", "enabled": "1", "protocol": "awg", + "awg_version": "2.0", "awg_private_key": "aW5ib3VuZF9wcml2YXRlX2tleQ==", "awg_peer_public_key": "cGVlcl9wdWJsaWNfa2V5", "awg_server_address": "192.168.1.100", @@ -44,6 +45,59 @@ cat >"$WORK_DIR/awg_fixture.json" <<'JSON' "awg_h2": "200", "awg_h3": "300", "awg_h4": "400" + }, + { + ".name": "my_awg30_server", + ".type": "server", + "enabled": "1", + "protocol": "awg", + "awg_version": "3.0", + "awg_private_key": "aW5ib3VuZF9wcml2YXRlX2tleQ==", + "awg_peer_public_key": "cGVlcl9wdWJsaWNfa2V5", + "awg_server_address": "192.168.1.100", + "awg_server_port": "51821", + "awg_local_address": ["10.0.0.1/24"], + "awg_jc": "6", + "awg_jmin": "200", + "awg_jmax": "600", + "awg_s1": "20", + "awg_s2": "30", + "awg_h1": "100-200", + "awg_h2": "300-400", + "awg_h3": "500-600", + "awg_h4": "700-800", + "awg_header_protection_key": "dyBkZypS0O8PSlG0Ide3Agjp4Fng3YdYlPvXzZIldYQ=", + "awg_content_padding_addition": "38-104" + }, + { + ".name": "my_awg31_server", + ".type": "server", + "enabled": "1", + "protocol": "awg", + "awg_version": "3.1", + "awg_private_key": "aW5ib3VuZF9wcml2YXRlX2tleQ==", + "awg_peer_public_key": "cGVlcl9wdWJsaWNfa2V5", + "awg_server_address": "192.168.1.100", + "awg_server_port": "51822", + "awg_local_address": ["10.0.0.1/24"], + "awg_jc": "6", + "awg_jmin": "292", + "awg_jmax": "743", + "awg_s1": "28", + "awg_s2": "130", + "awg_s3": "53", + "awg_s4": "25", + "awg_h1": "179761265-179779753", + "awg_h2": "1691691036-1691701489", + "awg_h3": "2788983576-2789001884", + "awg_h4": "3784650023-3784673067", + "awg_header_protection_key": "dyBkZypS0O8PSlG0Ide3Agjp4Fng3YdYlPvXzZIldYQ=", + "awg_content_padding_addition": "38-104", + "awg_rekey_after_time": "107-132", + "awg_rekey_timeout": "5-6", + "awg_reject_after_time": "171-193", + "awg_keepalive_timeout": "11-18", + "awg_max_handshake_attempts": "15-24" } ], "section": [ @@ -69,4 +123,17 @@ grep -q '"jc": 5' "$out_json" || fail "sing-box config missing amnezia jc parame grep -q '"s1": 15' "$out_json" || fail "sing-box config missing amnezia s1 parameter" grep -q '"h1": 100' "$out_json" || fail "sing-box config missing amnezia h1 parameter" -printf 'AWG server configuration checks passed\n' +# Check AWG 3.0 server inbound +grep -q '"tag": "server-my_awg30_server-in"' "$out_json" || fail "sing-box config missing server-my_awg30_server-in tag" +grep -q '"header_protection_key": "dyBkZypS0O8PSlG0Ide3Agjp4Fng3YdYlPvXzZIldYQ="' "$out_json" || fail "AWG 3.0 server missing header_protection_key" +grep -q '"content_padding_addition": "38-104"' "$out_json" || fail "AWG 3.0 server missing content_padding_addition" + +# Check AWG 3.1 server inbound +grep -q '"tag": "server-my_awg31_server-in"' "$out_json" || fail "sing-box config missing server-my_awg31_server-in tag" +grep -q '"rekey_after_time": "107-132"' "$out_json" || fail "AWG 3.1 server missing rekey_after_time" +grep -q '"rekey_timeout": "5-6"' "$out_json" || fail "AWG 3.1 server missing rekey_timeout" +grep -q '"reject_after_time": "171-193"' "$out_json" || fail "AWG 3.1 server missing reject_after_time" +grep -q '"keepalive_timeout": "11-18"' "$out_json" || fail "AWG 3.1 server missing keepalive_timeout" +grep -q '"max_handshake_attempts": "15-24"' "$out_json" || fail "AWG 3.1 server missing max_handshake_attempts" + +printf 'AWG 2.0, 3.0, and 3.1 server configuration checks passed\n' diff --git a/tests/sing_box_runtime.sh b/tests/sing_box_runtime.sh index d4b0614a..cbc090b8 100644 --- a/tests/sing_box_runtime.sh +++ b/tests/sing_box_runtime.sh @@ -344,6 +344,14 @@ cat >"$WORK_DIR/runtime-matchers-fixture.json" <<'JSON' "mixed_proxy_auth_enabled": "1", "mixed_proxy_username": "user", "mixed_proxy_password": "pass" + }, + { + ".name": "source_only", + ".type": "section", + "enabled": "1", + "action": "connection", + "selector_proxy_links": [ "socks5://127.0.0.1:1080" ], + "source_ip_cidr": [ "192.168.1.77/32" ] } ] } @@ -1242,6 +1250,7 @@ assert(route_rule(matchers, r => r.outbound == "proxy-out" && contains(r.domain_ assert(route_rule(matchers, r => contains(r.inbound, "tproxy-in") && contains(r.inbound, "tproxy6-in") && r.outbound == "proxy-out") != null, "section route dual tproxy inbound"); assert(route_rule(matchers, r => r.outbound == "direct-out" && contains(r.source_ip_cidr, "192.168.1.5/32")) == null, "routing excluded source removed"); assert(route_rule(matchers, r => r.outbound == "proxy-out" && contains(r.source_ip_cidr, "10.0.0.2/32") && contains(r.source_ip_cidr, "2001:db8::2/128")) != null, "source_ip_cidr matcher"); +assert(route_rule(matchers, r => r.outbound == "source_only-out" && contains(r.source_ip_cidr, "192.168.1.77/32")) != null, "source_only route rule generated"); let commented_ip_rule = route_rule(matchers, r => r.outbound == "proxy-out" && contains(r.ip_cidr, "77.111.247.0/24") && contains(r.ip_cidr, "198.51.100.0/24")); assert(commented_ip_rule != null, "comment-aware ip_cidr matcher"); assert(contains(commented_ip_rule.port, 80) && contains(commented_ip_rule.port, 8080), "comment-aware port matcher"); diff --git a/tests/warp_preflight.sh b/tests/warp_preflight.sh index 18699e94..e0dd80a2 100644 --- a/tests/warp_preflight.sh +++ b/tests/warp_preflight.sh @@ -57,9 +57,19 @@ if (res1 != "") { warn("awg_tag_chain should pad odd length hex: got " + res1 + "\n"); exit(1); } -let res2 = common.awg_tag_chain("1234"); -if (res2 != "") { - warn("awg_tag_chain should format even length hex: got " + res2 + "\n"); +let res3 = common.awg_tag_chain(""); +if (res3 != "") { + warn("awg_tag_chain should preserve tag chain: got " + res3 + "\n"); + exit(1); +} +let res4 = common.awg_tag_chain("