fix: resolve dashboard tile unselection, fuzzer probe parsing and complete translations
This commit is contained in:
@@ -1364,6 +1364,18 @@ const dictionary = {
|
||||
"Subnet %s is a Cloudflare Anycast range used by Discord Voice. Only UDP voice traffic (ports 50000-65535, 3478, 19294-19344, 5000-5020) is routed through this section; web traffic (TCP 80/443) goes direct.": "Подсеть %s — диапазон Cloudflare Anycast, используемый Discord Voice. Только голосовой UDP-трафик (порты 50000-65535, 3478, 19294-19344, 5000-5020) направляется через этот раздел; веб-трафик (TCP 80/443) идет напрямую.",
|
||||
"Add URLs or local paths to .lst / .txt lists containing domains and subnets.": "Добавьте URL или локальные пути к спискам .lst / .txt, содержащим домены и подсети.",
|
||||
"Add URLs or local paths to .lst / .txt lists containing domains. IP entries are ignored.": "Добавьте URL или локальные пути к спискам .lst / .txt, содержащим домены. IP-записи игнорируются.",
|
||||
"🔍 Analyzing DPI blocking patterns...": "🔍 Анализ паттернов блокировки DPI...",
|
||||
"🧬 Adaptive Smart Fuzzing (Genetic / Prior Seeds)": "🧬 Адаптивный умный фаззинг (генетический / по базовым шаблонам)",
|
||||
"🛡️ Stage 2: Stability Verification": "🛡️ Этап 2: Проверка стабильности",
|
||||
"FPTN Access Token": "Токен доступа FPTN",
|
||||
"FPTN Bypass Method": "Метод обхода FPTN",
|
||||
"FPTN Preferred Server": "Предпочитаемый сервер FPTN",
|
||||
"FPTN SNI": "SNI для FPTN",
|
||||
"Optional: override bypass method (e.g. quic, tcp)": "Опционально: переопределить метод обхода (напр. quic, tcp)",
|
||||
"Optional: override TLS SNI for FPTN connection": "Опционально: переопределить TLS SNI для подключения FPTN",
|
||||
"Optional: preferred FPTN server address": "Опционально: предпочитаемый адрес сервера FPTN",
|
||||
"stability (3x)": "стабильность (3x)",
|
||||
"Stage 1: Exploration Scan": "Этап 1: Разведочное сканирование",
|
||||
};
|
||||
|
||||
function escapePoString(str) {
|
||||
|
||||
@@ -2933,7 +2933,7 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16027",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2069",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1860",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1864",
|
||||
"src/tachyon/tabs/dashboard/partials/renderSections.ts:335",
|
||||
"src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:172"
|
||||
]
|
||||
@@ -8836,7 +8836,7 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16038",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2069",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1863",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1867",
|
||||
"src/tachyon/tabs/dashboard/partials/renderSections.ts:338",
|
||||
"src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:46",
|
||||
"src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:183"
|
||||
@@ -11162,8 +11162,8 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3108",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3109",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:327",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1713",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1858",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1717",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1862",
|
||||
"src/tachyon/tabs/dashboard/partials/renderSections.ts:333",
|
||||
"src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:166"
|
||||
]
|
||||
@@ -12646,8 +12646,8 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3114",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:333",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1713",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1862",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1717",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1866",
|
||||
"src/tachyon/tabs/dashboard/partials/renderSections.ts:337",
|
||||
"src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:178"
|
||||
]
|
||||
@@ -14266,7 +14266,7 @@
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3131",
|
||||
"../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:354",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1864",
|
||||
"src/tachyon/methods/custom/getDashboardSections.ts:1868",
|
||||
"src/tachyon/tabs/dashboard/partials/renderSections.ts:339",
|
||||
"src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:188"
|
||||
]
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TACHYON\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-09-16 05:36+0300\n"
|
||||
"PO-Revision-Date: 2026-09-16 05:36+0300\n"
|
||||
"POT-Creation-Date: 2026-09-16 06:44+0300\n"
|
||||
"PO-Revision-Date: 2026-09-16 06:44+0300\n"
|
||||
"Last-Translator: Dushnilin <dushnilin@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
@@ -1845,7 +1845,7 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16027
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2069
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1860
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1864
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:335
|
||||
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:172
|
||||
msgid "Conflict"
|
||||
@@ -5477,7 +5477,7 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:16038
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:2069
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1863
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1867
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:338
|
||||
#: src/tachyon/tabs/diagnostic/checks/runInboundsCheck.ts:46
|
||||
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:183
|
||||
@@ -6906,8 +6906,8 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3108
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3109
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:327
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1713
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1858
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1717
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1862
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:333
|
||||
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:166
|
||||
msgid "Running"
|
||||
@@ -7808,8 +7808,8 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3114
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:333
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1713
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1862
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1717
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1866
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:337
|
||||
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:178
|
||||
msgid "Stopped"
|
||||
@@ -8813,7 +8813,7 @@ msgstr ""
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/main.js:5713
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:3131
|
||||
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:354
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1864
|
||||
#: src/tachyon/methods/custom/getDashboardSections.ts:1868
|
||||
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:339
|
||||
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:188
|
||||
msgid "Unknown"
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: TACHYON\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-09-16 08:36+0300\n"
|
||||
"PO-Revision-Date: 2026-09-16 08:36+0300\n"
|
||||
"POT-Creation-Date: 2026-09-16 09:44+0300\n"
|
||||
"PO-Revision-Date: 2026-09-16 09:44+0300\n"
|
||||
"Last-Translator: Dushnilin\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
@@ -138,7 +138,7 @@ msgid "🔄 Reset to Factory Defaults"
|
||||
msgstr "🔄 Сбросить к заводским настройкам"
|
||||
|
||||
msgid "🔍 Analyzing DPI blocking patterns..."
|
||||
msgstr ""
|
||||
msgstr "🔍 Анализ паттернов блокировки DPI..."
|
||||
|
||||
msgid "🔍 Combinatorial Deep Fuzzing (~150-300+)"
|
||||
msgstr "🔍 Комбинаторный глубокий фаззинг (~150-300+)"
|
||||
@@ -156,7 +156,7 @@ msgid "🧠 Synthesizing..."
|
||||
msgstr "🧠 Генерация..."
|
||||
|
||||
msgid "🧬 Adaptive Smart Fuzzing (Genetic / Prior Seeds)"
|
||||
msgstr ""
|
||||
msgstr "🧬 Адаптивный умный фаззинг (генетический / по базовым шаблонам)"
|
||||
|
||||
msgid "🚀 Initializing benchmark in sandbox..."
|
||||
msgstr "🚀 Инициализация бенчмарка в песочнице..."
|
||||
@@ -180,7 +180,7 @@ msgid "🛡️ SECURE: Public IP is concealed behind the proxy outbound."
|
||||
msgstr "🛡️ ЗАЩИЩЕНО: Публичный IP-адрес скрыт за исходящим прокси."
|
||||
|
||||
msgid "🛡️ Stage 2: Stability Verification"
|
||||
msgstr ""
|
||||
msgstr "🛡️ Этап 2: Проверка стабильности"
|
||||
|
||||
msgid "🟣 Twitch Suite (Live Stream + HLS CDN)"
|
||||
msgstr "🟣 Twitch (Прямой эфир + HLS CDN)"
|
||||
@@ -2190,16 +2190,16 @@ msgid "Found"
|
||||
msgstr "Найдено"
|
||||
|
||||
msgid "FPTN Access Token"
|
||||
msgstr ""
|
||||
msgstr "Токен доступа FPTN"
|
||||
|
||||
msgid "FPTN Bypass Method"
|
||||
msgstr ""
|
||||
msgstr "Метод обхода FPTN"
|
||||
|
||||
msgid "FPTN Preferred Server"
|
||||
msgstr ""
|
||||
msgstr "Предпочитаемый сервер FPTN"
|
||||
|
||||
msgid "FPTN SNI"
|
||||
msgstr ""
|
||||
msgstr "SNI для FPTN"
|
||||
|
||||
msgid "France (fr)"
|
||||
msgstr "Франция (fr)"
|
||||
@@ -3579,13 +3579,13 @@ msgid "Optional values must be attached with '=' here; a separate token would be
|
||||
msgstr "Опциональные значения должны быть присоединены через '=' здесь; отдельный токен будет игнорироваться nfqws2."
|
||||
|
||||
msgid "Optional: override bypass method (e.g. quic, tcp)"
|
||||
msgstr ""
|
||||
msgstr "Опционально: переопределить метод обхода (напр. quic, tcp)"
|
||||
|
||||
msgid "Optional: override TLS SNI for FPTN connection"
|
||||
msgstr ""
|
||||
msgstr "Опционально: переопределить TLS SNI для подключения FPTN"
|
||||
|
||||
msgid "Optional: preferred FPTN server address"
|
||||
msgstr ""
|
||||
msgstr "Опционально: предпочитаемый адрес сервера FPTN"
|
||||
|
||||
msgid "Optionally specify individual devices not in a profile. MAC addresses (e.g. AA:BB:CC:DD:EE:FF) work even if the IP changes."
|
||||
msgstr "При необходимости укажите отдельные устройства вне профилей. MAC-адреса (напр. AA:BB:CC:DD:EE:FF) работают даже при смене IP."
|
||||
@@ -4773,10 +4773,10 @@ msgid "SSH"
|
||||
msgstr "SSH"
|
||||
|
||||
msgid "stability (3x)"
|
||||
msgstr ""
|
||||
msgstr "стабильность (3x)"
|
||||
|
||||
msgid "Stage 1: Exploration Scan"
|
||||
msgstr ""
|
||||
msgstr "Этап 1: Разведочное сканирование"
|
||||
|
||||
msgid "Standalone ByeDPI autostart is enabled"
|
||||
msgstr "Автозапуск отдельной службы ByeDPI включен"
|
||||
|
||||
@@ -128,9 +128,9 @@ type ChildType =
|
||||
| 'priority_level';
|
||||
|
||||
const DASHBOARD_SECTION_CACHE_DIR = '/var/run/tachyon/section-cache';
|
||||
const CLASH_API_FETCH_TIMEOUT_MS = 1200;
|
||||
const CLASH_API_FETCH_TIMEOUT_MS = 2500;
|
||||
let directClashApiFailedAt = 0;
|
||||
const DIRECT_CLASH_API_COOLDOWN_MS = 60_000;
|
||||
const DIRECT_CLASH_API_COOLDOWN_MS = 10_000;
|
||||
|
||||
export function resetDirectClashApiState() {
|
||||
directClashApiFailedAt = 0;
|
||||
@@ -1274,7 +1274,11 @@ function buildProxyGroupOutbounds(
|
||||
...priorityCodes,
|
||||
]);
|
||||
|
||||
const selectorNow = selector?.value?.now;
|
||||
const selectorNow =
|
||||
selector?.value?.now ||
|
||||
(selectorCodes.length > 0 ? selectorCodes[0] : undefined) ||
|
||||
urlTestCodes[0] ||
|
||||
priorityCodes[0];
|
||||
|
||||
const outbounds = uniqueCodes(groupCodes).flatMap((code) => {
|
||||
const item = proxyByCode.get(code);
|
||||
|
||||
Reference in New Issue
Block a user