release: 1.3.9 - Оптимизация кодовой базы (Ponytail Audit), очистка мертвого кода и ускорение Telegram-бота
- Frontend: полное удаление неиспользуемого renderAdvancedSettings.ts (-1354 строки), очистка каталогов локализации от фантомных ключей, инкапсуляция внутренних экспортов в runtimeTags и singBoxVariant - Backend: удаление неиспользуемого singbox/dns_prefetch.uc (-243 строки) и его вызова в lifecycle.uc, удаление устаревших заглушек Forkop-эпохи в service_check.uc - Telegram Bot: внедрение in-memory кэша cb_map_cache для устранения избыточных дисковых чтений/записей JSON при рендеринге inline-кнопок - Версия: bump версии до 1.3.9 в package.json и package-lock.json
This commit is contained in:
@@ -64,27 +64,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8901"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "⏹ Stop",
|
||||
"key": "⏹ Stop",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:515"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "▶ Start",
|
||||
"key": "▶ Start",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:515"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "⚙ Advanced Settings",
|
||||
"key": "⚙ Advanced Settings",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1340"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "⚠️ Benchmark completed. No working bypass found for this target.",
|
||||
"key": "⚠️ Benchmark completed. No working bypass found for this target.",
|
||||
@@ -194,8 +173,7 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8357",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1891",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1900",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:505"
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1900"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -213,8 +191,7 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8357",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1891",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1900",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:505"
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1900"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -297,13 +274,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:248"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "🔑 Generate",
|
||||
"key": "🔑 Generate",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:760"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "🗑️ Clear History",
|
||||
"key": "🗑️ Clear History",
|
||||
@@ -424,9 +394,9 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16607",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:349",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:355",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1127",
|
||||
"src/tachyon/tabs/monitoring/initController.ts:722",
|
||||
"src/tachyon/tabs/monitoring/render.ts:20"
|
||||
"src/tachyon/tabs/monitoring/render.ts:20",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1127"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -640,13 +610,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:85"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Advanced self-healing features. Requires Watchdog to be enabled.",
|
||||
"key": "Advanced self-healing features. Requires Watchdog to be enabled.",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:627"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Advanced System",
|
||||
"key": "Advanced System",
|
||||
@@ -682,13 +645,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:822"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Agent REST API (12 Endpoints)",
|
||||
"key": "AI Agent REST API (12 Endpoints)",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:722"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Agent REST API Bearer Token",
|
||||
"key": "AI Agent REST API Bearer Token",
|
||||
@@ -700,8 +656,7 @@
|
||||
"call": "AI API Key",
|
||||
"key": "AI API Key",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1813",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1037"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1813"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -728,13 +683,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1046"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Doctor (ChatGPT / DeepSeek API)",
|
||||
"key": "AI Doctor (ChatGPT / DeepSeek API)",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:776"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Doctor Diagnosis",
|
||||
"key": "AI Doctor Diagnosis",
|
||||
@@ -759,8 +707,7 @@
|
||||
"call": "AI Doctor Language",
|
||||
"key": "AI Doctor Language",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1800",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1004"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1800"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -783,16 +730,14 @@
|
||||
"call": "AI Model",
|
||||
"key": "AI Model",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1787",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:979"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1787"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Provider",
|
||||
"key": "AI Provider",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1770",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:901"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1770"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -827,20 +772,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1690"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Watchdog",
|
||||
"key": "AI Watchdog",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:622"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "AI Watchdog settings saved. Restart watchdog to apply.",
|
||||
"key": "AI Watchdog settings saved. Restart watchdog to apply.",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:449"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "All",
|
||||
"key": "All",
|
||||
@@ -1281,8 +1212,7 @@
|
||||
"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:1976",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1197"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1976"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1423,13 +1353,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:58"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Bearer Auth Token",
|
||||
"key": "Bearer Auth Token",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:732"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Beginning of the schedule interval (e.g. 22:00)",
|
||||
"key": "Beginning of the schedule interval (e.g. 22:00)",
|
||||
@@ -2254,10 +2177,10 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10239",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1803",
|
||||
"src/partials/modal/renderModal.ts:263",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1267",
|
||||
"src/tachyon/tabs/diagnostic/initController.ts:1553",
|
||||
"src/tachyon/tabs/monitoring/initController.ts:893",
|
||||
"src/tachyon/tabs/monitoring/initController.ts:948",
|
||||
"src/tachyon/tabs/dashboard/initController.ts:1267",
|
||||
"src/tachyon/tabs/diagnostic/initController.ts:1553",
|
||||
"src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:227",
|
||||
"src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:178",
|
||||
"src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:871",
|
||||
@@ -2373,7 +2296,7 @@
|
||||
"key": "compressed",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6081",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:60"
|
||||
"src/tachyon/helpers/singBoxVariant.ts:57"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2438,13 +2361,6 @@
|
||||
"src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:141"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis.",
|
||||
"key": "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis.",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:781"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Connect through",
|
||||
"key": "Connect through",
|
||||
@@ -2618,8 +2534,7 @@
|
||||
"call": "Custom API Endpoint URL",
|
||||
"key": "Custom API Endpoint URL",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1824",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1059"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1824"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2672,13 +2587,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3497"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Custom interface/section",
|
||||
"key": "Custom interface/section",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:884"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Custom OpenAI-Compatible API",
|
||||
"key": "Custom OpenAI-Compatible API",
|
||||
@@ -2772,8 +2680,7 @@
|
||||
"key": "Default (Direct WAN / Default mixed proxy)",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1635",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:833"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2861,20 +2768,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9486"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Device IPs (one per line):",
|
||||
"key": "Device IPs (one per line):",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1270"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Device IPs saved",
|
||||
"key": "Device IPs saved",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:305"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Device or IP",
|
||||
"key": "Device or IP",
|
||||
@@ -2897,13 +2790,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:236"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Devices listed here are always routed through the assigned section, regardless of global rules.",
|
||||
"key": "Devices listed here are always routed through the assigned section, regardless of global rules.",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1308"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "DHCP has DNS server",
|
||||
"key": "DHCP has DNS server",
|
||||
@@ -3206,15 +3092,7 @@
|
||||
"call": "DNS Turbo Cache",
|
||||
"key": "DNS Turbo Cache",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:995",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:527"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "DNS Turbo Cache saved",
|
||||
"key": "DNS Turbo Cache saved",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:329"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:995"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -3612,13 +3490,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1758"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Enable AI Doctor (LLM Integration)",
|
||||
"key": "Enable AI Doctor (LLM Integration)",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:796"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Enable Anomaly Detection",
|
||||
"key": "Enable Anomaly Detection",
|
||||
@@ -3677,13 +3548,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1888"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Enable DNS Turbo Cache",
|
||||
"key": "Enable DNS Turbo Cache",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:546"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Enable Firewall Reload Dedup",
|
||||
"key": "Enable Firewall Reload Dedup",
|
||||
@@ -3744,8 +3608,7 @@
|
||||
"call": "Enable RAG (Knowledge Base Retrieval)",
|
||||
"key": "Enable RAG (Knowledge Base Retrieval)",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1840",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:810"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1840"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -3759,8 +3622,7 @@
|
||||
"call": "Enable Smart Detect",
|
||||
"key": "Enable Smart Detect",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1975",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1214"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1975"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -4198,12 +4060,12 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19001",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19061",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19233",
|
||||
"src/tachyon/methods/shell/index.ts:171",
|
||||
"src/tachyon/methods/shell/index.ts:178",
|
||||
"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/tabs/updates/initController.ts:953",
|
||||
"src/tachyon/methods/shell/index.ts:171",
|
||||
"src/tachyon/methods/shell/index.ts:178"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -4347,27 +4209,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2434"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Failed to save AI Watchdog settings",
|
||||
"key": "Failed to save AI Watchdog settings",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:453"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Failed to save device IPs",
|
||||
"key": "Failed to save device IPs",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:313"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Failed to save DNS Turbo Cache",
|
||||
"key": "Failed to save DNS Turbo Cache",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:331"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Failed to save fuzzer patterns",
|
||||
"key": "Failed to save fuzzer patterns",
|
||||
@@ -4384,13 +4225,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:796"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Failed to save Smart Detect settings",
|
||||
"key": "Failed to save Smart Detect settings",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:279"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Failed to save snapshot",
|
||||
"key": "Failed to save snapshot",
|
||||
@@ -4894,13 +4728,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9248"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>.",
|
||||
"key": "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>.",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:767"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Get global check",
|
||||
"key": "Get global check",
|
||||
@@ -4963,13 +4790,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3237"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Health Checks",
|
||||
"key": "Health Checks",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:630"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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.",
|
||||
@@ -5234,13 +5054,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2977"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/",
|
||||
"key": "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:727"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "HWID",
|
||||
"key": "HWID",
|
||||
@@ -6398,8 +6211,7 @@
|
||||
"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:996",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:532"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:996"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -6555,8 +6367,7 @@
|
||||
"call": "LM Studio (Local PC / Server)",
|
||||
"key": "LM Studio (Local PC / Server)",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1779",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:964"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1779"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -6648,13 +6459,6 @@
|
||||
"src/tachyon/tabs/updates/initController.ts:1276"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Loading…",
|
||||
"key": "Loading…",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1318"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Local Address",
|
||||
"key": "Local Address",
|
||||
@@ -6674,7 +6478,7 @@
|
||||
"key": "lx",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6083",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:62"
|
||||
"src/tachyon/helpers/singBoxVariant.ts:59"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -6904,13 +6708,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:541"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Monitoring & Analytics",
|
||||
"key": "Monitoring & Analytics",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:675"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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.",
|
||||
@@ -6918,20 +6715,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1957"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Move down",
|
||||
"key": "Move down",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1148"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Move up",
|
||||
"key": "Move up",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1137"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "MTU",
|
||||
"key": "MTU",
|
||||
@@ -7137,8 +6920,7 @@
|
||||
"call": "No active routing sections found.",
|
||||
"key": "No active routing sections found.",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:704",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1256"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:704"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -7415,8 +7197,8 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19467",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19477",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19487",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:38",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:46",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:35",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:43",
|
||||
"src/tachyon/tabs/updates/initController.ts:1237",
|
||||
"src/tachyon/tabs/updates/initController.ts:1251",
|
||||
"src/tachyon/tabs/updates/initController.ts:1265",
|
||||
@@ -7585,8 +7367,7 @@
|
||||
"call": "Ollama (Local PC / Server)",
|
||||
"key": "Ollama (Local PC / Server)",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1778",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:956"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1778"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -7687,13 +7468,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderWikiDisclaimer.ts:31"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "OpenWrt Network Interfaces",
|
||||
"key": "OpenWrt Network Interfaces",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:860"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Operation completed successfully!",
|
||||
"key": "Operation completed successfully!",
|
||||
@@ -7756,13 +7530,6 @@
|
||||
"src/tachyon/methods/shell/index.ts:577"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Optimization",
|
||||
"key": "Optimization",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:704"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Optimize AWG MTU",
|
||||
"key": "Optimize AWG MTU",
|
||||
@@ -7802,13 +7569,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1018"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Optional for local LLM",
|
||||
"key": "Optional for local LLM",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1045"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Optional tls-auth or tls-crypt key",
|
||||
"key": "Optional tls-auth or tls-crypt key",
|
||||
@@ -8088,14 +7848,6 @@
|
||||
"src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:98"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Per-Device Routing",
|
||||
"key": "Per-Device Routing",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1250",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1303"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Periodically check the current level and switch to a faster server even when the current one works.",
|
||||
"key": "Periodically check the current level and switch to a faster server even when the current one works.",
|
||||
@@ -8411,8 +8163,7 @@
|
||||
"call": "Protection",
|
||||
"key": "Protection",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:291",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:657"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:291"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -9317,8 +9068,7 @@
|
||||
"key": "Save",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3669",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:673",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1295"
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:673"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -9328,20 +9078,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1721"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Save AI Watchdog Settings",
|
||||
"key": "Save AI Watchdog Settings",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1097"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Save Smart Detect Settings",
|
||||
"key": "Save Smart Detect Settings",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1235"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Save Snapshot",
|
||||
"key": "Save Snapshot",
|
||||
@@ -9350,16 +9086,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:645"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Saving…",
|
||||
"key": "Saving…",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:550",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1095",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1235",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1295"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Schedule",
|
||||
"key": "Schedule",
|
||||
@@ -9429,13 +9155,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1746"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Secret token for WRITE requests",
|
||||
"key": "Secret token for WRITE requests",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:738"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Section",
|
||||
"key": "Section",
|
||||
@@ -9458,13 +9177,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7262"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy.",
|
||||
"key": "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy.",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:894"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Section Rules Content",
|
||||
"key": "Section Rules Content",
|
||||
@@ -9472,13 +9184,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10231"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Section test order (checked = active, drag rows with △▽):",
|
||||
"key": "Section test order (checked = active, drag rows with △▽):",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1222"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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.",
|
||||
@@ -9970,9 +9675,9 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3486",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3505",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14452",
|
||||
"src/tachyon/tabs/diagnostic/initController.ts:609",
|
||||
"src/tachyon/methods/shell/index.ts:440",
|
||||
"src/tachyon/methods/shell/index.ts:461",
|
||||
"src/tachyon/tabs/diagnostic/initController.ts:609"
|
||||
"src/tachyon/methods/shell/index.ts:461"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -10248,20 +9953,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7638"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Smart Detect",
|
||||
"key": "Smart Detect",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1192"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Smart Detect settings saved",
|
||||
"key": "Smart Detect settings saved",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:277"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Snapshot name",
|
||||
"key": "Snapshot name",
|
||||
@@ -10554,13 +10245,6 @@
|
||||
"src/tachyon/tabs/diagnostic/initController.ts:1082"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Start Watchdog first",
|
||||
"key": "Start Watchdog first",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1098"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Starting…",
|
||||
"key": "Starting…",
|
||||
@@ -10585,7 +10269,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11403",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:333",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:733",
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:497",
|
||||
"src/tachyon/tabs/dashboard/partials/renderSections.ts:670",
|
||||
"src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:481"
|
||||
]
|
||||
@@ -10890,13 +10573,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:6108"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Tachyon Sections",
|
||||
"key": "Tachyon Sections",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:839"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Tachyon service is stopped. Start the service to display connections.",
|
||||
"key": "Tachyon service is stopped. Start the service to display connections.",
|
||||
@@ -11454,7 +11130,7 @@
|
||||
"key": "tiny",
|
||||
"places": [
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6085",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:64"
|
||||
"src/tachyon/helpers/singBoxVariant.ts:61"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -11927,7 +11603,7 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10170",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10171",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18827",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:37",
|
||||
"src/tachyon/helpers/singBoxVariant.ts:34",
|
||||
"src/tachyon/services/systemInfo.service.ts:10",
|
||||
"src/tachyon/services/systemInfo.service.ts:12",
|
||||
"src/tachyon/services/systemInfo.service.ts:13",
|
||||
@@ -12615,20 +12291,6 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8430"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "WARP Proxy Section",
|
||||
"key": "WARP Proxy Section",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:814"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Watchdog",
|
||||
"key": "Watchdog",
|
||||
"places": [
|
||||
"src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:494"
|
||||
]
|
||||
},
|
||||
{
|
||||
"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.",
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TACHYON\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-30 16:56+0300\n"
|
||||
"PO-Revision-Date: 2026-08-30 16:56+0300\n"
|
||||
"POT-Creation-Date: 2026-09-01 05:41+0300\n"
|
||||
"PO-Revision-Date: 2026-09-01 05:41+0300\n"
|
||||
"Last-Translator: Dushnilin <dushnilin@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
@@ -57,18 +57,6 @@ msgstr ""
|
||||
msgid "+ Add URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:515
|
||||
msgid "⏹ Stop"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:515
|
||||
msgid "▶ Start"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1340
|
||||
msgid "⚙ Advanced Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13135
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1393
|
||||
msgid "⚠️ Benchmark completed. No working bypass found for this target."
|
||||
@@ -136,7 +124,6 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1891
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1900
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:505
|
||||
msgid "✔ Running"
|
||||
msgstr ""
|
||||
|
||||
@@ -149,7 +136,6 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1891
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1900
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:505
|
||||
msgid "✘ Stopped"
|
||||
msgstr ""
|
||||
|
||||
@@ -203,10 +189,6 @@ msgstr ""
|
||||
msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:760
|
||||
msgid "🔑 Generate"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12904
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1122
|
||||
msgid "🗑️ Clear History"
|
||||
@@ -284,9 +266,9 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16607
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:349
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:355
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1127
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:722
|
||||
#: src/tachyon/tabs/monitoring/render.ts:20
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1127
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
@@ -417,10 +399,6 @@ msgstr ""
|
||||
msgid "Adult content"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:627
|
||||
msgid "Advanced self-healing features. Requires Watchdog to be enabled."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:823
|
||||
msgid "Advanced System"
|
||||
msgstr ""
|
||||
@@ -441,16 +419,11 @@ msgstr ""
|
||||
msgid "AI & Watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:722
|
||||
msgid "AI Agent REST API (12 Endpoints)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1745
|
||||
msgid "AI Agent REST API Bearer Token"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1813
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1037
|
||||
msgid "AI API Key"
|
||||
msgstr ""
|
||||
|
||||
@@ -469,10 +442,6 @@ msgstr ""
|
||||
msgid "AI Diagnostics & Strategy Rationale"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:776
|
||||
msgid "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15182
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1563
|
||||
msgid "AI Doctor Diagnosis"
|
||||
@@ -488,7 +457,6 @@ msgid "AI Doctor failed"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1800
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1004
|
||||
msgid "AI Doctor Language"
|
||||
msgstr ""
|
||||
|
||||
@@ -503,12 +471,10 @@ msgid "AI DPI Engineer & Strategy Synthesizer"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1787
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:979
|
||||
msgid "AI Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1770
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:901
|
||||
msgid "AI Provider"
|
||||
msgstr ""
|
||||
|
||||
@@ -532,14 +498,6 @@ msgstr ""
|
||||
msgid "AI synthesis failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:622
|
||||
msgid "AI Watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:449
|
||||
msgid "AI Watchdog settings saved. Restart watchdog to apply."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12281
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16041
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16572
|
||||
@@ -806,7 +764,6 @@ msgid "Auto-detected Domains"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1976
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1197
|
||||
msgid "Auto-detects blocked domains from logs and adds them to the first section where they work via proxy."
|
||||
msgstr ""
|
||||
|
||||
@@ -894,10 +851,6 @@ msgstr ""
|
||||
msgid "Basic connectivity"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:732
|
||||
msgid "Bearer Auth Token"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:875
|
||||
msgid "Beginning of the schedule interval (e.g. 22:00)"
|
||||
msgstr ""
|
||||
@@ -1421,10 +1374,10 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10239
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1803
|
||||
#: src/partials/modal/renderModal.ts:263
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1267
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1553
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:893
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:948
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1267
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1553
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:227
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:178
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:871
|
||||
@@ -1498,7 +1451,7 @@ msgid "Components"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6081
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:60
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:57
|
||||
msgid "compressed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1540,10 +1493,6 @@ msgstr ""
|
||||
msgid "Conflict"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:781
|
||||
msgid "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9031
|
||||
msgid "Connect through"
|
||||
msgstr ""
|
||||
@@ -1651,7 +1600,6 @@ msgid "Custom"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1824
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1059
|
||||
msgid "Custom API Endpoint URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -1684,10 +1632,6 @@ msgstr ""
|
||||
msgid "Custom header for handshake response"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:884
|
||||
msgid "Custom interface/section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1780
|
||||
msgid "Custom OpenAI-Compatible API"
|
||||
msgstr ""
|
||||
@@ -1742,7 +1686,6 @@ msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1635
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:833
|
||||
msgid "Default (Direct WAN / Default mixed proxy)"
|
||||
msgstr ""
|
||||
|
||||
@@ -1798,14 +1741,6 @@ msgstr ""
|
||||
msgid "Device filter"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1270
|
||||
msgid "Device IPs (one per line):"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:305
|
||||
msgid "Device IPs saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:6970
|
||||
msgid "Device or IP"
|
||||
msgstr ""
|
||||
@@ -1819,10 +1754,6 @@ msgstr ""
|
||||
msgid "Devices (MAC / IP)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1308
|
||||
msgid "Devices listed here are always routed through the assigned section, regardless of global rules."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9412
|
||||
#: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:37
|
||||
msgid "DHCP has DNS server"
|
||||
@@ -2005,14 +1936,9 @@ msgid "DNS through section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:995
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:527
|
||||
msgid "DNS Turbo Cache"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:329
|
||||
msgid "DNS Turbo Cache saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:934
|
||||
msgid "DNS Unavailability Timeout"
|
||||
msgstr ""
|
||||
@@ -2252,10 +2178,6 @@ msgstr ""
|
||||
msgid "Enable AI Doctor (ChatGPT / LLM Analysis)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:796
|
||||
msgid "Enable AI Doctor (LLM Integration)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1956
|
||||
msgid "Enable Anomaly Detection"
|
||||
msgstr ""
|
||||
@@ -2290,10 +2212,6 @@ msgstr ""
|
||||
msgid "Enable DNS Continuous Check"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:546
|
||||
msgid "Enable DNS Turbo Cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1901
|
||||
msgid "Enable Firewall Reload Dedup"
|
||||
msgstr ""
|
||||
@@ -2327,7 +2245,6 @@ msgid "Enable Proxy Health Monitor"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1840
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:810
|
||||
msgid "Enable RAG (Knowledge Base Retrieval)"
|
||||
msgstr ""
|
||||
|
||||
@@ -2336,7 +2253,6 @@ msgid "Enable Smart Cooldowns"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1975
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1214
|
||||
msgid "Enable Smart Detect"
|
||||
msgstr ""
|
||||
|
||||
@@ -2609,12 +2525,12 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19001
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19061
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19233
|
||||
#: src/tachyon/methods/shell/index.ts:171
|
||||
#: src/tachyon/methods/shell/index.ts:178
|
||||
#: 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
|
||||
msgid "Failed to execute"
|
||||
msgstr ""
|
||||
|
||||
@@ -2705,18 +2621,6 @@ msgstr ""
|
||||
msgid "Failed to run diagnostics — is the tachyon binary installed?"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:453
|
||||
msgid "Failed to save AI Watchdog settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:313
|
||||
msgid "Failed to save device IPs"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:331
|
||||
msgid "Failed to save DNS Turbo Cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4145
|
||||
#: src/tachyon/methods/shell/index.ts:1320
|
||||
msgid "Failed to save fuzzer patterns"
|
||||
@@ -2727,10 +2631,6 @@ msgstr ""
|
||||
msgid "Failed to save patterns"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:279
|
||||
msgid "Failed to save Smart Detect settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:670
|
||||
msgid "Failed to save snapshot"
|
||||
msgstr ""
|
||||
@@ -3039,10 +2939,6 @@ msgstr ""
|
||||
msgid "Germany (de)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:767
|
||||
msgid "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10740
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:113
|
||||
msgid "Get global check"
|
||||
@@ -3081,10 +2977,6 @@ msgstr ""
|
||||
msgid "Handshake timeout"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:630
|
||||
msgid "Health Checks"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11750
|
||||
#: 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."
|
||||
@@ -3244,10 +3136,6 @@ msgstr ""
|
||||
msgid "HTTP hosts"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:727
|
||||
msgid "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2473
|
||||
msgid "HWID"
|
||||
msgstr ""
|
||||
@@ -3961,7 +3849,6 @@ msgid "Keep URLTest before latency-sorted servers"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:996
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:532
|
||||
msgid "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms."
|
||||
msgstr ""
|
||||
|
||||
@@ -4055,7 +3942,6 @@ msgid "Lists and rule sets successfully updated!"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1779
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:964
|
||||
msgid "LM Studio (Local PC / Server)"
|
||||
msgstr ""
|
||||
|
||||
@@ -4118,10 +4004,6 @@ msgstr ""
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1318
|
||||
msgid "Loading…"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8321
|
||||
msgid "Local Address"
|
||||
msgstr ""
|
||||
@@ -4131,7 +4013,7 @@ msgid "Log Level"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6083
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:62
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:59
|
||||
msgid "lx"
|
||||
msgstr ""
|
||||
|
||||
@@ -4269,22 +4151,10 @@ msgstr ""
|
||||
msgid "Monitoring"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:675
|
||||
msgid "Monitoring & Analytics"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1957
|
||||
msgid "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1148
|
||||
msgid "Move down"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1137
|
||||
msgid "Move up"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8384
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3379
|
||||
msgid "MTU"
|
||||
@@ -4412,7 +4282,6 @@ msgid "No active DHCP clients found on local network."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:704
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1256
|
||||
msgid "No active routing sections found."
|
||||
msgstr ""
|
||||
|
||||
@@ -4593,8 +4462,8 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19467
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19477
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19487
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:38
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:46
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:35
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:43
|
||||
#: src/tachyon/tabs/updates/initController.ts:1237
|
||||
#: src/tachyon/tabs/updates/initController.ts:1251
|
||||
#: src/tachyon/tabs/updates/initController.ts:1265
|
||||
@@ -4704,7 +4573,6 @@ msgid "Obfuscation password"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1778
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:956
|
||||
msgid "Ollama (Local PC / Server)"
|
||||
msgstr ""
|
||||
|
||||
@@ -4767,10 +4635,6 @@ msgstr ""
|
||||
msgid "Open Project Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:860
|
||||
msgid "OpenWrt Network Interfaces"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18402
|
||||
#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:324
|
||||
msgid "Operation completed successfully!"
|
||||
@@ -4812,10 +4676,6 @@ msgstr ""
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:704
|
||||
msgid "Optimization"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14782
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1100
|
||||
msgid "Optimize AWG MTU"
|
||||
@@ -4840,10 +4700,6 @@ msgstr ""
|
||||
msgid "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1045
|
||||
msgid "Optional for local LLM"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8743
|
||||
msgid "Optional tls-auth or tls-crypt key"
|
||||
msgstr ""
|
||||
@@ -5012,11 +4868,6 @@ msgstr ""
|
||||
msgid "Pending..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1250
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1303
|
||||
msgid "Per-Device Routing"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3158
|
||||
msgid "Periodically check the current level and switch to a faster server even when the current one works."
|
||||
msgstr ""
|
||||
@@ -5203,7 +5054,6 @@ msgid "Profile Name"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:291
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:657
|
||||
msgid "Protection"
|
||||
msgstr ""
|
||||
|
||||
@@ -5758,7 +5608,6 @@ msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3669
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:673
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1295
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -5766,26 +5615,11 @@ msgstr ""
|
||||
msgid "Save a snapshot of the working config and restore it later if something breaks."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1097
|
||||
msgid "Save AI Watchdog Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1235
|
||||
msgid "Save Smart Detect Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:466
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:645
|
||||
msgid "Save Snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:550
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1095
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1235
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1295
|
||||
msgid "Saving…"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:655
|
||||
msgid "Schedule"
|
||||
msgstr ""
|
||||
@@ -5828,10 +5662,6 @@ msgstr ""
|
||||
msgid "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:738
|
||||
msgid "Secret token for WRITE requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1654
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:437
|
||||
msgid "Section"
|
||||
@@ -5845,18 +5675,10 @@ msgstr ""
|
||||
msgid "Section name"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:894
|
||||
msgid "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10231
|
||||
msgid "Section Rules Content"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1222
|
||||
msgid "Section test order (checked = active, drag rows with △▽):"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1631
|
||||
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 ""
|
||||
@@ -6149,9 +5971,9 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3486
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3505
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14452
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:609
|
||||
#: src/tachyon/methods/shell/index.ts:440
|
||||
#: src/tachyon/methods/shell/index.ts:461
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:609
|
||||
msgid "Service action failed"
|
||||
msgstr ""
|
||||
|
||||
@@ -6320,14 +6142,6 @@ msgstr ""
|
||||
msgid "Skipped loopback:"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1192
|
||||
msgid "Smart Detect"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:277
|
||||
msgid "Smart Detect settings saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:643
|
||||
msgid "Snapshot name"
|
||||
msgstr ""
|
||||
@@ -6506,10 +6320,6 @@ msgstr ""
|
||||
msgid "Start watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1098
|
||||
msgid "Start Watchdog first"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:335
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2124
|
||||
msgid "Starting…"
|
||||
@@ -6524,7 +6334,6 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11403
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:333
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:733
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:497
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:670
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:481
|
||||
msgid "Status"
|
||||
@@ -6713,10 +6522,6 @@ msgstr ""
|
||||
msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:839
|
||||
msgid "Tachyon Sections"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16822
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:991
|
||||
msgid "Tachyon service is stopped. Start the service to display connections."
|
||||
@@ -7057,7 +6862,7 @@ msgid "Time skew tolerance"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6085
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:64
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:61
|
||||
msgid "tiny"
|
||||
msgstr ""
|
||||
|
||||
@@ -7347,7 +7152,7 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10170
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10171
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18827
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:37
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:34
|
||||
#: src/tachyon/services/systemInfo.service.ts:10
|
||||
#: src/tachyon/services/systemInfo.service.ts:12
|
||||
#: src/tachyon/services/systemInfo.service.ts:13
|
||||
@@ -7796,14 +7601,6 @@ msgstr ""
|
||||
msgid "WARP Private Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:814
|
||||
msgid "WARP Proxy Section"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:494
|
||||
msgid "Watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1516
|
||||
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 ""
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TACHYON\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-30 19:56+0300\n"
|
||||
"PO-Revision-Date: 2026-08-30 19:56+0300\n"
|
||||
"POT-Creation-Date: 2026-09-01 08:41+0300\n"
|
||||
"PO-Revision-Date: 2026-09-01 08:41+0300\n"
|
||||
"Last-Translator: Dushnilin\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
@@ -41,15 +41,6 @@ msgstr "+ Добавить стратегию"
|
||||
msgid "+ Add URLTest"
|
||||
msgstr "+ Добавить URLTest"
|
||||
|
||||
msgid "⏹ Stop"
|
||||
msgstr "⏹ Стоп"
|
||||
|
||||
msgid "▶ Start"
|
||||
msgstr "▶ Старт"
|
||||
|
||||
msgid "⚙ Advanced Settings"
|
||||
msgstr "⚙ Настройки"
|
||||
|
||||
msgid "⚠️ Benchmark completed. No working bypass found for this target."
|
||||
msgstr "⚠️ Бенчмарк завершен. Не найдено рабочих стратегий для данной цели."
|
||||
|
||||
@@ -128,9 +119,6 @@ msgstr "🔄 Сбросить к заводским настройкам"
|
||||
msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)"
|
||||
msgstr "🔍 Комбинаторный глубокий фаззинг (~40-80+)"
|
||||
|
||||
msgid "🔑 Generate"
|
||||
msgstr "🔑 Сгенерировать"
|
||||
|
||||
msgid "🗑️ Clear History"
|
||||
msgstr "🗑️ Очистить историю"
|
||||
|
||||
@@ -257,9 +245,6 @@ msgstr "Chat ID администраторов"
|
||||
msgid "Adult content"
|
||||
msgstr "Взрослый контент"
|
||||
|
||||
msgid "Advanced self-healing features. Requires Watchdog to be enabled."
|
||||
msgstr "Расширенные функции самовосстановления. Требуется включённый Watchdog."
|
||||
|
||||
msgid "Advanced System"
|
||||
msgstr "Расширенные настройки"
|
||||
|
||||
@@ -275,9 +260,6 @@ msgstr "Метод AEAD"
|
||||
msgid "AI & Watchdog"
|
||||
msgstr "ИИ и Watchdog"
|
||||
|
||||
msgid "AI Agent REST API (12 Endpoints)"
|
||||
msgstr "HTTP REST API ИИ-агента (12 эндпоинтов)"
|
||||
|
||||
msgid "AI Agent REST API Bearer Token"
|
||||
msgstr "Токен Bearer для REST API ИИ-агента"
|
||||
|
||||
@@ -293,9 +275,6 @@ msgstr "ИИ Чат-ассистент"
|
||||
msgid "AI Diagnostics & Strategy Rationale"
|
||||
msgstr "Диагностика ИИ и обоснование стратегий"
|
||||
|
||||
msgid "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
msgstr "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
|
||||
msgid "AI Doctor Diagnosis"
|
||||
msgstr "Диагностика ИИ-доктора"
|
||||
|
||||
@@ -329,12 +308,6 @@ msgstr "Ошибка генерации ИИ"
|
||||
msgid "AI synthesis failed"
|
||||
msgstr "Не удалось сгенерировать стратегии через ИИ"
|
||||
|
||||
msgid "AI Watchdog"
|
||||
msgstr "ИИ Watchdog"
|
||||
|
||||
msgid "AI Watchdog settings saved. Restart watchdog to apply."
|
||||
msgstr "Настройки AI Watchdog сохранены. Перезапустите watchdog для применения."
|
||||
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
@@ -563,9 +536,6 @@ msgstr "Ошибка проверки бэкенда: %s"
|
||||
msgid "Basic connectivity"
|
||||
msgstr "Базовая связность"
|
||||
|
||||
msgid "Bearer Auth Token"
|
||||
msgstr "Токен авторизации (Bearer)"
|
||||
|
||||
msgid "Beginning of the schedule interval (e.g. 22:00)"
|
||||
msgstr "Начало интервала расписания (например, 22:00)"
|
||||
|
||||
@@ -932,9 +902,6 @@ msgstr "Настройте User-Agent в параметрах элемента"
|
||||
msgid "Conflict"
|
||||
msgstr "Конфликт"
|
||||
|
||||
msgid "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis."
|
||||
msgstr "Подключите ChatGPT, DeepSeek или локальную модель LLM для получения автоматических диагностических отчётов и умного анализа сетевых проблем."
|
||||
|
||||
msgid "Connect through"
|
||||
msgstr "Подключаться через"
|
||||
|
||||
@@ -1022,9 +989,6 @@ msgstr "Пользовательский заголовок для инициа
|
||||
msgid "Custom header for handshake response"
|
||||
msgstr "Пользовательский заголовок для ответа рукопожатия"
|
||||
|
||||
msgid "Custom interface/section"
|
||||
msgstr "Пользовательский интерфейс/секция"
|
||||
|
||||
msgid "Custom OpenAI-Compatible API"
|
||||
msgstr "Пользовательский OpenAI-совместимый API"
|
||||
|
||||
@@ -1097,12 +1061,6 @@ msgstr "устр."
|
||||
msgid "Device filter"
|
||||
msgstr "Фильтр устройств"
|
||||
|
||||
msgid "Device IPs (one per line):"
|
||||
msgstr "IP устройств (по одному на строку):"
|
||||
|
||||
msgid "Device IPs saved"
|
||||
msgstr "IP устройств сохранены"
|
||||
|
||||
msgid "Device or IP"
|
||||
msgstr "Устройство или IP"
|
||||
|
||||
@@ -1112,9 +1070,6 @@ msgstr "Режим устройства обновлен"
|
||||
msgid "Devices (MAC / IP)"
|
||||
msgstr "Устройства (MAC / IP)"
|
||||
|
||||
msgid "Devices listed here are always routed through the assigned section, regardless of global rules."
|
||||
msgstr "Устройства из этого списка всегда маршрутизируются через назначенную секцию, независимо от глобальных правил."
|
||||
|
||||
msgid "DHCP has DNS server"
|
||||
msgstr "DHCP содержит DNS сервер"
|
||||
|
||||
@@ -1235,9 +1190,6 @@ msgstr "DNS через секцию"
|
||||
msgid "DNS Turbo Cache"
|
||||
msgstr "Быстрый DNS-кэш"
|
||||
|
||||
msgid "DNS Turbo Cache saved"
|
||||
msgstr "DNS Turbo Cache сохранён"
|
||||
|
||||
msgid "DNS Unavailability Timeout"
|
||||
msgstr "Таймаут недоступности DNS"
|
||||
|
||||
@@ -1394,9 +1346,6 @@ msgstr "Включить адаптивные интервалы"
|
||||
msgid "Enable AI Doctor (ChatGPT / LLM Analysis)"
|
||||
msgstr "Включить ИИ-доктора (анализ ChatGPT / LLM)"
|
||||
|
||||
msgid "Enable AI Doctor (LLM Integration)"
|
||||
msgstr "Включить AI Doctor (интеграция с LLM)"
|
||||
|
||||
msgid "Enable Anomaly Detection"
|
||||
msgstr "Включить обнаружение аномалий"
|
||||
|
||||
@@ -1421,9 +1370,6 @@ msgstr "Включить прямой обход WAN"
|
||||
msgid "Enable DNS Continuous Check"
|
||||
msgstr "Непрерывная проверка DNS"
|
||||
|
||||
msgid "Enable DNS Turbo Cache"
|
||||
msgstr "Включить быстрый DNS-кэш"
|
||||
|
||||
msgid "Enable Firewall Reload Dedup"
|
||||
msgstr "Включить дедупликацию перезагрузки файрвола"
|
||||
|
||||
@@ -1676,24 +1622,12 @@ msgstr "Не удалось восстановить снапшот"
|
||||
msgid "Failed to run diagnostics — is the tachyon binary installed?"
|
||||
msgstr "Не удалось запустить диагностику — установлен ли бинарник tachyon?"
|
||||
|
||||
msgid "Failed to save AI Watchdog settings"
|
||||
msgstr "Ошибка сохранения настроек AI Watchdog"
|
||||
|
||||
msgid "Failed to save device IPs"
|
||||
msgstr "Ошибка сохранения IP устройств"
|
||||
|
||||
msgid "Failed to save DNS Turbo Cache"
|
||||
msgstr "Не удалось сохранить DNS Turbo Cache"
|
||||
|
||||
msgid "Failed to save fuzzer patterns"
|
||||
msgstr "Не удалось сохранить паттерны фаззера"
|
||||
|
||||
msgid "Failed to save patterns"
|
||||
msgstr "Не удалось сохранить паттерны"
|
||||
|
||||
msgid "Failed to save Smart Detect settings"
|
||||
msgstr "Ошибка сохранения настроек Smart Detect"
|
||||
|
||||
msgid "Failed to save snapshot"
|
||||
msgstr "Не удалось сохранить снапшот"
|
||||
|
||||
@@ -1889,9 +1823,6 @@ msgstr "GeoSite / GeoIP"
|
||||
msgid "Germany (de)"
|
||||
msgstr "Германия (de)"
|
||||
|
||||
msgid "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>."
|
||||
msgstr "GET-эндпоинты открыты в локальной сети. POST-эндпоинты требуют Authorization: Bearer <token>."
|
||||
|
||||
msgid "Get global check"
|
||||
msgstr "Получить глобальную проверку"
|
||||
|
||||
@@ -1916,9 +1847,6 @@ msgstr "Сервис gRPC"
|
||||
msgid "Handshake timeout"
|
||||
msgstr "Таймаут рукопожатия"
|
||||
|
||||
msgid "Health Checks"
|
||||
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. Чем могу помочь? Задайте вопрос о блокировках, диагностике или настройках роутера."
|
||||
|
||||
@@ -2024,9 +1952,6 @@ msgstr "Ошибка HTTP"
|
||||
msgid "HTTP hosts"
|
||||
msgstr "HTTP хосты"
|
||||
|
||||
msgid "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/"
|
||||
msgstr "HTTP REST API для внешних ИИ-агентов (Claude, GPT, Open-WebUI), доступен по адресу /cgi-bin/tachyon-agent/"
|
||||
|
||||
msgid "HWID"
|
||||
msgstr "HWID"
|
||||
|
||||
@@ -2564,9 +2489,6 @@ msgstr "Получение списка сервисов..."
|
||||
msgid "Loading..."
|
||||
msgstr "Загрузка..."
|
||||
|
||||
msgid "Loading…"
|
||||
msgstr "Загрузка…"
|
||||
|
||||
msgid "Local Address"
|
||||
msgstr "Локальный адрес"
|
||||
|
||||
@@ -2669,18 +2591,9 @@ msgstr "Отслеживаемые интерфейсы"
|
||||
msgid "Monitoring"
|
||||
msgstr "Мониторинг"
|
||||
|
||||
msgid "Monitoring & Analytics"
|
||||
msgstr "Мониторинг и аналитика"
|
||||
|
||||
msgid "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour."
|
||||
msgstr "Отслеживает частоту переподключений sing-box. Оповещает при слишком частых переподключениях."
|
||||
|
||||
msgid "Move down"
|
||||
msgstr "Вниз"
|
||||
|
||||
msgid "Move up"
|
||||
msgstr "Вверх"
|
||||
|
||||
msgid "MTU"
|
||||
msgstr "MTU"
|
||||
|
||||
@@ -2954,9 +2867,6 @@ msgstr "Откройте настройки приоритета и введит
|
||||
msgid "Open Project Page"
|
||||
msgstr "Открыть страницу проекта"
|
||||
|
||||
msgid "OpenWrt Network Interfaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Operation completed successfully!"
|
||||
msgstr "Операция успешно завершена!"
|
||||
|
||||
@@ -2978,9 +2888,6 @@ msgstr "Операция запущена. Ожидание вывода лог
|
||||
msgid "Operation timed out"
|
||||
msgstr "Время ожидания истекло"
|
||||
|
||||
msgid "Optimization"
|
||||
msgstr "Оптимизация"
|
||||
|
||||
msgid "Optimize AWG MTU"
|
||||
msgstr "Оптимизировать MTU AWG"
|
||||
|
||||
@@ -2996,9 +2903,6 @@ msgstr "Опционально — оставьте пустым для знач
|
||||
msgid "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")..."
|
||||
msgstr "Дополнительный контекст (напр. «Ростелеком, YouTube 4K долго буферизуется»)..."
|
||||
|
||||
msgid "Optional for local LLM"
|
||||
msgstr "Опционально для локальных LLM"
|
||||
|
||||
msgid "Optional tls-auth or tls-crypt key"
|
||||
msgstr "Опциональный ключ tls-auth или tls-crypt"
|
||||
|
||||
@@ -3110,9 +3014,6 @@ msgstr "Ожидает запуска"
|
||||
msgid "Pending..."
|
||||
msgstr "Ожидание..."
|
||||
|
||||
msgid "Per-Device Routing"
|
||||
msgstr "Маршрутизация по устройствам"
|
||||
|
||||
msgid "Periodically check the current level and switch to a faster server even when the current one works."
|
||||
msgstr "Периодически проверять текущий уровень и переключаться на более быстрый сервер, даже если текущий работает."
|
||||
|
||||
@@ -3596,18 +3497,9 @@ msgstr "Сохранить"
|
||||
msgid "Save a snapshot of the working config and restore it later if something breaks."
|
||||
msgstr "Сохранить снапшот рабочей конфигурации, чтобы восстановить её позже, если что-то сломается."
|
||||
|
||||
msgid "Save AI Watchdog Settings"
|
||||
msgstr "Сохранить настройки AI Watchdog"
|
||||
|
||||
msgid "Save Smart Detect Settings"
|
||||
msgstr "Сохранить настройки Smart Detect"
|
||||
|
||||
msgid "Save Snapshot"
|
||||
msgstr "Сохранить снапшот"
|
||||
|
||||
msgid "Saving…"
|
||||
msgstr "Сохранение…"
|
||||
|
||||
msgid "Schedule"
|
||||
msgstr "Расписание"
|
||||
|
||||
@@ -3635,9 +3527,6 @@ msgstr "Секретный ключ для аутентификации удал
|
||||
msgid "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required."
|
||||
msgstr "Секретный токен для авторизации операций записи (POST/PUT) на /cgi-bin/tachyon-agent/. Оставьте пустым, если аутентификация не требуется."
|
||||
|
||||
msgid "Secret token for WRITE requests"
|
||||
msgstr "Секретный токен для POST/PUT запросов"
|
||||
|
||||
msgid "Section"
|
||||
msgstr "Секция"
|
||||
|
||||
@@ -3647,15 +3536,9 @@ msgstr "Действие секции"
|
||||
msgid "Section name"
|
||||
msgstr "Имя секции"
|
||||
|
||||
msgid "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr ""
|
||||
|
||||
msgid "Section Rules Content"
|
||||
msgstr "Содержимое правил секции"
|
||||
|
||||
msgid "Section test order (checked = active, drag rows with △▽):"
|
||||
msgstr "Порядок проверки секций (галочка = активна, перетаскивайте △▽):"
|
||||
|
||||
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 "Секция для регистрации Cloudflare WARP API. Если провайдер блокирует API Cloudflare на WAN, выберите секцию с прокси (с включённым смешанным прокси) или туннельный интерфейс (WireGuard / AmneziaWG / VPN). Оставьте пустым для прямого WAN / стандартного смешанного прокси."
|
||||
|
||||
@@ -3962,12 +3845,6 @@ msgstr "Пропущены комментарии/невалидные:"
|
||||
msgid "Skipped loopback:"
|
||||
msgstr "Пропущены loopback:"
|
||||
|
||||
msgid "Smart Detect"
|
||||
msgstr "Smart Detect"
|
||||
|
||||
msgid "Smart Detect settings saved"
|
||||
msgstr "Настройки Smart Detect сохранены"
|
||||
|
||||
msgid "Snapshot name"
|
||||
msgstr "Имя снапшота"
|
||||
|
||||
@@ -4082,9 +3959,6 @@ msgstr "Время начала (ЧЧ:ММ)"
|
||||
msgid "Start watchdog"
|
||||
msgstr "Запустить watchdog"
|
||||
|
||||
msgid "Start Watchdog first"
|
||||
msgstr "Сначала запустите Watchdog"
|
||||
|
||||
msgid "Starting…"
|
||||
msgstr "Запуск…"
|
||||
|
||||
@@ -4211,9 +4085,6 @@ msgstr "Tachyon управляет жизненным циклом процес
|
||||
msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr "Tachyon управляет жизненным циклом процесса nfqws2 самостоятельно, поэтому режим daemon здесь не допускается."
|
||||
|
||||
msgid "Tachyon Sections"
|
||||
msgstr ""
|
||||
|
||||
msgid "Tachyon service is stopped. Start the service to display connections."
|
||||
msgstr "Служба Tachyon остановлена. Запустите сервис для отображения подключений."
|
||||
|
||||
@@ -4853,12 +4724,6 @@ msgstr "Секция прокси для генератора WARP"
|
||||
msgid "WARP Private Key"
|
||||
msgstr "Приватный ключ WARP"
|
||||
|
||||
msgid "WARP Proxy Section"
|
||||
msgstr "Секция прокси WARP"
|
||||
|
||||
msgid "Watchdog"
|
||||
msgstr "Сторожевой таймер"
|
||||
|
||||
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 "Watchdog проверяет каждую Connection-секцию; если активная падает несколько проверок подряд, трафик переключается на живую резервную, а Telegram получает уведомление. Нужен reload конфигурации."
|
||||
|
||||
@@ -4958,6 +4823,141 @@ msgstr "sing-box outbound для Zapret2 настроен"
|
||||
msgid "Zapret2 sing-box outbound is not configured"
|
||||
msgstr "sing-box outbound для Zapret2 не настроен"
|
||||
|
||||
msgid "⏹ Stop"
|
||||
msgstr "⏹ Стоп"
|
||||
|
||||
msgid "▶ Start"
|
||||
msgstr "▶ Старт"
|
||||
|
||||
msgid "⚙ Advanced Settings"
|
||||
msgstr "⚙ Настройки"
|
||||
|
||||
msgid "🔑 Generate"
|
||||
msgstr "🔑 Сгенерировать"
|
||||
|
||||
msgid "Advanced self-healing features. Requires Watchdog to be enabled."
|
||||
msgstr "Расширенные функции самовосстановления. Требуется включённый Watchdog."
|
||||
|
||||
msgid "AI Agent REST API (12 Endpoints)"
|
||||
msgstr "HTTP REST API ИИ-агента (12 эндпоинтов)"
|
||||
|
||||
msgid "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
msgstr "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
|
||||
msgid "AI Watchdog"
|
||||
msgstr "ИИ Watchdog"
|
||||
|
||||
msgid "AI Watchdog settings saved. Restart watchdog to apply."
|
||||
msgstr "Настройки AI Watchdog сохранены. Перезапустите watchdog для применения."
|
||||
|
||||
msgid "Bearer Auth Token"
|
||||
msgstr "Токен авторизации (Bearer)"
|
||||
|
||||
msgid "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis."
|
||||
msgstr "Подключите ChatGPT, DeepSeek или локальную модель LLM для получения автоматических диагностических отчётов и умного анализа сетевых проблем."
|
||||
|
||||
msgid "Custom interface/section"
|
||||
msgstr "Пользовательский интерфейс/секция"
|
||||
|
||||
msgid "Device IPs (one per line):"
|
||||
msgstr "IP устройств (по одному на строку):"
|
||||
|
||||
msgid "Device IPs saved"
|
||||
msgstr "IP устройств сохранены"
|
||||
|
||||
msgid "Devices listed here are always routed through the assigned section, regardless of global rules."
|
||||
msgstr "Устройства из этого списка всегда маршрутизируются через назначенную секцию, независимо от глобальных правил."
|
||||
|
||||
msgid "DNS Turbo Cache saved"
|
||||
msgstr "DNS Turbo Cache сохранён"
|
||||
|
||||
msgid "Enable AI Doctor (LLM Integration)"
|
||||
msgstr "Включить AI Doctor (интеграция с LLM)"
|
||||
|
||||
msgid "Enable DNS Turbo Cache"
|
||||
msgstr "Включить быстрый DNS-кэш"
|
||||
|
||||
msgid "Failed to save AI Watchdog settings"
|
||||
msgstr "Ошибка сохранения настроек AI Watchdog"
|
||||
|
||||
msgid "Failed to save device IPs"
|
||||
msgstr "Ошибка сохранения IP устройств"
|
||||
|
||||
msgid "Failed to save DNS Turbo Cache"
|
||||
msgstr "Не удалось сохранить DNS Turbo Cache"
|
||||
|
||||
msgid "Failed to save Smart Detect settings"
|
||||
msgstr "Ошибка сохранения настроек Smart Detect"
|
||||
|
||||
msgid "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>."
|
||||
msgstr "GET-эндпоинты открыты в локальной сети. POST-эндпоинты требуют Authorization: Bearer <token>."
|
||||
|
||||
msgid "Health Checks"
|
||||
msgstr "Проверки здоровья"
|
||||
|
||||
msgid "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/"
|
||||
msgstr "HTTP REST API для внешних ИИ-агентов (Claude, GPT, Open-WebUI), доступен по адресу /cgi-bin/tachyon-agent/"
|
||||
|
||||
msgid "Loading…"
|
||||
msgstr "Загрузка…"
|
||||
|
||||
msgid "Monitoring & Analytics"
|
||||
msgstr "Мониторинг и аналитика"
|
||||
|
||||
msgid "Move down"
|
||||
msgstr "Вниз"
|
||||
|
||||
msgid "Move up"
|
||||
msgstr "Вверх"
|
||||
|
||||
msgid "OpenWrt Network Interfaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Optimization"
|
||||
msgstr "Оптимизация"
|
||||
|
||||
msgid "Optional for local LLM"
|
||||
msgstr "Опционально для локальных LLM"
|
||||
|
||||
msgid "Per-Device Routing"
|
||||
msgstr "Маршрутизация по устройствам"
|
||||
|
||||
msgid "Save AI Watchdog Settings"
|
||||
msgstr "Сохранить настройки AI Watchdog"
|
||||
|
||||
msgid "Save Smart Detect Settings"
|
||||
msgstr "Сохранить настройки Smart Detect"
|
||||
|
||||
msgid "Saving…"
|
||||
msgstr "Сохранение…"
|
||||
|
||||
msgid "Secret token for WRITE requests"
|
||||
msgstr "Секретный токен для POST/PUT запросов"
|
||||
|
||||
msgid "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr ""
|
||||
|
||||
msgid "Section test order (checked = active, drag rows with △▽):"
|
||||
msgstr "Порядок проверки секций (галочка = активна, перетаскивайте △▽):"
|
||||
|
||||
msgid "Smart Detect"
|
||||
msgstr "Smart Detect"
|
||||
|
||||
msgid "Smart Detect settings saved"
|
||||
msgstr "Настройки Smart Detect сохранены"
|
||||
|
||||
msgid "Start Watchdog first"
|
||||
msgstr "Сначала запустите Watchdog"
|
||||
|
||||
msgid "Tachyon Sections"
|
||||
msgstr ""
|
||||
|
||||
msgid "WARP Proxy Section"
|
||||
msgstr "Секция прокси WARP"
|
||||
|
||||
msgid "Watchdog"
|
||||
msgstr "Сторожевой таймер"
|
||||
|
||||
msgid "Section or tunnel interface used for Cloudflare WARP API registration. Supports Connection, WireGuard, AmneziaWG, and Interface sections. Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr "Секция или туннельный интерфейс для регистрации Cloudflare WARP API. Поддерживает секции Connection, WireGuard, AmneziaWG и Interface. Оставьте пустым для прямого WAN / стандартного mixed proxy."
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "fe-app-tachyon",
|
||||
"version": "1.3.8",
|
||||
"version": "1.3.9",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "fe-app-tachyon",
|
||||
"version": "1.3.8",
|
||||
"version": "1.3.9",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@babel/parser": "7.28.4",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fe-app-tachyon",
|
||||
"version": "1.3.8",
|
||||
"version": "1.3.9",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -8,17 +8,13 @@ type SingBoxVariantFields = {
|
||||
sing_box_repo_url?: string;
|
||||
};
|
||||
|
||||
export function isExtendedSingBoxVersion(version?: string) {
|
||||
function isExtendedSingBoxVersion(version?: string) {
|
||||
return (
|
||||
String(version || '').includes('extended') ||
|
||||
String(version || '').includes('-lx')
|
||||
);
|
||||
}
|
||||
|
||||
export function isLxSingBoxVersion(version?: string) {
|
||||
return String(version || '').includes('-lx');
|
||||
}
|
||||
|
||||
function isVersionPlaceholder(version?: string) {
|
||||
const normalized = String(version || '')
|
||||
.trim()
|
||||
|
||||
@@ -13,7 +13,7 @@ const RESERVED_RUNTIME_TAGS = new Set([
|
||||
'bypass-out',
|
||||
]);
|
||||
|
||||
export function allocateRuntimeTag(base: string, postfix: string): string {
|
||||
function allocateRuntimeTag(base: string, postfix: string): string {
|
||||
let suffix = 1;
|
||||
let candidate = `${base}-${postfix}`;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+137
-137
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TACHYON\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-30 19:56+0300\n"
|
||||
"PO-Revision-Date: 2026-08-30 19:56+0300\n"
|
||||
"POT-Creation-Date: 2026-09-01 08:41+0300\n"
|
||||
"PO-Revision-Date: 2026-09-01 08:41+0300\n"
|
||||
"Last-Translator: Dushnilin\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
@@ -41,15 +41,6 @@ msgstr "+ Добавить стратегию"
|
||||
msgid "+ Add URLTest"
|
||||
msgstr "+ Добавить URLTest"
|
||||
|
||||
msgid "⏹ Stop"
|
||||
msgstr "⏹ Стоп"
|
||||
|
||||
msgid "▶ Start"
|
||||
msgstr "▶ Старт"
|
||||
|
||||
msgid "⚙ Advanced Settings"
|
||||
msgstr "⚙ Настройки"
|
||||
|
||||
msgid "⚠️ Benchmark completed. No working bypass found for this target."
|
||||
msgstr "⚠️ Бенчмарк завершен. Не найдено рабочих стратегий для данной цели."
|
||||
|
||||
@@ -128,9 +119,6 @@ msgstr "🔄 Сбросить к заводским настройкам"
|
||||
msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)"
|
||||
msgstr "🔍 Комбинаторный глубокий фаззинг (~40-80+)"
|
||||
|
||||
msgid "🔑 Generate"
|
||||
msgstr "🔑 Сгенерировать"
|
||||
|
||||
msgid "🗑️ Clear History"
|
||||
msgstr "🗑️ Очистить историю"
|
||||
|
||||
@@ -257,9 +245,6 @@ msgstr "Chat ID администраторов"
|
||||
msgid "Adult content"
|
||||
msgstr "Взрослый контент"
|
||||
|
||||
msgid "Advanced self-healing features. Requires Watchdog to be enabled."
|
||||
msgstr "Расширенные функции самовосстановления. Требуется включённый Watchdog."
|
||||
|
||||
msgid "Advanced System"
|
||||
msgstr "Расширенные настройки"
|
||||
|
||||
@@ -275,9 +260,6 @@ msgstr "Метод AEAD"
|
||||
msgid "AI & Watchdog"
|
||||
msgstr "ИИ и Watchdog"
|
||||
|
||||
msgid "AI Agent REST API (12 Endpoints)"
|
||||
msgstr "HTTP REST API ИИ-агента (12 эндпоинтов)"
|
||||
|
||||
msgid "AI Agent REST API Bearer Token"
|
||||
msgstr "Токен Bearer для REST API ИИ-агента"
|
||||
|
||||
@@ -293,9 +275,6 @@ msgstr "ИИ Чат-ассистент"
|
||||
msgid "AI Diagnostics & Strategy Rationale"
|
||||
msgstr "Диагностика ИИ и обоснование стратегий"
|
||||
|
||||
msgid "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
msgstr "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
|
||||
msgid "AI Doctor Diagnosis"
|
||||
msgstr "Диагностика ИИ-доктора"
|
||||
|
||||
@@ -329,12 +308,6 @@ msgstr "Ошибка генерации ИИ"
|
||||
msgid "AI synthesis failed"
|
||||
msgstr "Не удалось сгенерировать стратегии через ИИ"
|
||||
|
||||
msgid "AI Watchdog"
|
||||
msgstr "ИИ Watchdog"
|
||||
|
||||
msgid "AI Watchdog settings saved. Restart watchdog to apply."
|
||||
msgstr "Настройки AI Watchdog сохранены. Перезапустите watchdog для применения."
|
||||
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
@@ -563,9 +536,6 @@ msgstr "Ошибка проверки бэкенда: %s"
|
||||
msgid "Basic connectivity"
|
||||
msgstr "Базовая связность"
|
||||
|
||||
msgid "Bearer Auth Token"
|
||||
msgstr "Токен авторизации (Bearer)"
|
||||
|
||||
msgid "Beginning of the schedule interval (e.g. 22:00)"
|
||||
msgstr "Начало интервала расписания (например, 22:00)"
|
||||
|
||||
@@ -932,9 +902,6 @@ msgstr "Настройте User-Agent в параметрах элемента"
|
||||
msgid "Conflict"
|
||||
msgstr "Конфликт"
|
||||
|
||||
msgid "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis."
|
||||
msgstr "Подключите ChatGPT, DeepSeek или локальную модель LLM для получения автоматических диагностических отчётов и умного анализа сетевых проблем."
|
||||
|
||||
msgid "Connect through"
|
||||
msgstr "Подключаться через"
|
||||
|
||||
@@ -1022,9 +989,6 @@ msgstr "Пользовательский заголовок для инициа
|
||||
msgid "Custom header for handshake response"
|
||||
msgstr "Пользовательский заголовок для ответа рукопожатия"
|
||||
|
||||
msgid "Custom interface/section"
|
||||
msgstr "Пользовательский интерфейс/секция"
|
||||
|
||||
msgid "Custom OpenAI-Compatible API"
|
||||
msgstr "Пользовательский OpenAI-совместимый API"
|
||||
|
||||
@@ -1097,12 +1061,6 @@ msgstr "устр."
|
||||
msgid "Device filter"
|
||||
msgstr "Фильтр устройств"
|
||||
|
||||
msgid "Device IPs (one per line):"
|
||||
msgstr "IP устройств (по одному на строку):"
|
||||
|
||||
msgid "Device IPs saved"
|
||||
msgstr "IP устройств сохранены"
|
||||
|
||||
msgid "Device or IP"
|
||||
msgstr "Устройство или IP"
|
||||
|
||||
@@ -1112,9 +1070,6 @@ msgstr "Режим устройства обновлен"
|
||||
msgid "Devices (MAC / IP)"
|
||||
msgstr "Устройства (MAC / IP)"
|
||||
|
||||
msgid "Devices listed here are always routed through the assigned section, regardless of global rules."
|
||||
msgstr "Устройства из этого списка всегда маршрутизируются через назначенную секцию, независимо от глобальных правил."
|
||||
|
||||
msgid "DHCP has DNS server"
|
||||
msgstr "DHCP содержит DNS сервер"
|
||||
|
||||
@@ -1235,9 +1190,6 @@ msgstr "DNS через секцию"
|
||||
msgid "DNS Turbo Cache"
|
||||
msgstr "Быстрый DNS-кэш"
|
||||
|
||||
msgid "DNS Turbo Cache saved"
|
||||
msgstr "DNS Turbo Cache сохранён"
|
||||
|
||||
msgid "DNS Unavailability Timeout"
|
||||
msgstr "Таймаут недоступности DNS"
|
||||
|
||||
@@ -1394,9 +1346,6 @@ msgstr "Включить адаптивные интервалы"
|
||||
msgid "Enable AI Doctor (ChatGPT / LLM Analysis)"
|
||||
msgstr "Включить ИИ-доктора (анализ ChatGPT / LLM)"
|
||||
|
||||
msgid "Enable AI Doctor (LLM Integration)"
|
||||
msgstr "Включить AI Doctor (интеграция с LLM)"
|
||||
|
||||
msgid "Enable Anomaly Detection"
|
||||
msgstr "Включить обнаружение аномалий"
|
||||
|
||||
@@ -1421,9 +1370,6 @@ msgstr "Включить прямой обход WAN"
|
||||
msgid "Enable DNS Continuous Check"
|
||||
msgstr "Непрерывная проверка DNS"
|
||||
|
||||
msgid "Enable DNS Turbo Cache"
|
||||
msgstr "Включить быстрый DNS-кэш"
|
||||
|
||||
msgid "Enable Firewall Reload Dedup"
|
||||
msgstr "Включить дедупликацию перезагрузки файрвола"
|
||||
|
||||
@@ -1676,24 +1622,12 @@ msgstr "Не удалось восстановить снапшот"
|
||||
msgid "Failed to run diagnostics — is the tachyon binary installed?"
|
||||
msgstr "Не удалось запустить диагностику — установлен ли бинарник tachyon?"
|
||||
|
||||
msgid "Failed to save AI Watchdog settings"
|
||||
msgstr "Ошибка сохранения настроек AI Watchdog"
|
||||
|
||||
msgid "Failed to save device IPs"
|
||||
msgstr "Ошибка сохранения IP устройств"
|
||||
|
||||
msgid "Failed to save DNS Turbo Cache"
|
||||
msgstr "Не удалось сохранить DNS Turbo Cache"
|
||||
|
||||
msgid "Failed to save fuzzer patterns"
|
||||
msgstr "Не удалось сохранить паттерны фаззера"
|
||||
|
||||
msgid "Failed to save patterns"
|
||||
msgstr "Не удалось сохранить паттерны"
|
||||
|
||||
msgid "Failed to save Smart Detect settings"
|
||||
msgstr "Ошибка сохранения настроек Smart Detect"
|
||||
|
||||
msgid "Failed to save snapshot"
|
||||
msgstr "Не удалось сохранить снапшот"
|
||||
|
||||
@@ -1889,9 +1823,6 @@ msgstr "GeoSite / GeoIP"
|
||||
msgid "Germany (de)"
|
||||
msgstr "Германия (de)"
|
||||
|
||||
msgid "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>."
|
||||
msgstr "GET-эндпоинты открыты в локальной сети. POST-эндпоинты требуют Authorization: Bearer <token>."
|
||||
|
||||
msgid "Get global check"
|
||||
msgstr "Получить глобальную проверку"
|
||||
|
||||
@@ -1916,9 +1847,6 @@ msgstr "Сервис gRPC"
|
||||
msgid "Handshake timeout"
|
||||
msgstr "Таймаут рукопожатия"
|
||||
|
||||
msgid "Health Checks"
|
||||
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. Чем могу помочь? Задайте вопрос о блокировках, диагностике или настройках роутера."
|
||||
|
||||
@@ -2024,9 +1952,6 @@ msgstr "Ошибка HTTP"
|
||||
msgid "HTTP hosts"
|
||||
msgstr "HTTP хосты"
|
||||
|
||||
msgid "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/"
|
||||
msgstr "HTTP REST API для внешних ИИ-агентов (Claude, GPT, Open-WebUI), доступен по адресу /cgi-bin/tachyon-agent/"
|
||||
|
||||
msgid "HWID"
|
||||
msgstr "HWID"
|
||||
|
||||
@@ -2564,9 +2489,6 @@ msgstr "Получение списка сервисов..."
|
||||
msgid "Loading..."
|
||||
msgstr "Загрузка..."
|
||||
|
||||
msgid "Loading…"
|
||||
msgstr "Загрузка…"
|
||||
|
||||
msgid "Local Address"
|
||||
msgstr "Локальный адрес"
|
||||
|
||||
@@ -2669,18 +2591,9 @@ msgstr "Отслеживаемые интерфейсы"
|
||||
msgid "Monitoring"
|
||||
msgstr "Мониторинг"
|
||||
|
||||
msgid "Monitoring & Analytics"
|
||||
msgstr "Мониторинг и аналитика"
|
||||
|
||||
msgid "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour."
|
||||
msgstr "Отслеживает частоту переподключений sing-box. Оповещает при слишком частых переподключениях."
|
||||
|
||||
msgid "Move down"
|
||||
msgstr "Вниз"
|
||||
|
||||
msgid "Move up"
|
||||
msgstr "Вверх"
|
||||
|
||||
msgid "MTU"
|
||||
msgstr "MTU"
|
||||
|
||||
@@ -2954,9 +2867,6 @@ msgstr "Откройте настройки приоритета и введит
|
||||
msgid "Open Project Page"
|
||||
msgstr "Открыть страницу проекта"
|
||||
|
||||
msgid "OpenWrt Network Interfaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Operation completed successfully!"
|
||||
msgstr "Операция успешно завершена!"
|
||||
|
||||
@@ -2978,9 +2888,6 @@ msgstr "Операция запущена. Ожидание вывода лог
|
||||
msgid "Operation timed out"
|
||||
msgstr "Время ожидания истекло"
|
||||
|
||||
msgid "Optimization"
|
||||
msgstr "Оптимизация"
|
||||
|
||||
msgid "Optimize AWG MTU"
|
||||
msgstr "Оптимизировать MTU AWG"
|
||||
|
||||
@@ -2996,9 +2903,6 @@ msgstr "Опционально — оставьте пустым для знач
|
||||
msgid "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")..."
|
||||
msgstr "Дополнительный контекст (напр. «Ростелеком, YouTube 4K долго буферизуется»)..."
|
||||
|
||||
msgid "Optional for local LLM"
|
||||
msgstr "Опционально для локальных LLM"
|
||||
|
||||
msgid "Optional tls-auth or tls-crypt key"
|
||||
msgstr "Опциональный ключ tls-auth или tls-crypt"
|
||||
|
||||
@@ -3110,9 +3014,6 @@ msgstr "Ожидает запуска"
|
||||
msgid "Pending..."
|
||||
msgstr "Ожидание..."
|
||||
|
||||
msgid "Per-Device Routing"
|
||||
msgstr "Маршрутизация по устройствам"
|
||||
|
||||
msgid "Periodically check the current level and switch to a faster server even when the current one works."
|
||||
msgstr "Периодически проверять текущий уровень и переключаться на более быстрый сервер, даже если текущий работает."
|
||||
|
||||
@@ -3596,18 +3497,9 @@ msgstr "Сохранить"
|
||||
msgid "Save a snapshot of the working config and restore it later if something breaks."
|
||||
msgstr "Сохранить снапшот рабочей конфигурации, чтобы восстановить её позже, если что-то сломается."
|
||||
|
||||
msgid "Save AI Watchdog Settings"
|
||||
msgstr "Сохранить настройки AI Watchdog"
|
||||
|
||||
msgid "Save Smart Detect Settings"
|
||||
msgstr "Сохранить настройки Smart Detect"
|
||||
|
||||
msgid "Save Snapshot"
|
||||
msgstr "Сохранить снапшот"
|
||||
|
||||
msgid "Saving…"
|
||||
msgstr "Сохранение…"
|
||||
|
||||
msgid "Schedule"
|
||||
msgstr "Расписание"
|
||||
|
||||
@@ -3635,9 +3527,6 @@ msgstr "Секретный ключ для аутентификации удал
|
||||
msgid "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required."
|
||||
msgstr "Секретный токен для авторизации операций записи (POST/PUT) на /cgi-bin/tachyon-agent/. Оставьте пустым, если аутентификация не требуется."
|
||||
|
||||
msgid "Secret token for WRITE requests"
|
||||
msgstr "Секретный токен для POST/PUT запросов"
|
||||
|
||||
msgid "Section"
|
||||
msgstr "Секция"
|
||||
|
||||
@@ -3647,15 +3536,9 @@ msgstr "Действие секции"
|
||||
msgid "Section name"
|
||||
msgstr "Имя секции"
|
||||
|
||||
msgid "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr ""
|
||||
|
||||
msgid "Section Rules Content"
|
||||
msgstr "Содержимое правил секции"
|
||||
|
||||
msgid "Section test order (checked = active, drag rows with △▽):"
|
||||
msgstr "Порядок проверки секций (галочка = активна, перетаскивайте △▽):"
|
||||
|
||||
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 "Секция для регистрации Cloudflare WARP API. Если провайдер блокирует API Cloudflare на WAN, выберите секцию с прокси (с включённым смешанным прокси) или туннельный интерфейс (WireGuard / AmneziaWG / VPN). Оставьте пустым для прямого WAN / стандартного смешанного прокси."
|
||||
|
||||
@@ -3962,12 +3845,6 @@ msgstr "Пропущены комментарии/невалидные:"
|
||||
msgid "Skipped loopback:"
|
||||
msgstr "Пропущены loopback:"
|
||||
|
||||
msgid "Smart Detect"
|
||||
msgstr "Smart Detect"
|
||||
|
||||
msgid "Smart Detect settings saved"
|
||||
msgstr "Настройки Smart Detect сохранены"
|
||||
|
||||
msgid "Snapshot name"
|
||||
msgstr "Имя снапшота"
|
||||
|
||||
@@ -4082,9 +3959,6 @@ msgstr "Время начала (ЧЧ:ММ)"
|
||||
msgid "Start watchdog"
|
||||
msgstr "Запустить watchdog"
|
||||
|
||||
msgid "Start Watchdog first"
|
||||
msgstr "Сначала запустите Watchdog"
|
||||
|
||||
msgid "Starting…"
|
||||
msgstr "Запуск…"
|
||||
|
||||
@@ -4211,9 +4085,6 @@ msgstr "Tachyon управляет жизненным циклом процес
|
||||
msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr "Tachyon управляет жизненным циклом процесса nfqws2 самостоятельно, поэтому режим daemon здесь не допускается."
|
||||
|
||||
msgid "Tachyon Sections"
|
||||
msgstr ""
|
||||
|
||||
msgid "Tachyon service is stopped. Start the service to display connections."
|
||||
msgstr "Служба Tachyon остановлена. Запустите сервис для отображения подключений."
|
||||
|
||||
@@ -4853,12 +4724,6 @@ msgstr "Секция прокси для генератора WARP"
|
||||
msgid "WARP Private Key"
|
||||
msgstr "Приватный ключ WARP"
|
||||
|
||||
msgid "WARP Proxy Section"
|
||||
msgstr "Секция прокси WARP"
|
||||
|
||||
msgid "Watchdog"
|
||||
msgstr "Сторожевой таймер"
|
||||
|
||||
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 "Watchdog проверяет каждую Connection-секцию; если активная падает несколько проверок подряд, трафик переключается на живую резервную, а Telegram получает уведомление. Нужен reload конфигурации."
|
||||
|
||||
@@ -4958,6 +4823,141 @@ msgstr "sing-box outbound для Zapret2 настроен"
|
||||
msgid "Zapret2 sing-box outbound is not configured"
|
||||
msgstr "sing-box outbound для Zapret2 не настроен"
|
||||
|
||||
msgid "⏹ Stop"
|
||||
msgstr "⏹ Стоп"
|
||||
|
||||
msgid "▶ Start"
|
||||
msgstr "▶ Старт"
|
||||
|
||||
msgid "⚙ Advanced Settings"
|
||||
msgstr "⚙ Настройки"
|
||||
|
||||
msgid "🔑 Generate"
|
||||
msgstr "🔑 Сгенерировать"
|
||||
|
||||
msgid "Advanced self-healing features. Requires Watchdog to be enabled."
|
||||
msgstr "Расширенные функции самовосстановления. Требуется включённый Watchdog."
|
||||
|
||||
msgid "AI Agent REST API (12 Endpoints)"
|
||||
msgstr "HTTP REST API ИИ-агента (12 эндпоинтов)"
|
||||
|
||||
msgid "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
msgstr "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
|
||||
msgid "AI Watchdog"
|
||||
msgstr "ИИ Watchdog"
|
||||
|
||||
msgid "AI Watchdog settings saved. Restart watchdog to apply."
|
||||
msgstr "Настройки AI Watchdog сохранены. Перезапустите watchdog для применения."
|
||||
|
||||
msgid "Bearer Auth Token"
|
||||
msgstr "Токен авторизации (Bearer)"
|
||||
|
||||
msgid "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis."
|
||||
msgstr "Подключите ChatGPT, DeepSeek или локальную модель LLM для получения автоматических диагностических отчётов и умного анализа сетевых проблем."
|
||||
|
||||
msgid "Custom interface/section"
|
||||
msgstr "Пользовательский интерфейс/секция"
|
||||
|
||||
msgid "Device IPs (one per line):"
|
||||
msgstr "IP устройств (по одному на строку):"
|
||||
|
||||
msgid "Device IPs saved"
|
||||
msgstr "IP устройств сохранены"
|
||||
|
||||
msgid "Devices listed here are always routed through the assigned section, regardless of global rules."
|
||||
msgstr "Устройства из этого списка всегда маршрутизируются через назначенную секцию, независимо от глобальных правил."
|
||||
|
||||
msgid "DNS Turbo Cache saved"
|
||||
msgstr "DNS Turbo Cache сохранён"
|
||||
|
||||
msgid "Enable AI Doctor (LLM Integration)"
|
||||
msgstr "Включить AI Doctor (интеграция с LLM)"
|
||||
|
||||
msgid "Enable DNS Turbo Cache"
|
||||
msgstr "Включить быстрый DNS-кэш"
|
||||
|
||||
msgid "Failed to save AI Watchdog settings"
|
||||
msgstr "Ошибка сохранения настроек AI Watchdog"
|
||||
|
||||
msgid "Failed to save device IPs"
|
||||
msgstr "Ошибка сохранения IP устройств"
|
||||
|
||||
msgid "Failed to save DNS Turbo Cache"
|
||||
msgstr "Не удалось сохранить DNS Turbo Cache"
|
||||
|
||||
msgid "Failed to save Smart Detect settings"
|
||||
msgstr "Ошибка сохранения настроек Smart Detect"
|
||||
|
||||
msgid "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>."
|
||||
msgstr "GET-эндпоинты открыты в локальной сети. POST-эндпоинты требуют Authorization: Bearer <token>."
|
||||
|
||||
msgid "Health Checks"
|
||||
msgstr "Проверки здоровья"
|
||||
|
||||
msgid "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/"
|
||||
msgstr "HTTP REST API для внешних ИИ-агентов (Claude, GPT, Open-WebUI), доступен по адресу /cgi-bin/tachyon-agent/"
|
||||
|
||||
msgid "Loading…"
|
||||
msgstr "Загрузка…"
|
||||
|
||||
msgid "Monitoring & Analytics"
|
||||
msgstr "Мониторинг и аналитика"
|
||||
|
||||
msgid "Move down"
|
||||
msgstr "Вниз"
|
||||
|
||||
msgid "Move up"
|
||||
msgstr "Вверх"
|
||||
|
||||
msgid "OpenWrt Network Interfaces"
|
||||
msgstr ""
|
||||
|
||||
msgid "Optimization"
|
||||
msgstr "Оптимизация"
|
||||
|
||||
msgid "Optional for local LLM"
|
||||
msgstr "Опционально для локальных LLM"
|
||||
|
||||
msgid "Per-Device Routing"
|
||||
msgstr "Маршрутизация по устройствам"
|
||||
|
||||
msgid "Save AI Watchdog Settings"
|
||||
msgstr "Сохранить настройки AI Watchdog"
|
||||
|
||||
msgid "Save Smart Detect Settings"
|
||||
msgstr "Сохранить настройки Smart Detect"
|
||||
|
||||
msgid "Saving…"
|
||||
msgstr "Сохранение…"
|
||||
|
||||
msgid "Secret token for WRITE requests"
|
||||
msgstr "Секретный токен для POST/PUT запросов"
|
||||
|
||||
msgid "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr ""
|
||||
|
||||
msgid "Section test order (checked = active, drag rows with △▽):"
|
||||
msgstr "Порядок проверки секций (галочка = активна, перетаскивайте △▽):"
|
||||
|
||||
msgid "Smart Detect"
|
||||
msgstr "Smart Detect"
|
||||
|
||||
msgid "Smart Detect settings saved"
|
||||
msgstr "Настройки Smart Detect сохранены"
|
||||
|
||||
msgid "Start Watchdog first"
|
||||
msgstr "Сначала запустите Watchdog"
|
||||
|
||||
msgid "Tachyon Sections"
|
||||
msgstr ""
|
||||
|
||||
msgid "WARP Proxy Section"
|
||||
msgstr "Секция прокси WARP"
|
||||
|
||||
msgid "Watchdog"
|
||||
msgstr "Сторожевой таймер"
|
||||
|
||||
msgid "Section or tunnel interface used for Cloudflare WARP API registration. Supports Connection, WireGuard, AmneziaWG, and Interface sections. Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr "Секция или туннельный интерфейс для регистрации Cloudflare WARP API. Поддерживает секции Connection, WireGuard, AmneziaWG и Interface. Оставьте пустым для прямого WAN / стандартного mixed proxy."
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TACHYON\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-08-30 16:56+0300\n"
|
||||
"PO-Revision-Date: 2026-08-30 16:56+0300\n"
|
||||
"POT-Creation-Date: 2026-09-01 05:41+0300\n"
|
||||
"PO-Revision-Date: 2026-09-01 05:41+0300\n"
|
||||
"Last-Translator: Dushnilin <dushnilin@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
@@ -57,18 +57,6 @@ msgstr ""
|
||||
msgid "+ Add URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:515
|
||||
msgid "⏹ Stop"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:515
|
||||
msgid "▶ Start"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1340
|
||||
msgid "⚙ Advanced Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:13135
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1393
|
||||
msgid "⚠️ Benchmark completed. No working bypass found for this target."
|
||||
@@ -136,7 +124,6 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1891
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1900
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:505
|
||||
msgid "✔ Running"
|
||||
msgstr ""
|
||||
|
||||
@@ -149,7 +136,6 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:8364
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1891
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1900
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:505
|
||||
msgid "✘ Stopped"
|
||||
msgstr ""
|
||||
|
||||
@@ -203,10 +189,6 @@ msgstr ""
|
||||
msgid "🔍 Combinatorial Deep Fuzzing (~40-80+)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:760
|
||||
msgid "🔑 Generate"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12904
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderStrategyFuzzerModal.ts:1122
|
||||
msgid "🗑️ Clear History"
|
||||
@@ -284,9 +266,9 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16607
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:349
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:355
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1127
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:722
|
||||
#: src/tachyon/tabs/monitoring/render.ts:20
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1127
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
@@ -417,10 +399,6 @@ msgstr ""
|
||||
msgid "Adult content"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:627
|
||||
msgid "Advanced self-healing features. Requires Watchdog to be enabled."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:823
|
||||
msgid "Advanced System"
|
||||
msgstr ""
|
||||
@@ -441,16 +419,11 @@ msgstr ""
|
||||
msgid "AI & Watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:722
|
||||
msgid "AI Agent REST API (12 Endpoints)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1745
|
||||
msgid "AI Agent REST API Bearer Token"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1813
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1037
|
||||
msgid "AI API Key"
|
||||
msgstr ""
|
||||
|
||||
@@ -469,10 +442,6 @@ msgstr ""
|
||||
msgid "AI Diagnostics & Strategy Rationale"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:776
|
||||
msgid "AI Doctor (ChatGPT / DeepSeek API)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:15182
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1563
|
||||
msgid "AI Doctor Diagnosis"
|
||||
@@ -488,7 +457,6 @@ msgid "AI Doctor failed"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1800
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1004
|
||||
msgid "AI Doctor Language"
|
||||
msgstr ""
|
||||
|
||||
@@ -503,12 +471,10 @@ msgid "AI DPI Engineer & Strategy Synthesizer"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1787
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:979
|
||||
msgid "AI Model"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1770
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:901
|
||||
msgid "AI Provider"
|
||||
msgstr ""
|
||||
|
||||
@@ -532,14 +498,6 @@ msgstr ""
|
||||
msgid "AI synthesis failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:622
|
||||
msgid "AI Watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:449
|
||||
msgid "AI Watchdog settings saved. Restart watchdog to apply."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:12281
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16041
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16572
|
||||
@@ -806,7 +764,6 @@ msgid "Auto-detected Domains"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1976
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1197
|
||||
msgid "Auto-detects blocked domains from logs and adds them to the first section where they work via proxy."
|
||||
msgstr ""
|
||||
|
||||
@@ -894,10 +851,6 @@ msgstr ""
|
||||
msgid "Basic connectivity"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:732
|
||||
msgid "Bearer Auth Token"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:875
|
||||
msgid "Beginning of the schedule interval (e.g. 22:00)"
|
||||
msgstr ""
|
||||
@@ -1421,10 +1374,10 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10239
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1803
|
||||
#: src/partials/modal/renderModal.ts:263
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1267
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1553
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:893
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:948
|
||||
#: src/tachyon/tabs/dashboard/initController.ts:1267
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1553
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderAiChatModal.ts:227
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:178
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:871
|
||||
@@ -1498,7 +1451,7 @@ msgid "Components"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6081
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:60
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:57
|
||||
msgid "compressed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1540,10 +1493,6 @@ msgstr ""
|
||||
msgid "Conflict"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:781
|
||||
msgid "Connect ChatGPT, DeepSeek or local LLM to get automated diagnostic reports and intelligent root-cause analysis."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:9031
|
||||
msgid "Connect through"
|
||||
msgstr ""
|
||||
@@ -1651,7 +1600,6 @@ msgid "Custom"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1824
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1059
|
||||
msgid "Custom API Endpoint URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -1684,10 +1632,6 @@ msgstr ""
|
||||
msgid "Custom header for handshake response"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:884
|
||||
msgid "Custom interface/section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1780
|
||||
msgid "Custom OpenAI-Compatible API"
|
||||
msgstr ""
|
||||
@@ -1742,7 +1686,6 @@ msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1635
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1647
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:833
|
||||
msgid "Default (Direct WAN / Default mixed proxy)"
|
||||
msgstr ""
|
||||
|
||||
@@ -1798,14 +1741,6 @@ msgstr ""
|
||||
msgid "Device filter"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1270
|
||||
msgid "Device IPs (one per line):"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:305
|
||||
msgid "Device IPs saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:6970
|
||||
msgid "Device or IP"
|
||||
msgstr ""
|
||||
@@ -1819,10 +1754,6 @@ msgstr ""
|
||||
msgid "Devices (MAC / IP)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1308
|
||||
msgid "Devices listed here are always routed through the assigned section, regardless of global rules."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:9412
|
||||
#: src/tachyon/tabs/diagnostic/checks/getDnsCheckPresentation.ts:37
|
||||
msgid "DHCP has DNS server"
|
||||
@@ -2005,14 +1936,9 @@ msgid "DNS through section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:995
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:527
|
||||
msgid "DNS Turbo Cache"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:329
|
||||
msgid "DNS Turbo Cache saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:934
|
||||
msgid "DNS Unavailability Timeout"
|
||||
msgstr ""
|
||||
@@ -2252,10 +2178,6 @@ msgstr ""
|
||||
msgid "Enable AI Doctor (ChatGPT / LLM Analysis)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:796
|
||||
msgid "Enable AI Doctor (LLM Integration)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1956
|
||||
msgid "Enable Anomaly Detection"
|
||||
msgstr ""
|
||||
@@ -2290,10 +2212,6 @@ msgstr ""
|
||||
msgid "Enable DNS Continuous Check"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:546
|
||||
msgid "Enable DNS Turbo Cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1901
|
||||
msgid "Enable Firewall Reload Dedup"
|
||||
msgstr ""
|
||||
@@ -2327,7 +2245,6 @@ msgid "Enable Proxy Health Monitor"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1840
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:810
|
||||
msgid "Enable RAG (Knowledge Base Retrieval)"
|
||||
msgstr ""
|
||||
|
||||
@@ -2336,7 +2253,6 @@ msgid "Enable Smart Cooldowns"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1975
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1214
|
||||
msgid "Enable Smart Detect"
|
||||
msgstr ""
|
||||
|
||||
@@ -2609,12 +2525,12 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19001
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19061
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19233
|
||||
#: src/tachyon/methods/shell/index.ts:171
|
||||
#: src/tachyon/methods/shell/index.ts:178
|
||||
#: 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
|
||||
msgid "Failed to execute"
|
||||
msgstr ""
|
||||
|
||||
@@ -2705,18 +2621,6 @@ msgstr ""
|
||||
msgid "Failed to run diagnostics — is the tachyon binary installed?"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:453
|
||||
msgid "Failed to save AI Watchdog settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:313
|
||||
msgid "Failed to save device IPs"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:331
|
||||
msgid "Failed to save DNS Turbo Cache"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:4145
|
||||
#: src/tachyon/methods/shell/index.ts:1320
|
||||
msgid "Failed to save fuzzer patterns"
|
||||
@@ -2727,10 +2631,6 @@ msgstr ""
|
||||
msgid "Failed to save patterns"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:279
|
||||
msgid "Failed to save Smart Detect settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:670
|
||||
msgid "Failed to save snapshot"
|
||||
msgstr ""
|
||||
@@ -3039,10 +2939,6 @@ msgstr ""
|
||||
msgid "Germany (de)"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:767
|
||||
msgid "GET endpoints are open on LAN. POST endpoints require Authorization: Bearer <token>."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10740
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:113
|
||||
msgid "Get global check"
|
||||
@@ -3081,10 +2977,6 @@ msgstr ""
|
||||
msgid "Handshake timeout"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:630
|
||||
msgid "Health Checks"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11750
|
||||
#: 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."
|
||||
@@ -3244,10 +3136,6 @@ msgstr ""
|
||||
msgid "HTTP hosts"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:727
|
||||
msgid "HTTP REST API for external AI agents (Claude, GPT, Open-WebUI) served at /cgi-bin/tachyon-agent/"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2473
|
||||
msgid "HWID"
|
||||
msgstr ""
|
||||
@@ -3961,7 +3849,6 @@ msgid "Keep URLTest before latency-sorted servers"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:996
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:532
|
||||
msgid "Keeps FakeIP cache persistent across reboots and pre-resolves popular blocked domains on startup so first-visit latency is 0 ms."
|
||||
msgstr ""
|
||||
|
||||
@@ -4055,7 +3942,6 @@ msgid "Lists and rule sets successfully updated!"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1779
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:964
|
||||
msgid "LM Studio (Local PC / Server)"
|
||||
msgstr ""
|
||||
|
||||
@@ -4118,10 +4004,6 @@ msgstr ""
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1318
|
||||
msgid "Loading…"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8321
|
||||
msgid "Local Address"
|
||||
msgstr ""
|
||||
@@ -4131,7 +4013,7 @@ msgid "Log Level"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6083
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:62
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:59
|
||||
msgid "lx"
|
||||
msgstr ""
|
||||
|
||||
@@ -4269,22 +4151,10 @@ msgstr ""
|
||||
msgid "Monitoring"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:675
|
||||
msgid "Monitoring & Analytics"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1957
|
||||
msgid "Monitors sing-box reconnect frequency. Alerts if too many reconnects per hour."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1148
|
||||
msgid "Move down"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1137
|
||||
msgid "Move up"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8384
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3379
|
||||
msgid "MTU"
|
||||
@@ -4412,7 +4282,6 @@ msgid "No active DHCP clients found on local network."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:704
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1256
|
||||
msgid "No active routing sections found."
|
||||
msgstr ""
|
||||
|
||||
@@ -4593,8 +4462,8 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19467
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19477
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:19487
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:38
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:46
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:35
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:43
|
||||
#: src/tachyon/tabs/updates/initController.ts:1237
|
||||
#: src/tachyon/tabs/updates/initController.ts:1251
|
||||
#: src/tachyon/tabs/updates/initController.ts:1265
|
||||
@@ -4704,7 +4573,6 @@ msgid "Obfuscation password"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1778
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:956
|
||||
msgid "Ollama (Local PC / Server)"
|
||||
msgstr ""
|
||||
|
||||
@@ -4767,10 +4635,6 @@ msgstr ""
|
||||
msgid "Open Project Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:860
|
||||
msgid "OpenWrt Network Interfaces"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18402
|
||||
#: src/tachyon/tabs/updates/partials/renderUpdateProgressModal.ts:324
|
||||
msgid "Operation completed successfully!"
|
||||
@@ -4812,10 +4676,6 @@ msgstr ""
|
||||
msgid "Operation timed out"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:704
|
||||
msgid "Optimization"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14782
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:1100
|
||||
msgid "Optimize AWG MTU"
|
||||
@@ -4840,10 +4700,6 @@ msgstr ""
|
||||
msgid "Optional context (e.g. \"Rostelecom, YouTube 4K buffering is slow\")..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1045
|
||||
msgid "Optional for local LLM"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:8743
|
||||
msgid "Optional tls-auth or tls-crypt key"
|
||||
msgstr ""
|
||||
@@ -5012,11 +4868,6 @@ msgstr ""
|
||||
msgid "Pending..."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1250
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1303
|
||||
msgid "Per-Device Routing"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3158
|
||||
msgid "Periodically check the current level and switch to a faster server even when the current one works."
|
||||
msgstr ""
|
||||
@@ -5203,7 +5054,6 @@ msgid "Profile Name"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:291
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:657
|
||||
msgid "Protection"
|
||||
msgstr ""
|
||||
|
||||
@@ -5758,7 +5608,6 @@ msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3669
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:673
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1295
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
@@ -5766,26 +5615,11 @@ msgstr ""
|
||||
msgid "Save a snapshot of the working config and restore it later if something breaks."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1097
|
||||
msgid "Save AI Watchdog Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1235
|
||||
msgid "Save Smart Detect Settings"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:466
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:645
|
||||
msgid "Save Snapshot"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:550
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1095
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1235
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1295
|
||||
msgid "Saving…"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:655
|
||||
msgid "Schedule"
|
||||
msgstr ""
|
||||
@@ -5828,10 +5662,6 @@ msgstr ""
|
||||
msgid "Secret token for authorizing WRITE operations (POST/PUT) on /cgi-bin/tachyon-agent/. Leave empty if auth is not required."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:738
|
||||
msgid "Secret token for WRITE requests"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1654
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:437
|
||||
msgid "Section"
|
||||
@@ -5845,18 +5675,10 @@ msgstr ""
|
||||
msgid "Section name"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:894
|
||||
msgid "Section or network interface used for Cloudflare WARP API registration. Supports Tachyon sections (Connection, WireGuard, AmneziaWG, Interface) and OpenWrt system network devices/interfaces (awg0, wg0, tun0, etc.). Leave empty to use direct WAN / default mixed proxy."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:10231
|
||||
msgid "Section Rules Content"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1222
|
||||
msgid "Section test order (checked = active, drag rows with △▽):"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1631
|
||||
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 ""
|
||||
@@ -6149,9 +5971,9 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3486
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:3505
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:14452
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:609
|
||||
#: src/tachyon/methods/shell/index.ts:440
|
||||
#: src/tachyon/methods/shell/index.ts:461
|
||||
#: src/tachyon/tabs/diagnostic/initController.ts:609
|
||||
msgid "Service action failed"
|
||||
msgstr ""
|
||||
|
||||
@@ -6320,14 +6142,6 @@ msgstr ""
|
||||
msgid "Skipped loopback:"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1192
|
||||
msgid "Smart Detect"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:277
|
||||
msgid "Smart Detect settings saved"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:643
|
||||
msgid "Snapshot name"
|
||||
msgstr ""
|
||||
@@ -6506,10 +6320,6 @@ msgstr ""
|
||||
msgid "Start watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:1098
|
||||
msgid "Start Watchdog first"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:335
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:2124
|
||||
msgid "Starting…"
|
||||
@@ -6524,7 +6334,6 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:11403
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:333
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/parental.js:733
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:497
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:670
|
||||
#: src/tachyon/tabs/diagnostic/partials/renderServiceCheckModal.ts:481
|
||||
msgid "Status"
|
||||
@@ -6713,10 +6522,6 @@ msgstr ""
|
||||
msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:839
|
||||
msgid "Tachyon Sections"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16822
|
||||
#: src/tachyon/tabs/monitoring/initController.ts:991
|
||||
msgid "Tachyon service is stopped. Start the service to display connections."
|
||||
@@ -7057,7 +6862,7 @@ msgid "Time skew tolerance"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:6085
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:64
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:61
|
||||
msgid "tiny"
|
||||
msgstr ""
|
||||
|
||||
@@ -7347,7 +7152,7 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10170
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:10171
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:18827
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:37
|
||||
#: src/tachyon/helpers/singBoxVariant.ts:34
|
||||
#: src/tachyon/services/systemInfo.service.ts:10
|
||||
#: src/tachyon/services/systemInfo.service.ts:12
|
||||
#: src/tachyon/services/systemInfo.service.ts:13
|
||||
@@ -7796,14 +7601,6 @@ msgstr ""
|
||||
msgid "WARP Private Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:814
|
||||
msgid "WARP Proxy Section"
|
||||
msgstr ""
|
||||
|
||||
#: src/tachyon/tabs/dashboard/partials/renderAdvancedSettings.ts:494
|
||||
msgid "Watchdog"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:1516
|
||||
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 ""
|
||||
|
||||
@@ -22,8 +22,6 @@ const DEFAULT_SING_BOX_CONFIG = "/etc/sing-box/config.json";
|
||||
const NETNS_NAME = "fkpsc";
|
||||
const NETNS_VETH_HOST = "fkpsc0";
|
||||
const NETNS_VETH_PEER = "fkpsc1";
|
||||
const XHTTP_PATCH = "";
|
||||
const ICMP_TPROXY_PATCH = "";
|
||||
const CONFIG_DIR = "/etc/tachyon/servicecheck";
|
||||
const GEMINI_API_KEY_FILE = CONFIG_DIR + "/gemini_api_key";
|
||||
|
||||
@@ -92,64 +90,6 @@ function write_json(value) {
|
||||
print(sprintf("%J", value), "\n");
|
||||
}
|
||||
|
||||
function xhttp_patch() {
|
||||
if (fs.stat(XHTTP_PATCH) == null) {
|
||||
write_json({ success: false, message: "xHTTP-патч не установлен в пакет" });
|
||||
return 1;
|
||||
}
|
||||
let result = capture_args([ "sh", XHTTP_PATCH ], true);
|
||||
write_json({ success: result.status == 0, code: result.status, output: trim(as_string(result.output)) });
|
||||
return result.status;
|
||||
}
|
||||
|
||||
function icmp_tproxy_patch() {
|
||||
if (fs.stat(ICMP_TPROXY_PATCH) == null) {
|
||||
write_json({ success: false, message: "ICMP/TProxy-патч не установлен в пакет" });
|
||||
return 1;
|
||||
}
|
||||
let result = capture_args([ "sh", ICMP_TPROXY_PATCH ], true);
|
||||
write_json({ success: result.status == 0, code: result.status, output: trim(as_string(result.output)) });
|
||||
return result.status;
|
||||
}
|
||||
|
||||
function available_fixes() {
|
||||
if (fs.stat(TACHYON_BIN) == null)
|
||||
return [];
|
||||
|
||||
return [
|
||||
{
|
||||
id: "xhttp_import",
|
||||
title: "Фикс xHTTP импорта подписок",
|
||||
description: "Исправляет импорт дополнительных полей xHTTP из подписок в parser.uc Tachyon.",
|
||||
risk: "Создаётся резервная копия parser.uc; патч проверяется через ucode до замены."
|
||||
},
|
||||
{
|
||||
id: "icmp_tproxy",
|
||||
title: "Фикс ping/ICMP для правил подсетей",
|
||||
description: "Ограничивает метку TProxy в priority_rules протоколами TCP и UDP, чтобы ICMP не уходил в локальный TProxy-сокет.",
|
||||
risk: "Создаётся резервная копия nft/apply.uc; патч проверяется через ucode. Работающий Tachyon перезапускается, live-правила проверяются, а при ошибке выполняется откат."
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
function list_fixes() {
|
||||
write_json({ success: true, fixes: available_fixes() });
|
||||
return 0;
|
||||
}
|
||||
|
||||
function run_fix(id) {
|
||||
if (fs.stat(TACHYON_BIN) == null) {
|
||||
write_json({ success: false, message: "фиксы доступны только при установленном Tachyon" });
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (as_string(id) == "xhttp_import")
|
||||
return xhttp_patch();
|
||||
if (as_string(id) == "icmp_tproxy")
|
||||
return icmp_tproxy_patch();
|
||||
write_json({ success: false, message: "неизвестный фикс Forkop" });
|
||||
return 1;
|
||||
}
|
||||
|
||||
function parse_json(value) {
|
||||
try {
|
||||
|
||||
@@ -124,7 +124,6 @@ const PARENTAL_QUOTA_UC = LIB_DIR + "/service/parental_quota.uc";
|
||||
const PACKAGES_UC = LIB_DIR + "/core/packages.uc";
|
||||
const WATCHDOG_UC = LIB_DIR + "/service/watchdog.uc";
|
||||
const TELEGRAM_UC = LIB_DIR + "/service/telegram.uc";
|
||||
const DNS_PREFETCH_UC = LIB_DIR + "/singbox/dns_prefetch.uc";
|
||||
|
||||
let start_subscription_update_lock_held = false;
|
||||
let subscription_caches_prepared = getenv("TACHYON_SUBSCRIPTION_CACHES_PREPARED") || "0";
|
||||
@@ -813,7 +812,6 @@ function start_main() {
|
||||
module_success(ZAPRET2_UC, [ "start-runtime" ]);
|
||||
|
||||
module_background(UPDATES_UC, [ "list-update" ]);
|
||||
module_background(DNS_PREFETCH_UC, [ "prefetch" ]);
|
||||
module_background(LIB_DIR + "/service/lifecycle.uc", [ "discover-awg-mtu" ]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -35,41 +35,42 @@ let t = i18n.bind("en");
|
||||
// the full payload in a small on-disk map and send a short opaque token.
|
||||
const CB_MAP_FILE = "/tmp/tg_cb_map.json";
|
||||
const CB_MAP_MAX = 300;
|
||||
let cb_map_cache = null;
|
||||
|
||||
function cb_map_load() {
|
||||
if (cb_map_cache != null)
|
||||
return cb_map_cache;
|
||||
let data = fs.readfile(CB_MAP_FILE);
|
||||
if (data) {
|
||||
try {
|
||||
let obj = json(data);
|
||||
if (type(obj) == "object") return obj;
|
||||
if (type(obj) == "object") {
|
||||
cb_map_cache = obj;
|
||||
return cb_map_cache;
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
// A truncated map is recoverable: the tokens in it are short-lived
|
||||
// and the next store rewrites the file. Starting from empty costs
|
||||
// the user a "кнопка устарела" on old keyboards, which is what the
|
||||
// caller reports anyway when a token is missing.
|
||||
command_success_from_args([ "logger", "-t", "tachyon-telegram",
|
||||
"[warn] callback map is unparseable, starting from empty: " + as_string(e) ]);
|
||||
}
|
||||
}
|
||||
return {};
|
||||
cb_map_cache = {};
|
||||
return cb_map_cache;
|
||||
}
|
||||
|
||||
function cb_map_store(token, value) {
|
||||
let map = cb_map_load();
|
||||
if (map[token] == value)
|
||||
return;
|
||||
let ks = keys(map);
|
||||
if (length(ks) >= CB_MAP_MAX) {
|
||||
// Drop the oldest half so long-lived keyboards keep working for a while
|
||||
let pruned = {};
|
||||
for (let i = int(length(ks) / 2); i < length(ks); i++)
|
||||
pruned[ks[i]] = map[ks[i]];
|
||||
map = pruned;
|
||||
cb_map_cache = map;
|
||||
}
|
||||
map[token] = value;
|
||||
// The token has already been embedded in the keyboard by the time this runs,
|
||||
// so a failed write hands the user a button that will answer "кнопка
|
||||
// устарела" the moment they press it. Silently swallowing that made the
|
||||
// keyboard look intermittently broken with nothing in the log.
|
||||
let stored = false;
|
||||
try {
|
||||
stored = fs.writefile(CB_MAP_FILE, sprintf("%J", map)) != null;
|
||||
|
||||
@@ -1,242 +0,0 @@
|
||||
#!/usr/bin/env ucode
|
||||
|
||||
// DNS Turbo Cache prefetch worker.
|
||||
// Resolves domains through the local DNS (127.0.0.1) to pre-populate the
|
||||
// sing-box FakeIP cache so first-visit latency is 0 ms.
|
||||
//
|
||||
// Domain sources (in priority order):
|
||||
// 1. user_domains / user_domains_text from every active tachyon section
|
||||
// 2. domain / domain_suffix rule conditions from active sections
|
||||
// 3. Built-in baseline list of commonly blocked services
|
||||
|
||||
let common = require("core.common");
|
||||
let uci_core = require("core.uci");
|
||||
|
||||
const CONFIG_NAME = getenv("TACHYON_CONFIG_NAME") || "tachyon";
|
||||
|
||||
// ─── Fallback baseline list ───────────────────────────────────────────────────
|
||||
// Used when a user has no custom domains configured yet. Covers the most
|
||||
// popular Russian-blocked services and their CDN / API subdomains.
|
||||
|
||||
const BASELINE_DOMAINS = [
|
||||
// ── Telegram ──────────────────────────────────────────────────────────────
|
||||
"t.me", "telegram.org", "web.telegram.org", "desktop.telegram.org",
|
||||
"api.telegram.org", "core.telegram.org", "cdn.telegram.org",
|
||||
"updates.telegram.org", "media.telegram.org",
|
||||
|
||||
// ── YouTube ───────────────────────────────────────────────────────────────
|
||||
"youtube.com", "www.youtube.com", "youtu.be", "m.youtube.com",
|
||||
"music.youtube.com", "studio.youtube.com", "ytimg.com", "s.ytimg.com",
|
||||
"i.ytimg.com", "yt3.ggpht.com", "googlevideo.com", "yt.be",
|
||||
"youtubei.googleapis.com", "youtube-nocookie.com",
|
||||
|
||||
// ── Instagram / Meta ──────────────────────────────────────────────────────
|
||||
"instagram.com", "www.instagram.com", "cdninstagram.com",
|
||||
"i.instagram.com", "graph.instagram.com",
|
||||
"facebook.com", "www.facebook.com", "m.facebook.com", "fbcdn.net",
|
||||
"messenger.com", "www.messenger.com", "connect.facebook.net",
|
||||
"whatsapp.com", "www.whatsapp.com", "web.whatsapp.com",
|
||||
"media.whatsapp.net", "mmg.whatsapp.net",
|
||||
|
||||
// ── Twitter / X ───────────────────────────────────────────────────────────
|
||||
"twitter.com", "www.twitter.com", "x.com", "www.x.com",
|
||||
"t.co", "twimg.com", "abs.twimg.com", "pbs.twimg.com",
|
||||
"video.twimg.com", "api.twitter.com", "api.x.com",
|
||||
|
||||
// ── Discord ───────────────────────────────────────────────────────────────
|
||||
"discord.com", "www.discord.com", "discordapp.com", "discord.gg",
|
||||
"cdn.discordapp.com", "media.discordapp.net", "gateway.discord.gg",
|
||||
|
||||
// ── Reddit ────────────────────────────────────────────────────────────────
|
||||
"reddit.com", "www.reddit.com", "old.reddit.com", "redd.it",
|
||||
"redditmedia.com", "redditstatic.com", "v.redd.it", "i.redd.it",
|
||||
|
||||
// ── GitHub ────────────────────────────────────────────────────────────────
|
||||
"github.com", "api.github.com", "gist.github.com",
|
||||
"raw.githubusercontent.com", "objects.githubusercontent.com",
|
||||
"codeload.github.com", "avatars.githubusercontent.com",
|
||||
"github.githubassets.com",
|
||||
|
||||
// ── Google ────────────────────────────────────────────────────────────────
|
||||
"google.com", "www.google.com", "google.ru", "mail.google.com",
|
||||
"drive.google.com", "docs.google.com", "meet.google.com",
|
||||
"calendar.google.com", "photos.google.com", "accounts.google.com",
|
||||
"translate.google.com", "maps.google.com", "lh3.googleusercontent.com",
|
||||
|
||||
// ── Netflix ───────────────────────────────────────────────────────────────
|
||||
"netflix.com", "www.netflix.com", "nflxvideo.net", "nflximg.net", "nflxso.net",
|
||||
|
||||
// ── Spotify ───────────────────────────────────────────────────────────────
|
||||
"spotify.com", "open.spotify.com", "api.spotify.com", "scdn.co",
|
||||
|
||||
// ── TikTok ────────────────────────────────────────────────────────────────
|
||||
"tiktok.com", "www.tiktok.com", "m.tiktok.com", "tiktokcdn.com",
|
||||
|
||||
// ── Twitch ────────────────────────────────────────────────────────────────
|
||||
"twitch.tv", "www.twitch.tv", "static-cdn.jtvnw.net", "api.twitch.tv",
|
||||
|
||||
// ── Wikipedia ────────────────────────────────────────────────────────────
|
||||
"wikipedia.org", "ru.wikipedia.org", "en.wikipedia.org",
|
||||
"upload.wikimedia.org", "wikimedia.org",
|
||||
|
||||
// ── LinkedIn / Pinterest / Snapchat ───────────────────────────────────────
|
||||
"linkedin.com", "www.linkedin.com",
|
||||
"pinterest.com", "www.pinterest.com", "i.pinimg.com",
|
||||
"snapchat.com", "www.snapchat.com",
|
||||
|
||||
// ── Signal ────────────────────────────────────────────────────────────────
|
||||
"signal.org", "www.signal.org", "cdn.signal.org",
|
||||
|
||||
// ── Steam / Gaming ────────────────────────────────────────────────────────
|
||||
"steampowered.com", "store.steampowered.com", "steamcommunity.com",
|
||||
"steamcdn-a.akamaihd.net", "cdn.cloudflare.steamstatic.com",
|
||||
"epicgames.com", "www.epicgames.com",
|
||||
"roblox.com", "www.roblox.com",
|
||||
|
||||
// ── ProtonMail / Privacy ──────────────────────────────────────────────────
|
||||
"proton.me", "mail.proton.me", "protonmail.com",
|
||||
|
||||
// ── Medium / Substack ─────────────────────────────────────────────────────
|
||||
"medium.com", "substack.com",
|
||||
|
||||
// ── News ──────────────────────────────────────────────────────────────────
|
||||
"bbc.com", "bbc.co.uk", "reuters.com", "theguardian.com", "nytimes.com",
|
||||
|
||||
// ── Misc ──────────────────────────────────────────────────────────────────
|
||||
"patreon.com", "canva.com", "notion.so", "figma.com",
|
||||
"slack.com", "zoom.us", "dropbox.com",
|
||||
];
|
||||
|
||||
// ─── Domain extraction from UCI sections ─────────────────────────────────────
|
||||
|
||||
function list_to_array(value) {
|
||||
if (type(value) == "array")
|
||||
return value;
|
||||
let s = trim(common.as_string(value));
|
||||
return s != "" ? [ s ] : [];
|
||||
}
|
||||
|
||||
function parse_text_domains(text) {
|
||||
let result = [];
|
||||
for (let line in split(common.as_string(text), /[\n\r]+/)) {
|
||||
// Strip full-line comments (# or // style)
|
||||
line = trim(line);
|
||||
if (line == "" || substr(line, 0, 1) == "#" || substr(line, 0, 2) == "//")
|
||||
continue;
|
||||
// Strip inline comments
|
||||
line = replace(line, /[ \t]+\/\/.*$/, "");
|
||||
line = replace(line, /[ \t]+#.*$/, "");
|
||||
for (let token in split(line, /[,\s]+/)) {
|
||||
token = trim(token);
|
||||
// Strip leading dots (domain_suffix style) and wildcards
|
||||
token = replace(token, /^\*?\./, "");
|
||||
if (token != "" && substr(token, 0, 1) != "#" && substr(token, 0, 2) != "//")
|
||||
push(result, token);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
function collect_section_domains(section) {
|
||||
let result = [];
|
||||
let list_type = common.as_string(section.user_domain_list_type || "disabled");
|
||||
|
||||
// user_domains (UCI list, type=dynamic)
|
||||
if (list_type == "dynamic") {
|
||||
for (let d in list_to_array(section.user_domains))
|
||||
for (let x in parse_text_domains(d))
|
||||
push(result, x);
|
||||
}
|
||||
|
||||
// user_domains_text (textarea, type=text)
|
||||
if (list_type == "text") {
|
||||
for (let x in parse_text_domains(common.as_string(section.user_domains_text || "")))
|
||||
push(result, x);
|
||||
}
|
||||
|
||||
// domain / domain_suffix rule conditions
|
||||
for (let key in [ "domain", "domain_suffix" ]) {
|
||||
for (let d in list_to_array(section[key]))
|
||||
for (let x in parse_text_domains(d))
|
||||
push(result, x);
|
||||
let text = common.as_string(section[key + "s"] || ""); // plural textarea
|
||||
if (text != "")
|
||||
for (let x in parse_text_domains(text))
|
||||
push(result, x);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function collect_user_domains() {
|
||||
let seen = {};
|
||||
let result = [];
|
||||
|
||||
uci_core.foreach(CONFIG_NAME, "section", function(section) {
|
||||
if (section.enabled == "0")
|
||||
return;
|
||||
for (let domain in collect_section_domains(section)) {
|
||||
domain = lc(trim(domain));
|
||||
if (domain != "" && !seen[domain]) {
|
||||
seen[domain] = true;
|
||||
push(result, domain);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// ─── Prefetch ─────────────────────────────────────────────────────────────────
|
||||
|
||||
function prefetch() {
|
||||
let settings = common.object_or_empty(uci_core.get_all(CONFIG_NAME, "settings"));
|
||||
if (!common.bool_option(settings, "dns_turbo_cache", true))
|
||||
return;
|
||||
|
||||
// Give sing-box time to fully initialize — poll instead of blocking sleep
|
||||
let ready = false;
|
||||
for (let i = 0; i < 20; i++) {
|
||||
if (common.command_success_from_args(["nslookup", "localhost", "127.0.0.1"])) {
|
||||
ready = true;
|
||||
break;
|
||||
}
|
||||
common.command_success_from_args(["sleep", "1"]);
|
||||
}
|
||||
if (!ready) return;
|
||||
|
||||
// 1. Collect domains from user's actual sections (highest priority)
|
||||
let seen = {};
|
||||
let domains = [];
|
||||
|
||||
for (let d in collect_user_domains()) {
|
||||
if (!seen[d]) {
|
||||
seen[d] = true;
|
||||
push(domains, d);
|
||||
}
|
||||
}
|
||||
|
||||
// 2. Merge baseline list (skip already queued)
|
||||
for (let d in BASELINE_DOMAINS) {
|
||||
d = lc(d);
|
||||
if (!seen[d]) {
|
||||
seen[d] = true;
|
||||
push(domains, d);
|
||||
}
|
||||
}
|
||||
|
||||
// 3. Resolve all via local DNS to warm FakeIP cache (batched parallel)
|
||||
let batch = [];
|
||||
for (let i, domain in domains) {
|
||||
push(batch, common.shell_quote(domain));
|
||||
if (length(batch) >= 15 || i == length(domains) - 1) {
|
||||
let batch_cmd = "for d in " + join(" ", batch) + "; do nslookup \"$d\" 127.0.0.1 >/dev/null 2>&1; done &";
|
||||
common.command_success_from_args(["sh", "-c", batch_cmd]);
|
||||
batch = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let mode = ARGV[0];
|
||||
if (mode == "prefetch")
|
||||
prefetch();
|
||||
Reference in New Issue
Block a user