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("") {
+ warn("awg_tag_chain should heal unclosed tag: got " + res4 + "\n");
+ exit(1);
+}
+let res5 = common.awg_tag_chain("729cd37af1ee1d>") {
+ warn("awg_tag_chain should heal stripped opening and closing tags: got " + res5 + "\n");
exit(1);
}
' || fail "awg_tag_chain odd-hex padding failed"