Исправление ошибок рефакторинга (packages.uc, state.uc, cache.uc)

This commit is contained in:
Dushnilin
2026-07-13 23:58:48 +03:00
parent baea672ee3
commit 8e95b79841
29 changed files with 1111 additions and 587 deletions
File diff suppressed because it is too large Load Diff
+253 -152
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: TACHYON\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-13 10:18+0300\n"
"PO-Revision-Date: 2026-07-13 10:18+0300\n"
"POT-Creation-Date: 2026-07-13 20:43+0300\n"
"PO-Revision-Date: 2026-07-13 20:43+0300\n"
"Last-Translator: Dushnilin <dushnilin@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -41,13 +41,13 @@ msgstr ""
msgid "+ Add URLTest"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1675
#: src/tachyon/tabs/dashboard/initController.ts:1686
#: src/tachyon/tabs/dashboard/initController.ts:1563
#: src/tachyon/tabs/dashboard/initController.ts:1572
msgid "✔ Running"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1676
#: src/tachyon/tabs/dashboard/initController.ts:1687
#: src/tachyon/tabs/dashboard/initController.ts:1563
#: src/tachyon/tabs/dashboard/initController.ts:1572
msgid "✘ Stopped"
msgstr ""
@@ -73,7 +73,7 @@ msgstr ""
msgid "Active Bootstrap DNS"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1633
#: src/tachyon/tabs/dashboard/initController.ts:1548
msgid "Active Connections"
msgstr ""
@@ -124,6 +124,10 @@ msgstr ""
msgid "Address"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:715
msgid "Administrator Chat IDs"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3116
msgid "Advertise exit node"
msgstr ""
@@ -133,7 +137,7 @@ msgid "Advertise routes"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:626
#: src/tachyon/tabs/monitoring/render.ts:39
#: src/tachyon/tabs/monitoring/render.ts:40
msgid "All"
msgstr ""
@@ -185,6 +189,10 @@ msgstr ""
msgid "Apply section rules only to the specified local IP addresses"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:723
msgid "At least one Admin Chat ID is required"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4752
msgid "At least one valid domain must be specified."
msgstr ""
@@ -222,11 +230,11 @@ msgid "Automatically check installed components for new versions"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2818
#: src/tachyon/tabs/dashboard/initController.ts:1155
#: src/tachyon/tabs/dashboard/initController.ts:1208
msgid "Automatically select the fastest node in the current level"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:43
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:45
msgid "Available actions"
msgstr ""
@@ -353,7 +361,7 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2301
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2769
#: src/tachyon/tabs/dashboard/initController.ts:1142
#: src/tachyon/tabs/dashboard/initController.ts:1195
msgid "Check interval"
msgstr ""
@@ -361,17 +369,17 @@ msgstr ""
msgid "Check timeout after which the server is considered dead"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:740
#: src/tachyon/tabs/updates/initController.ts:742
msgid "Check update"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2327
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2756
#: src/tachyon/tabs/dashboard/initController.ts:1140
#: src/tachyon/tabs/dashboard/initController.ts:1193
msgid "Check URL"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:1022
#: src/tachyon/tabs/diagnostic/initController.ts:1058
#: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:14
#: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:15
#: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:15
@@ -426,20 +434,19 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3071
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1718
#: src/partials/modal/renderModal.ts:263
#: src/tachyon/tabs/dashboard/initController.ts:1027
#: src/tachyon/tabs/dashboard/initController.ts:1283
#: src/tachyon/tabs/monitoring/initController.ts:832
#: src/tachyon/tabs/monitoring/initController.ts:882
#: src/tachyon/tabs/dashboard/initController.ts:1040
#: src/tachyon/tabs/monitoring/initController.ts:837
#: src/tachyon/tabs/monitoring/initController.ts:887
msgid "Close"
msgstr ""
#: src/tachyon/tabs/monitoring/render.ts:58
#: src/tachyon/tabs/monitoring/render.ts:59
#: src/tachyon/tabs/monitoring/render.ts:60
msgid "Close all connections"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:799
#: src/tachyon/tabs/monitoring/initController.ts:800
#: src/tachyon/tabs/monitoring/initController.ts:804
#: src/tachyon/tabs/monitoring/initController.ts:805
msgid "Close connection"
msgstr ""
@@ -448,6 +455,10 @@ msgstr ""
msgid "Closed"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:716
msgid "Comma-separated list of Telegram user IDs authorized to control the bot."
msgstr ""
#: src/tachyon/services/core.service.ts:43
msgid "Component update available"
msgstr ""
@@ -456,7 +467,7 @@ msgstr ""
msgid "Component update check interval"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:473
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:485
msgid "Components"
msgstr ""
@@ -492,11 +503,11 @@ msgstr ""
msgid "Connection URL"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:946
#: src/tachyon/tabs/monitoring/initController.ts:951
msgid "Connections are unavailable"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:145
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:146
msgid "Connectivity probe failed"
msgstr ""
@@ -510,10 +521,9 @@ msgstr ""
msgid "Copy"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:997
#: src/tachyon/tabs/dashboard/initController.ts:1253
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:366
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:367
#: src/tachyon/tabs/dashboard/initController.ts:1010
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:371
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:372
msgid "Copy proxy link"
msgstr ""
@@ -537,7 +547,7 @@ msgstr ""
msgid "Custom outbound configurations in JSON format"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:449
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:461
msgid "Dashboard"
msgstr ""
@@ -586,7 +596,7 @@ msgstr ""
msgid "DHCP is managed manually"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:437
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:449
msgid "Diagnostics"
msgstr ""
@@ -598,7 +608,7 @@ msgstr ""
msgid "Direct connection"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:79
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:81
msgid "Disable autostart"
msgstr ""
@@ -747,8 +757,8 @@ msgstr ""
msgid "Dont Touch My DHCP!"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1559
#: src/tachyon/tabs/dashboard/initController.ts:1597
#: src/tachyon/tabs/dashboard/initController.ts:1523
#: src/tachyon/tabs/dashboard/initController.ts:1536
msgid "Downlink"
msgstr ""
@@ -792,8 +802,8 @@ msgstr ""
msgid "Download through"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:825
#: src/tachyon/tabs/monitoring/initController.ts:879
#: src/tachyon/tabs/monitoring/initController.ts:830
#: src/tachyon/tabs/monitoring/initController.ts:884
msgid "Downloaded"
msgstr ""
@@ -829,7 +839,7 @@ msgstr ""
msgid "Enable automatic updates for remote lists and rule sets"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:89
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:91
msgid "Enable autostart"
msgstr ""
@@ -853,6 +863,10 @@ msgstr ""
msgid "Enable Output Network Interface"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:690
msgid "Enable Telegram Bot"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:413
msgid "Enable YACD"
msgstr ""
@@ -861,6 +875,10 @@ msgstr ""
msgid "Enable YACD WAN Access"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:691
msgid "Enables the background daemon that polls Telegram for commands and sends notifications."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2586
msgid "Enter a complete sing-box inbound object"
msgstr ""
@@ -889,6 +907,10 @@ msgstr ""
msgid "Enter HWID"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:700
msgid "Enter the API token obtained from @BotFather."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2171
msgid "Enter the HWID sent with subscription requests"
msgstr ""
@@ -957,13 +979,13 @@ msgstr ""
msgid "External nfqws2 config files bypass Tachyon queue management and explicit validation."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:1213
#: src/tachyon/tabs/monitoring/initController.ts:1228
#: src/tachyon/tabs/monitoring/initController.ts:1218
#: src/tachyon/tabs/monitoring/initController.ts:1233
msgid "Failed to close connection"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:1247
#: src/tachyon/tabs/monitoring/initController.ts:1260
#: src/tachyon/tabs/monitoring/initController.ts:1252
#: src/tachyon/tabs/monitoring/initController.ts:1265
msgid "Failed to close connections"
msgstr ""
@@ -976,18 +998,18 @@ msgstr ""
#: src/tachyon/methods/shell/index.ts:177
#: src/tachyon/tabs/updates/initController.ts:508
#: src/tachyon/tabs/updates/initController.ts:509
#: src/tachyon/tabs/updates/initController.ts:569
#: src/tachyon/tabs/updates/initController.ts:719
#: src/tachyon/tabs/updates/initController.ts:571
#: src/tachyon/tabs/updates/initController.ts:721
msgid "Failed to execute"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:275
#: src/tachyon/tabs/dashboard/initController.ts:276
#: src/tachyon/tabs/dashboard/initController.ts:295
#: src/tachyon/tabs/dashboard/initController.ts:341
#: src/tachyon/tabs/dashboard/initController.ts:345
#: src/tachyon/tabs/dashboard/initController.ts:1341
#: src/tachyon/tabs/dashboard/initController.ts:1345
#: src/tachyon/tabs/dashboard/initController.ts:277
#: src/tachyon/tabs/dashboard/initController.ts:296
#: src/tachyon/tabs/dashboard/initController.ts:342
#: src/tachyon/tabs/dashboard/initController.ts:346
#: src/tachyon/tabs/dashboard/initController.ts:1286
#: src/tachyon/tabs/dashboard/initController.ts:1290
msgid "Failed to update subscriptions"
msgstr ""
@@ -1012,7 +1034,7 @@ msgid "Fallback on unknown DC"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2829
#: src/tachyon/tabs/dashboard/initController.ts:1161
#: src/tachyon/tabs/dashboard/initController.ts:1214
msgid "Faster server search interval"
msgstr ""
@@ -1056,11 +1078,11 @@ msgstr ""
msgid "Generated inbound"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:98
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:100
msgid "Get global check"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:682
#: src/tachyon/tabs/diagnostic/initController.ts:684
msgid "Global check"
msgstr ""
@@ -1106,7 +1128,7 @@ msgid "Hide values"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2793
#: src/tachyon/tabs/dashboard/initController.ts:1147
#: src/tachyon/tabs/dashboard/initController.ts:1200
msgid "Higher-level check interval"
msgstr ""
@@ -1114,8 +1136,8 @@ msgstr ""
msgid "Higher-priority DNS Check"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:815
#: src/tachyon/tabs/monitoring/initController.ts:875
#: src/tachyon/tabs/monitoring/initController.ts:820
#: src/tachyon/tabs/monitoring/initController.ts:880
msgid "Host"
msgstr ""
@@ -1127,6 +1149,10 @@ msgstr ""
msgid "How often the currently selected server is checked"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:736
msgid "How often to check Telegram for new messages (default: 5)."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:197
msgid "How often to check the active DNS servers."
msgstr ""
@@ -1149,7 +1175,7 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2340
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3063
#: src/tachyon/tabs/dashboard/initController.ts:916
#: src/tachyon/tabs/dashboard/initController.ts:1068
msgid "Idle timeout"
msgstr ""
@@ -1201,16 +1227,16 @@ msgstr ""
msgid "Information"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:754
#: src/tachyon/tabs/updates/initController.ts:756
msgid "Install"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:1159
#: src/tachyon/tabs/updates/initController.ts:1161
msgid "Install another build:"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:291
#: src/tachyon/tabs/updates/initController.ts:1017
#: src/tachyon/tabs/updates/initController.ts:1019
msgid "Installed version is newer than release"
msgstr ""
@@ -1228,8 +1254,8 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2354
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2845
#: src/tachyon/tabs/dashboard/initController.ts:918
#: src/tachyon/tabs/dashboard/initController.ts:1167
#: src/tachyon/tabs/dashboard/initController.ts:1070
#: src/tachyon/tabs/dashboard/initController.ts:1220
msgid "Interrupt existing connections"
msgstr ""
@@ -1241,7 +1267,7 @@ msgstr ""
msgid "Interrupt existing connections when URLTest switches the selected server"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:914
#: src/tachyon/tabs/dashboard/initController.ts:1066
msgid "Interval"
msgstr ""
@@ -1576,15 +1602,15 @@ msgid "Latency test URL"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:294
#: src/tachyon/tabs/updates/initController.ts:1015
#: src/tachyon/tabs/updates/initController.ts:1017
msgid "Latest version is installed"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:1017
#: src/tachyon/tabs/updates/initController.ts:1019
msgid "Latest version:"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1100
#: src/tachyon/tabs/dashboard/initController.ts:1153
msgid "Level"
msgstr ""
@@ -1616,16 +1642,16 @@ msgstr ""
msgid "Loading client link..."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:936
#: src/tachyon/tabs/monitoring/render.ts:88
#: src/tachyon/tabs/monitoring/initController.ts:941
#: src/tachyon/tabs/monitoring/render.ts:92
msgid "Loading connections"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:905
#: src/tachyon/tabs/updates/initController.ts:916
#: src/tachyon/tabs/updates/initController.ts:927
#: src/tachyon/tabs/updates/initController.ts:940
#: src/tachyon/tabs/updates/initController.ts:953
#: src/tachyon/tabs/updates/initController.ts:907
#: src/tachyon/tabs/updates/initController.ts:918
#: src/tachyon/tabs/updates/initController.ts:929
#: src/tachyon/tabs/updates/initController.ts:942
#: src/tachyon/tabs/updates/initController.ts:955
msgid "Loading..."
msgstr ""
@@ -1653,7 +1679,7 @@ msgstr ""
msgid "Maximum time to wait for example.com to resolve during a DNS health check."
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1637
#: src/tachyon/tabs/dashboard/initController.ts:1549
msgid "Memory Usage"
msgstr ""
@@ -1681,10 +1707,14 @@ msgstr ""
msgid "Monitored Interfaces"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:461
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:473
msgid "Monitoring"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:726
msgid "Must be a comma-separated list of numeric IDs"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1804
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1819
msgid "Must be a number in the range of 0 - 10000"
@@ -1738,18 +1768,18 @@ msgstr ""
msgid "NFQWS2 strategy cannot be empty"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:762
#: src/tachyon/tabs/dashboard/initController.ts:766
#: src/tachyon/tabs/dashboard/initController.ts:842
#: src/tachyon/tabs/dashboard/initController.ts:1055
#: src/tachyon/tabs/dashboard/initController.ts:770
#: src/tachyon/tabs/dashboard/initController.ts:846
#: src/tachyon/tabs/dashboard/initController.ts:1106
msgid "No"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:960
#: src/tachyon/tabs/monitoring/initController.ts:965
msgid "No active connections"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:961
#: src/tachyon/tabs/monitoring/initController.ts:966
msgid "No closed connections"
msgstr ""
@@ -1781,13 +1811,11 @@ msgstr ""
msgid "No rules use Zapret2"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1012
#: src/tachyon/tabs/dashboard/initController.ts:1268
#: src/tachyon/tabs/dashboard/initController.ts:1025
msgid "Node list is empty"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:942
#: src/tachyon/tabs/dashboard/initController.ts:1191
#: src/tachyon/tabs/dashboard/initController.ts:930
msgid "Nodes"
msgstr ""
@@ -1807,15 +1835,15 @@ msgstr ""
msgid "Not detected"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:189
#: src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:193
msgid "Not implement yet"
msgstr ""
#: src/tachyon/helpers/singBoxVariant.ts:29
#: src/tachyon/helpers/singBoxVariant.ts:37
#: src/tachyon/tabs/updates/initController.ts:930
#: src/tachyon/tabs/updates/initController.ts:943
#: src/tachyon/tabs/updates/initController.ts:956
#: src/tachyon/tabs/updates/initController.ts:932
#: src/tachyon/tabs/updates/initController.ts:945
#: src/tachyon/tabs/updates/initController.ts:958
msgid "Not installed"
msgstr ""
@@ -1827,14 +1855,14 @@ msgstr ""
msgid "Not required for this listen address"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:90
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:117
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:123
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:151
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:91
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:118
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:124
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:152
msgid "Not responding"
msgstr ""
#: src/tachyon/tabs/diagnostic/diagnostic.store.ts:125
#: src/tachyon/tabs/diagnostic/diagnostic.store.ts:128
#: src/tachyon/tabs/diagnostic/initController.ts:116
#: src/tachyon/tabs/diagnostic/initController.ts:346
#: src/tachyon/tabs/diagnostic/initController.ts:403
@@ -1842,6 +1870,30 @@ msgstr ""
msgid "Not running"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:792
msgid "Notify on Certificate Warnings"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:752
msgid "Notify on Core Crashes"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:802
msgid "Notify on DNS Leaks"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:772
msgid "Notify on Server Switches"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:762
msgid "Notify on Service Restarts"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:782
msgid "Notify on Subscription Updates"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900
msgid "Obfuscation"
msgstr ""
@@ -1884,8 +1936,8 @@ msgstr ""
msgid "Only the specified servers."
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:1008
#: src/tachyon/tabs/updates/initController.ts:1030
#: src/tachyon/tabs/updates/initController.ts:1010
#: src/tachyon/tabs/updates/initController.ts:1032
msgid "Open"
msgstr ""
@@ -1954,8 +2006,8 @@ msgid "Path must end with cache.db"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:691
#: src/tachyon/tabs/monitoring/render.ts:70
#: src/tachyon/tabs/monitoring/render.ts:71
#: src/tachyon/tabs/monitoring/render.ts:72
msgid "Pause updates"
msgstr ""
@@ -1972,6 +2024,14 @@ msgstr ""
msgid "Pin on dashboard"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:735
msgid "Polling Interval (seconds)"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:744
msgid "Polling interval must be at least 1 second"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7174
msgid "Port cannot be empty"
msgstr ""
@@ -2017,13 +2077,13 @@ msgstr ""
msgid "Priority"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1298
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:404
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:405
#: src/tachyon/tabs/dashboard/initController.ts:1243
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:409
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:410
msgid "Priority details"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1128
#: src/tachyon/tabs/dashboard/initController.ts:1181
msgid "Priority details are unavailable"
msgstr ""
@@ -2048,7 +2108,7 @@ msgstr ""
msgid "Protocol"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:757
#: src/tachyon/tabs/dashboard/initController.ts:761
msgid "Proxy link is unavailable"
msgstr ""
@@ -2101,7 +2161,7 @@ msgstr ""
msgid "Regular expression must not contain spaces or commas"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:799
#: src/tachyon/tabs/updates/initController.ts:801
msgid "Remove"
msgstr ""
@@ -2145,7 +2205,7 @@ msgstr ""
msgid "Resource selection by IP or CIDR inside nfqws2 is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:49
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:51
msgid "Restart Tachyon"
msgstr ""
@@ -2153,8 +2213,8 @@ msgstr ""
msgid "Resume updates"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:819
#: src/tachyon/tabs/monitoring/initController.ts:877
#: src/tachyon/tabs/monitoring/initController.ts:824
#: src/tachyon/tabs/monitoring/initController.ts:882
msgid "Route"
msgstr ""
@@ -2225,6 +2285,11 @@ msgstr ""
msgid "Run Diagnostic"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:709
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:109
msgid "Run doctor repair"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7405
msgid "Russia inside restrictions"
msgstr ""
@@ -2233,7 +2298,7 @@ msgstr ""
msgid "Save"
msgstr ""
#: src/tachyon/tabs/monitoring/render.ts:47
#: src/tachyon/tabs/monitoring/render.ts:48
msgid "Search"
msgstr ""
@@ -2316,7 +2381,7 @@ msgid "Select path for sing-box config file. Change this ONLY if you know what y
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2807
#: src/tachyon/tabs/dashboard/initController.ts:1151
#: src/tachyon/tabs/dashboard/initController.ts:1204
msgid "Select the fastest node"
msgstr ""
@@ -2336,8 +2401,8 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:910
#: src/tachyon/tabs/dashboard/initController.ts:1137
#: src/tachyon/tabs/dashboard/initController.ts:1062
#: src/tachyon/tabs/dashboard/initController.ts:1190
msgid "Selected"
msgstr ""
@@ -2349,6 +2414,30 @@ msgstr ""
msgid "Selector and URLTest outbounds must contain a non-empty outbounds array"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:803
msgid "Send a Telegram notification if a potential DNS leak is detected."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:753
msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:793
msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:763
msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:773
msgid "Send a Telegram notification when a URLTest group switches to a new server."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:783
msgid "Send a Telegram notification when proxy subscriptions are successfully updated."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:413
msgid "Server"
msgstr ""
@@ -2397,7 +2486,7 @@ msgstr ""
#: src/tachyon/methods/shell/index.ts:383
#: src/tachyon/methods/shell/index.ts:404
#: src/tachyon/tabs/diagnostic/initController.ts:594
#: src/tachyon/tabs/diagnostic/initController.ts:596
msgid "Service action failed"
msgstr ""
@@ -2405,7 +2494,7 @@ msgstr ""
msgid "Service list"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1670
#: src/tachyon/tabs/dashboard/initController.ts:1559
msgid "Services info"
msgstr ""
@@ -2419,8 +2508,8 @@ msgstr ""
msgid "Show metadata on dashboard"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:751
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:116
#: src/tachyon/tabs/diagnostic/initController.ts:779
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:127
msgid "Show sing-box config"
msgstr ""
@@ -2468,8 +2557,8 @@ msgstr ""
msgid "Sorts servers in this section by lowest latency in the dashboard."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:831
#: src/tachyon/tabs/monitoring/initController.ts:881
#: src/tachyon/tabs/monitoring/initController.ts:836
#: src/tachyon/tabs/monitoring/initController.ts:886
msgid "Source"
msgstr ""
@@ -2514,7 +2603,7 @@ msgstr ""
msgid "Standalone Zapret service is inactive"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:123
msgid "Standalone Zapret2 autostart is enabled"
msgstr ""
@@ -2522,15 +2611,15 @@ msgstr ""
msgid "Standalone Zapret2 is active together with Tachyon Zapret2 rules"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:119
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121
msgid "Standalone Zapret2 service is active"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:122
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:124
msgid "Standalone Zapret2 service is inactive"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:69
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:71
msgid "Start Tachyon"
msgstr ""
@@ -2538,7 +2627,7 @@ msgstr ""
msgid "Stop checking when URLTest group is not used. Use sing-box duration format like 1d, 12h or 30m."
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:59
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:61
msgid "Stop Tachyon"
msgstr ""
@@ -2554,8 +2643,8 @@ msgstr ""
msgid "Subscription info:"
msgstr ""
#: src/tachyon/methods/shell/index.ts:720
#: src/tachyon/methods/shell/index.ts:740
#: src/tachyon/methods/shell/index.ts:724
#: src/tachyon/methods/shell/index.ts:744
msgid "Subscription update failed"
msgstr ""
@@ -2575,15 +2664,15 @@ msgstr ""
msgid "Subscription URL settings"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:301
#: src/tachyon/tabs/dashboard/initController.ts:302
msgid "Subscriptions updated"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1630
#: src/tachyon/tabs/dashboard/initController.ts:1546
msgid "System info"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:21
#: src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:24
msgid "System information"
msgstr ""
@@ -2611,7 +2700,7 @@ msgstr ""
msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:925
#: src/tachyon/tabs/monitoring/initController.ts:930
msgid "Tachyon service is stopped. Start the service to display connections."
msgstr ""
@@ -2683,9 +2772,17 @@ msgstr ""
msgid "Tailscale hostname"
msgstr ""
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:242
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:250
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:491
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:437
msgid "Telegram Bot"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:699
msgid "Telegram Bot Token"
msgstr ""
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:244
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:252
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:507
msgid "Test latency"
msgstr ""
@@ -2713,7 +2810,7 @@ msgstr ""
msgid "Test servers whose names match the expression."
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:913
#: src/tachyon/tabs/dashboard/initController.ts:1065
msgid "Testing URL"
msgstr ""
@@ -2781,8 +2878,8 @@ msgstr ""
msgid "This option requires a value."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:822
#: src/tachyon/tabs/monitoring/initController.ts:878
#: src/tachyon/tabs/monitoring/initController.ts:827
#: src/tachyon/tabs/monitoring/initController.ts:883
msgid "Time"
msgstr ""
@@ -2798,8 +2895,12 @@ msgstr ""
msgid "tiny"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:707
msgid "Token is required when the bot is enabled"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2313
#: src/tachyon/tabs/dashboard/initController.ts:915
#: src/tachyon/tabs/dashboard/initController.ts:1067
msgid "Tolerance"
msgstr ""
@@ -2807,7 +2908,7 @@ msgstr ""
msgid "Top level has the highest priority; lower levels are used as fallback"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1556
#: src/tachyon/tabs/dashboard/initController.ts:1520
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:130
msgid "Traffic"
msgstr ""
@@ -2816,7 +2917,7 @@ msgstr ""
msgid "Traffic for this level goes directly."
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1590
#: src/tachyon/tabs/dashboard/initController.ts:1533
msgid "Traffic Total"
msgstr ""
@@ -2858,8 +2959,8 @@ msgid "TTL value cannot be empty"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1638
#: src/tachyon/tabs/monitoring/initController.ts:816
#: src/tachyon/tabs/monitoring/initController.ts:876
#: src/tachyon/tabs/monitoring/initController.ts:821
#: src/tachyon/tabs/monitoring/initController.ts:881
msgid "Type"
msgstr ""
@@ -2883,7 +2984,7 @@ msgid "Unable to validate the NFQWS2 strategy through the backend parser."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2781
#: src/tachyon/tabs/dashboard/initController.ts:1145
#: src/tachyon/tabs/dashboard/initController.ts:1198
msgid "Unavailability timeout"
msgstr ""
@@ -2958,7 +3059,7 @@ msgstr ""
msgid "Unsupported security mode for this protocol"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:754
#: src/tachyon/tabs/updates/initController.ts:756
msgid "Update"
msgstr ""
@@ -2966,13 +3067,13 @@ msgstr ""
msgid "Update is available"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:994
#: src/tachyon/tabs/updates/initController.ts:996
msgid "Update is available:"
msgstr ""
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:219
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:232
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:233
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:221
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:234
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:235
msgid "Update subscriptions"
msgstr ""
@@ -2980,13 +3081,13 @@ msgstr ""
msgid "Update this subscription automatically"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1558
#: src/tachyon/tabs/dashboard/initController.ts:1593
#: src/tachyon/tabs/dashboard/initController.ts:1522
#: src/tachyon/tabs/dashboard/initController.ts:1535
msgid "Uplink"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:828
#: src/tachyon/tabs/monitoring/initController.ts:880
#: src/tachyon/tabs/monitoring/initController.ts:833
#: src/tachyon/tabs/monitoring/initController.ts:885
msgid "Uploaded"
msgstr ""
@@ -3010,13 +3111,13 @@ msgstr ""
msgid "URLTest"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1042
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:385
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:386
#: src/tachyon/tabs/dashboard/initController.ts:1093
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:390
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:391
msgid "URLTest details"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:901
#: src/tachyon/tabs/dashboard/initController.ts:1053
msgid "URLTest details are unavailable"
msgstr ""
@@ -3152,8 +3253,8 @@ msgstr ""
msgid "Via country.is"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:717
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:107
#: src/tachyon/tabs/diagnostic/initController.ts:744
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:118
msgid "View logs"
msgstr ""
@@ -3201,7 +3302,7 @@ msgstr ""
msgid "YACD Secret Key"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:762
#: src/tachyon/tabs/dashboard/initController.ts:766
msgid "Yes"
msgstr ""
+80 -2
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: TACHYON\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-13 13:18+0300\n"
"PO-Revision-Date: 2026-07-13 13:18+0300\n"
"POT-Creation-Date: 2026-07-13 23:43+0300\n"
"PO-Revision-Date: 2026-07-13 23:43+0300\n"
"Last-Translator: Dushnilin\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -89,6 +89,9 @@ msgstr "Дополнительно отбирать серверы по прот
msgid "Address"
msgstr "Адрес"
msgid "Administrator Chat IDs"
msgstr ""
msgid "Advertise exit node"
msgstr "Анонсировать exit node"
@@ -134,6 +137,9 @@ msgstr "Alter ID"
msgid "Apply section rules only to the specified local IP addresses"
msgstr "Применять правила секции только к указанным локальным IP-адресам"
msgid "At least one Admin Chat ID is required"
msgstr ""
msgid "At least one valid domain must be specified."
msgstr "Нужно указать хотя бы один корректный домен."
@@ -302,6 +308,9 @@ msgstr "Закрыть подключение"
msgid "Closed"
msgstr "Закрытые"
msgid "Comma-separated list of Telegram user IDs authorized to control the bot."
msgstr ""
msgid "Component update available"
msgstr "Доступно обновление компонента"
@@ -590,12 +599,18 @@ msgstr "Включить авторизацию смешанного прокс
msgid "Enable Output Network Interface"
msgstr "Включить выходной сетевой интерфейс"
msgid "Enable Telegram Bot"
msgstr ""
msgid "Enable YACD"
msgstr "Включить YACD"
msgid "Enable YACD WAN Access"
msgstr "Включить доступ YACD WAN"
msgid "Enables the background daemon that polls Telegram for commands and sends notifications."
msgstr ""
msgid "Enter a complete sing-box inbound object"
msgstr "Введите полный объект inbound sing-box"
@@ -614,6 +629,9 @@ msgstr "Укажите корректный адрес DNS-сервера"
msgid "Enter HWID"
msgstr "Укажите HWID"
msgid "Enter the API token obtained from @BotFather."
msgstr ""
msgid "Enter the HWID sent with subscription requests"
msgstr "HWID, который будет отправляться при запросах подписки"
@@ -776,6 +794,9 @@ msgstr "Как часто проверять верхние уровни при
msgid "How often the currently selected server is checked"
msgstr "Как часто проверяется текущий выбранный сервер"
msgid "How often to check Telegram for new messages (default: 5)."
msgstr ""
msgid "How often to check the active DNS servers."
msgstr "Как часто проверять активные DNS-серверы."
@@ -1172,6 +1193,9 @@ msgstr "Наблюдаемые интерфейсы"
msgid "Monitoring"
msgstr "Мониторинг"
msgid "Must be a comma-separated list of numeric IDs"
msgstr ""
msgid "Must be a number in the range of 0 - 10000"
msgstr "Должно быть числом в диапазоне 0 - 10000"
@@ -1271,6 +1295,24 @@ msgstr "Не отвечает"
msgid "Not running"
msgstr "Не запущено"
msgid "Notify on Certificate Warnings"
msgstr ""
msgid "Notify on Core Crashes"
msgstr ""
msgid "Notify on DNS Leaks"
msgstr ""
msgid "Notify on Server Switches"
msgstr ""
msgid "Notify on Service Restarts"
msgstr ""
msgid "Notify on Subscription Updates"
msgstr ""
msgid "Obfuscation"
msgstr "Обфускация"
@@ -1361,6 +1403,12 @@ msgstr "Периодически проверять текущий уровен
msgid "Pin on dashboard"
msgstr "Закрепить в дашборде"
msgid "Polling Interval (seconds)"
msgstr ""
msgid "Polling interval must be at least 1 second"
msgstr ""
msgid "Port cannot be empty"
msgstr "Порт не может быть пустым"
@@ -1541,6 +1589,9 @@ msgstr "Правила прокси существуют"
msgid "Run Diagnostic"
msgstr "Запустить диагностику"
msgid "Run doctor repair"
msgstr ""
msgid "Russia inside restrictions"
msgstr "Ограничения Russia inside"
@@ -1631,6 +1682,24 @@ msgstr "Выбранная секция"
msgid "Selector and URLTest outbounds must contain a non-empty outbounds array"
msgstr "Selector и URLTest outbound должны содержать непустой массив outbounds"
msgid "Send a Telegram notification if a potential DNS leak is detected."
msgstr ""
msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored."
msgstr ""
msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration."
msgstr ""
msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog."
msgstr ""
msgid "Send a Telegram notification when a URLTest group switches to a new server."
msgstr ""
msgid "Send a Telegram notification when proxy subscriptions are successfully updated."
msgstr ""
msgid "Server"
msgstr "Сервер"
@@ -1874,6 +1943,12 @@ msgstr "Tailscale endpoint"
msgid "Tailscale hostname"
msgstr "Hostname Tailscale"
msgid "Telegram Bot"
msgstr ""
msgid "Telegram Bot Token"
msgstr ""
msgid "Test latency"
msgstr "Тестирование задержки"
@@ -1952,6 +2027,9 @@ msgstr "Допуск расхождения времени"
msgid "tiny"
msgstr "tiny"
msgid "Token is required when the bot is enabled"
msgstr ""
msgid "Tolerance"
msgstr "Допуск"
+74 -92
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: TACHYON\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-13 13:18+0300\n"
"PO-Revision-Date: 2026-07-13 13:18+0300\n"
"POT-Creation-Date: 2026-07-13 23:43+0300\n"
"PO-Revision-Date: 2026-07-13 23:43+0300\n"
"Last-Translator: Dushnilin\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -89,6 +89,9 @@ msgstr "Дополнительно отбирать серверы по прот
msgid "Address"
msgstr "Адрес"
msgid "Administrator Chat IDs"
msgstr ""
msgid "Advertise exit node"
msgstr "Анонсировать exit node"
@@ -134,6 +137,9 @@ msgstr "Alter ID"
msgid "Apply section rules only to the specified local IP addresses"
msgstr "Применять правила секции только к указанным локальным IP-адресам"
msgid "At least one Admin Chat ID is required"
msgstr ""
msgid "At least one valid domain must be specified."
msgstr "Нужно указать хотя бы один корректный домен."
@@ -302,6 +308,9 @@ msgstr "Закрыть подключение"
msgid "Closed"
msgstr "Закрытые"
msgid "Comma-separated list of Telegram user IDs authorized to control the bot."
msgstr ""
msgid "Component update available"
msgstr "Доступно обновление компонента"
@@ -590,12 +599,18 @@ msgstr "Включить авторизацию смешанного прокс
msgid "Enable Output Network Interface"
msgstr "Включить выходной сетевой интерфейс"
msgid "Enable Telegram Bot"
msgstr ""
msgid "Enable YACD"
msgstr "Включить YACD"
msgid "Enable YACD WAN Access"
msgstr "Включить доступ YACD WAN"
msgid "Enables the background daemon that polls Telegram for commands and sends notifications."
msgstr ""
msgid "Enter a complete sing-box inbound object"
msgstr "Введите полный объект inbound sing-box"
@@ -614,6 +629,9 @@ msgstr "Укажите корректный адрес DNS-сервера"
msgid "Enter HWID"
msgstr "Укажите HWID"
msgid "Enter the API token obtained from @BotFather."
msgstr ""
msgid "Enter the HWID sent with subscription requests"
msgstr "HWID, который будет отправляться при запросах подписки"
@@ -776,6 +794,9 @@ msgstr "Как часто проверять верхние уровни при
msgid "How often the currently selected server is checked"
msgstr "Как часто проверяется текущий выбранный сервер"
msgid "How often to check Telegram for new messages (default: 5)."
msgstr ""
msgid "How often to check the active DNS servers."
msgstr "Как часто проверять активные DNS-серверы."
@@ -1172,6 +1193,9 @@ msgstr "Наблюдаемые интерфейсы"
msgid "Monitoring"
msgstr "Мониторинг"
msgid "Must be a comma-separated list of numeric IDs"
msgstr ""
msgid "Must be a number in the range of 0 - 10000"
msgstr "Должно быть числом в диапазоне 0 - 10000"
@@ -1271,6 +1295,24 @@ msgstr "Не отвечает"
msgid "Not running"
msgstr "Не запущено"
msgid "Notify on Certificate Warnings"
msgstr ""
msgid "Notify on Core Crashes"
msgstr ""
msgid "Notify on DNS Leaks"
msgstr ""
msgid "Notify on Server Switches"
msgstr ""
msgid "Notify on Service Restarts"
msgstr ""
msgid "Notify on Subscription Updates"
msgstr ""
msgid "Obfuscation"
msgstr "Обфускация"
@@ -1361,6 +1403,12 @@ msgstr "Периодически проверять текущий уровен
msgid "Pin on dashboard"
msgstr "Закрепить в дашборде"
msgid "Polling Interval (seconds)"
msgstr ""
msgid "Polling interval must be at least 1 second"
msgstr ""
msgid "Port cannot be empty"
msgstr "Порт не может быть пустым"
@@ -1542,7 +1590,7 @@ msgid "Run Diagnostic"
msgstr "Запустить диагностику"
msgid "Run doctor repair"
msgstr "Запустить исправление (Doctor)"
msgstr ""
msgid "Russia inside restrictions"
msgstr "Ограничения Russia inside"
@@ -1634,6 +1682,24 @@ msgstr "Выбранная секция"
msgid "Selector and URLTest outbounds must contain a non-empty outbounds array"
msgstr "Selector и URLTest outbound должны содержать непустой массив outbounds"
msgid "Send a Telegram notification if a potential DNS leak is detected."
msgstr ""
msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored."
msgstr ""
msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration."
msgstr ""
msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog."
msgstr ""
msgid "Send a Telegram notification when a URLTest group switches to a new server."
msgstr ""
msgid "Send a Telegram notification when proxy subscriptions are successfully updated."
msgstr ""
msgid "Server"
msgstr "Сервер"
@@ -1878,55 +1944,10 @@ msgid "Tailscale hostname"
msgstr "Hostname Tailscale"
msgid "Telegram Bot"
msgstr "Telegram бот"
msgid "Enable Telegram Bot"
msgstr "Включить Telegram бот"
msgid "Enables the background daemon that polls Telegram for commands and sends notifications."
msgstr "Включает фоновую службу, которая опрашивает Telegram на предмет команд и отправляет уведомления."
msgstr ""
msgid "Telegram Bot Token"
msgstr "Токен Telegram-бота"
msgid "Enter the API token obtained from @BotFather."
msgstr "Введите API токен, полученный от @BotFather."
msgid "Token is required when the bot is enabled"
msgstr "Токен обязателен при включенном боте"
msgid "Administrator Chat IDs"
msgstr "Chat ID администраторов"
msgid "Comma-separated list of Telegram user IDs authorized to control the bot."
msgstr "Список ID пользователей Telegram (через запятую), которым разрешено управлять ботом."
msgid "At least one Admin Chat ID is required"
msgstr "Требуется указать как минимум один Chat ID администратора"
msgid "Must be a comma-separated list of numeric IDs"
msgstr "Должен быть списком числовых ID через запятую"
msgid "Polling Interval (seconds)"
msgstr "Интервал опроса (секунды)"
msgid "How often to check Telegram for new messages (default: 5)."
msgstr "Как часто опрашивать Telegram о наличии новых сообщений (по умолчанию: 5)."
msgid "Polling interval must be at least 1 second"
msgstr "Интервал опроса должен быть не менее 1 секунды"
msgid "Notify on Core Crashes"
msgstr "Уведомлять о падениях ядра"
msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored."
msgstr "Отправлять уведомление в Telegram, если sing-box или правила nftables падают и восстанавливаются."
msgid "Notify on Service Restarts"
msgstr "Уведомлять о перезапуске служб"
msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog."
msgstr "Отправлять уведомление в Telegram, если служба Tachyon перезапускается сторожевым таймером."
msgstr ""
msgid "Test latency"
msgstr "Тестирование задержки"
@@ -2006,6 +2027,9 @@ msgstr "Допуск расхождения времени"
msgid "tiny"
msgstr "tiny"
msgid "Token is required when the bot is enabled"
msgstr ""
msgid "Tolerance"
msgstr "Допуск"
@@ -2305,45 +2329,3 @@ msgstr "sing-box outbound для Zapret2 настроен"
msgid "Zapret2 sing-box outbound is not configured"
msgstr "sing-box outbound для Zapret2 не настроен"
msgid "Notify on Server Switches"
msgstr "Оповещать при переключении серверов"
msgid "Send a Telegram notification when a URLTest group switches to a new server."
msgstr "Отправлять уведомление в Telegram при переключении группы URLTest на другой сервер."
msgid "Notify on Subscription Updates"
msgstr "Оповещать об обновлении подписок"
msgid "Send a Telegram notification when proxy subscriptions are successfully updated."
msgstr "Отправлять уведомление в Telegram при успешном обновлении подписок прокси."
msgid "Notify on Certificate Warnings"
msgstr "Оповещать о предупреждениях сертификатов"
msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration."
msgstr "Отправлять уведомление в Telegram при скором истечении срока действия SSL/TLS-сертификатов."
msgid "Notify on DNS Leaks"
msgstr "Оповещать об утечках DNS"
msgid "Send a Telegram notification if a potential DNS leak is detected."
msgstr "Отправлять уведомление в Telegram при обнаружении потенциальной утечки DNS."
msgid "Through sections"
msgstr "Через секции"
msgid "Add to..."
msgstr "Добавить в..."
msgid "Domain added to %s"
msgstr "Домен добавлен в %s"
msgid "Domain already exists in this section"
msgstr "Домен уже добавлен в эту секцию"
msgid "Failed to add domain"
msgstr "Не удалось добавить домен"
msgid "Add to"
msgstr "Добавить в"
+253 -152
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: TACHYON\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-13 10:18+0300\n"
"PO-Revision-Date: 2026-07-13 10:18+0300\n"
"POT-Creation-Date: 2026-07-13 20:43+0300\n"
"PO-Revision-Date: 2026-07-13 20:43+0300\n"
"Last-Translator: Dushnilin <dushnilin@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -41,13 +41,13 @@ msgstr ""
msgid "+ Add URLTest"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1675
#: src/tachyon/tabs/dashboard/initController.ts:1686
#: src/tachyon/tabs/dashboard/initController.ts:1563
#: src/tachyon/tabs/dashboard/initController.ts:1572
msgid "✔ Running"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1676
#: src/tachyon/tabs/dashboard/initController.ts:1687
#: src/tachyon/tabs/dashboard/initController.ts:1563
#: src/tachyon/tabs/dashboard/initController.ts:1572
msgid "✘ Stopped"
msgstr ""
@@ -73,7 +73,7 @@ msgstr ""
msgid "Active Bootstrap DNS"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1633
#: src/tachyon/tabs/dashboard/initController.ts:1548
msgid "Active Connections"
msgstr ""
@@ -124,6 +124,10 @@ msgstr ""
msgid "Address"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:715
msgid "Administrator Chat IDs"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3116
msgid "Advertise exit node"
msgstr ""
@@ -133,7 +137,7 @@ msgid "Advertise routes"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:626
#: src/tachyon/tabs/monitoring/render.ts:39
#: src/tachyon/tabs/monitoring/render.ts:40
msgid "All"
msgstr ""
@@ -185,6 +189,10 @@ msgstr ""
msgid "Apply section rules only to the specified local IP addresses"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:723
msgid "At least one Admin Chat ID is required"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:4752
msgid "At least one valid domain must be specified."
msgstr ""
@@ -222,11 +230,11 @@ msgid "Automatically check installed components for new versions"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2818
#: src/tachyon/tabs/dashboard/initController.ts:1155
#: src/tachyon/tabs/dashboard/initController.ts:1208
msgid "Automatically select the fastest node in the current level"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:43
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:45
msgid "Available actions"
msgstr ""
@@ -353,7 +361,7 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2301
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2769
#: src/tachyon/tabs/dashboard/initController.ts:1142
#: src/tachyon/tabs/dashboard/initController.ts:1195
msgid "Check interval"
msgstr ""
@@ -361,17 +369,17 @@ msgstr ""
msgid "Check timeout after which the server is considered dead"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:740
#: src/tachyon/tabs/updates/initController.ts:742
msgid "Check update"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2327
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2756
#: src/tachyon/tabs/dashboard/initController.ts:1140
#: src/tachyon/tabs/dashboard/initController.ts:1193
msgid "Check URL"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:1022
#: src/tachyon/tabs/diagnostic/initController.ts:1058
#: src/tachyon/tabs/diagnostic/checks/runByedpiCheck.ts:14
#: src/tachyon/tabs/diagnostic/checks/runDnsCheck.ts:15
#: src/tachyon/tabs/diagnostic/checks/runFakeIPCheck.ts:15
@@ -426,20 +434,19 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:3071
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1718
#: src/partials/modal/renderModal.ts:263
#: src/tachyon/tabs/dashboard/initController.ts:1027
#: src/tachyon/tabs/dashboard/initController.ts:1283
#: src/tachyon/tabs/monitoring/initController.ts:832
#: src/tachyon/tabs/monitoring/initController.ts:882
#: src/tachyon/tabs/dashboard/initController.ts:1040
#: src/tachyon/tabs/monitoring/initController.ts:837
#: src/tachyon/tabs/monitoring/initController.ts:887
msgid "Close"
msgstr ""
#: src/tachyon/tabs/monitoring/render.ts:58
#: src/tachyon/tabs/monitoring/render.ts:59
#: src/tachyon/tabs/monitoring/render.ts:60
msgid "Close all connections"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:799
#: src/tachyon/tabs/monitoring/initController.ts:800
#: src/tachyon/tabs/monitoring/initController.ts:804
#: src/tachyon/tabs/monitoring/initController.ts:805
msgid "Close connection"
msgstr ""
@@ -448,6 +455,10 @@ msgstr ""
msgid "Closed"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:716
msgid "Comma-separated list of Telegram user IDs authorized to control the bot."
msgstr ""
#: src/tachyon/services/core.service.ts:43
msgid "Component update available"
msgstr ""
@@ -456,7 +467,7 @@ msgstr ""
msgid "Component update check interval"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:473
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:485
msgid "Components"
msgstr ""
@@ -492,11 +503,11 @@ msgstr ""
msgid "Connection URL"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:946
#: src/tachyon/tabs/monitoring/initController.ts:951
msgid "Connections are unavailable"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:145
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:146
msgid "Connectivity probe failed"
msgstr ""
@@ -510,10 +521,9 @@ msgstr ""
msgid "Copy"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:997
#: src/tachyon/tabs/dashboard/initController.ts:1253
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:366
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:367
#: src/tachyon/tabs/dashboard/initController.ts:1010
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:371
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:372
msgid "Copy proxy link"
msgstr ""
@@ -537,7 +547,7 @@ msgstr ""
msgid "Custom outbound configurations in JSON format"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:449
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:461
msgid "Dashboard"
msgstr ""
@@ -586,7 +596,7 @@ msgstr ""
msgid "DHCP is managed manually"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:437
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:449
msgid "Diagnostics"
msgstr ""
@@ -598,7 +608,7 @@ msgstr ""
msgid "Direct connection"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:79
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:81
msgid "Disable autostart"
msgstr ""
@@ -747,8 +757,8 @@ msgstr ""
msgid "Dont Touch My DHCP!"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1559
#: src/tachyon/tabs/dashboard/initController.ts:1597
#: src/tachyon/tabs/dashboard/initController.ts:1523
#: src/tachyon/tabs/dashboard/initController.ts:1536
msgid "Downlink"
msgstr ""
@@ -792,8 +802,8 @@ msgstr ""
msgid "Download through"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:825
#: src/tachyon/tabs/monitoring/initController.ts:879
#: src/tachyon/tabs/monitoring/initController.ts:830
#: src/tachyon/tabs/monitoring/initController.ts:884
msgid "Downloaded"
msgstr ""
@@ -829,7 +839,7 @@ msgstr ""
msgid "Enable automatic updates for remote lists and rule sets"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:89
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:91
msgid "Enable autostart"
msgstr ""
@@ -853,6 +863,10 @@ msgstr ""
msgid "Enable Output Network Interface"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:690
msgid "Enable Telegram Bot"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:413
msgid "Enable YACD"
msgstr ""
@@ -861,6 +875,10 @@ msgstr ""
msgid "Enable YACD WAN Access"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:691
msgid "Enables the background daemon that polls Telegram for commands and sends notifications."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2586
msgid "Enter a complete sing-box inbound object"
msgstr ""
@@ -889,6 +907,10 @@ msgstr ""
msgid "Enter HWID"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:700
msgid "Enter the API token obtained from @BotFather."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2171
msgid "Enter the HWID sent with subscription requests"
msgstr ""
@@ -957,13 +979,13 @@ msgstr ""
msgid "External nfqws2 config files bypass Tachyon queue management and explicit validation."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:1213
#: src/tachyon/tabs/monitoring/initController.ts:1228
#: src/tachyon/tabs/monitoring/initController.ts:1218
#: src/tachyon/tabs/monitoring/initController.ts:1233
msgid "Failed to close connection"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:1247
#: src/tachyon/tabs/monitoring/initController.ts:1260
#: src/tachyon/tabs/monitoring/initController.ts:1252
#: src/tachyon/tabs/monitoring/initController.ts:1265
msgid "Failed to close connections"
msgstr ""
@@ -976,18 +998,18 @@ msgstr ""
#: src/tachyon/methods/shell/index.ts:177
#: src/tachyon/tabs/updates/initController.ts:508
#: src/tachyon/tabs/updates/initController.ts:509
#: src/tachyon/tabs/updates/initController.ts:569
#: src/tachyon/tabs/updates/initController.ts:719
#: src/tachyon/tabs/updates/initController.ts:571
#: src/tachyon/tabs/updates/initController.ts:721
msgid "Failed to execute"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:275
#: src/tachyon/tabs/dashboard/initController.ts:276
#: src/tachyon/tabs/dashboard/initController.ts:295
#: src/tachyon/tabs/dashboard/initController.ts:341
#: src/tachyon/tabs/dashboard/initController.ts:345
#: src/tachyon/tabs/dashboard/initController.ts:1341
#: src/tachyon/tabs/dashboard/initController.ts:1345
#: src/tachyon/tabs/dashboard/initController.ts:277
#: src/tachyon/tabs/dashboard/initController.ts:296
#: src/tachyon/tabs/dashboard/initController.ts:342
#: src/tachyon/tabs/dashboard/initController.ts:346
#: src/tachyon/tabs/dashboard/initController.ts:1286
#: src/tachyon/tabs/dashboard/initController.ts:1290
msgid "Failed to update subscriptions"
msgstr ""
@@ -1012,7 +1034,7 @@ msgid "Fallback on unknown DC"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2829
#: src/tachyon/tabs/dashboard/initController.ts:1161
#: src/tachyon/tabs/dashboard/initController.ts:1214
msgid "Faster server search interval"
msgstr ""
@@ -1056,11 +1078,11 @@ msgstr ""
msgid "Generated inbound"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:98
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:100
msgid "Get global check"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:682
#: src/tachyon/tabs/diagnostic/initController.ts:684
msgid "Global check"
msgstr ""
@@ -1106,7 +1128,7 @@ msgid "Hide values"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2793
#: src/tachyon/tabs/dashboard/initController.ts:1147
#: src/tachyon/tabs/dashboard/initController.ts:1200
msgid "Higher-level check interval"
msgstr ""
@@ -1114,8 +1136,8 @@ msgstr ""
msgid "Higher-priority DNS Check"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:815
#: src/tachyon/tabs/monitoring/initController.ts:875
#: src/tachyon/tabs/monitoring/initController.ts:820
#: src/tachyon/tabs/monitoring/initController.ts:880
msgid "Host"
msgstr ""
@@ -1127,6 +1149,10 @@ msgstr ""
msgid "How often the currently selected server is checked"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:736
msgid "How often to check Telegram for new messages (default: 5)."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:197
msgid "How often to check the active DNS servers."
msgstr ""
@@ -1149,7 +1175,7 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2340
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:3063
#: src/tachyon/tabs/dashboard/initController.ts:916
#: src/tachyon/tabs/dashboard/initController.ts:1068
msgid "Idle timeout"
msgstr ""
@@ -1201,16 +1227,16 @@ msgstr ""
msgid "Information"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:754
#: src/tachyon/tabs/updates/initController.ts:756
msgid "Install"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:1159
#: src/tachyon/tabs/updates/initController.ts:1161
msgid "Install another build:"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:291
#: src/tachyon/tabs/updates/initController.ts:1017
#: src/tachyon/tabs/updates/initController.ts:1019
msgid "Installed version is newer than release"
msgstr ""
@@ -1228,8 +1254,8 @@ msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2354
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2845
#: src/tachyon/tabs/dashboard/initController.ts:918
#: src/tachyon/tabs/dashboard/initController.ts:1167
#: src/tachyon/tabs/dashboard/initController.ts:1070
#: src/tachyon/tabs/dashboard/initController.ts:1220
msgid "Interrupt existing connections"
msgstr ""
@@ -1241,7 +1267,7 @@ msgstr ""
msgid "Interrupt existing connections when URLTest switches the selected server"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:914
#: src/tachyon/tabs/dashboard/initController.ts:1066
msgid "Interval"
msgstr ""
@@ -1576,15 +1602,15 @@ msgid "Latency test URL"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:294
#: src/tachyon/tabs/updates/initController.ts:1015
#: src/tachyon/tabs/updates/initController.ts:1017
msgid "Latest version is installed"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:1017
#: src/tachyon/tabs/updates/initController.ts:1019
msgid "Latest version:"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1100
#: src/tachyon/tabs/dashboard/initController.ts:1153
msgid "Level"
msgstr ""
@@ -1616,16 +1642,16 @@ msgstr ""
msgid "Loading client link..."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:936
#: src/tachyon/tabs/monitoring/render.ts:88
#: src/tachyon/tabs/monitoring/initController.ts:941
#: src/tachyon/tabs/monitoring/render.ts:92
msgid "Loading connections"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:905
#: src/tachyon/tabs/updates/initController.ts:916
#: src/tachyon/tabs/updates/initController.ts:927
#: src/tachyon/tabs/updates/initController.ts:940
#: src/tachyon/tabs/updates/initController.ts:953
#: src/tachyon/tabs/updates/initController.ts:907
#: src/tachyon/tabs/updates/initController.ts:918
#: src/tachyon/tabs/updates/initController.ts:929
#: src/tachyon/tabs/updates/initController.ts:942
#: src/tachyon/tabs/updates/initController.ts:955
msgid "Loading..."
msgstr ""
@@ -1653,7 +1679,7 @@ msgstr ""
msgid "Maximum time to wait for example.com to resolve during a DNS health check."
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1637
#: src/tachyon/tabs/dashboard/initController.ts:1549
msgid "Memory Usage"
msgstr ""
@@ -1681,10 +1707,14 @@ msgstr ""
msgid "Monitored Interfaces"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:461
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:473
msgid "Monitoring"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:726
msgid "Must be a comma-separated list of numeric IDs"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1804
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:1819
msgid "Must be a number in the range of 0 - 10000"
@@ -1738,18 +1768,18 @@ msgstr ""
msgid "NFQWS2 strategy cannot be empty"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:762
#: src/tachyon/tabs/dashboard/initController.ts:766
#: src/tachyon/tabs/dashboard/initController.ts:842
#: src/tachyon/tabs/dashboard/initController.ts:1055
#: src/tachyon/tabs/dashboard/initController.ts:770
#: src/tachyon/tabs/dashboard/initController.ts:846
#: src/tachyon/tabs/dashboard/initController.ts:1106
msgid "No"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:960
#: src/tachyon/tabs/monitoring/initController.ts:965
msgid "No active connections"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:961
#: src/tachyon/tabs/monitoring/initController.ts:966
msgid "No closed connections"
msgstr ""
@@ -1781,13 +1811,11 @@ msgstr ""
msgid "No rules use Zapret2"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1012
#: src/tachyon/tabs/dashboard/initController.ts:1268
#: src/tachyon/tabs/dashboard/initController.ts:1025
msgid "Node list is empty"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:942
#: src/tachyon/tabs/dashboard/initController.ts:1191
#: src/tachyon/tabs/dashboard/initController.ts:930
msgid "Nodes"
msgstr ""
@@ -1807,15 +1835,15 @@ msgstr ""
msgid "Not detected"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:189
#: src/tachyon/tabs/diagnostic/partials/renderCheckSection.ts:193
msgid "Not implement yet"
msgstr ""
#: src/tachyon/helpers/singBoxVariant.ts:29
#: src/tachyon/helpers/singBoxVariant.ts:37
#: src/tachyon/tabs/updates/initController.ts:930
#: src/tachyon/tabs/updates/initController.ts:943
#: src/tachyon/tabs/updates/initController.ts:956
#: src/tachyon/tabs/updates/initController.ts:932
#: src/tachyon/tabs/updates/initController.ts:945
#: src/tachyon/tabs/updates/initController.ts:958
msgid "Not installed"
msgstr ""
@@ -1827,14 +1855,14 @@ msgstr ""
msgid "Not required for this listen address"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:90
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:117
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:123
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:151
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:91
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:118
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:124
#: src/tachyon/tabs/diagnostic/checks/runSectionsCheck.ts:152
msgid "Not responding"
msgstr ""
#: src/tachyon/tabs/diagnostic/diagnostic.store.ts:125
#: src/tachyon/tabs/diagnostic/diagnostic.store.ts:128
#: src/tachyon/tabs/diagnostic/initController.ts:116
#: src/tachyon/tabs/diagnostic/initController.ts:346
#: src/tachyon/tabs/diagnostic/initController.ts:403
@@ -1842,6 +1870,30 @@ msgstr ""
msgid "Not running"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:792
msgid "Notify on Certificate Warnings"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:752
msgid "Notify on Core Crashes"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:802
msgid "Notify on DNS Leaks"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:772
msgid "Notify on Server Switches"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:762
msgid "Notify on Service Restarts"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:782
msgid "Notify on Subscription Updates"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:2900
msgid "Obfuscation"
msgstr ""
@@ -1884,8 +1936,8 @@ msgstr ""
msgid "Only the specified servers."
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:1008
#: src/tachyon/tabs/updates/initController.ts:1030
#: src/tachyon/tabs/updates/initController.ts:1010
#: src/tachyon/tabs/updates/initController.ts:1032
msgid "Open"
msgstr ""
@@ -1954,8 +2006,8 @@ msgid "Path must end with cache.db"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:691
#: src/tachyon/tabs/monitoring/render.ts:70
#: src/tachyon/tabs/monitoring/render.ts:71
#: src/tachyon/tabs/monitoring/render.ts:72
msgid "Pause updates"
msgstr ""
@@ -1972,6 +2024,14 @@ msgstr ""
msgid "Pin on dashboard"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:735
msgid "Polling Interval (seconds)"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:744
msgid "Polling interval must be at least 1 second"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7174
msgid "Port cannot be empty"
msgstr ""
@@ -2017,13 +2077,13 @@ msgstr ""
msgid "Priority"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1298
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:404
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:405
#: src/tachyon/tabs/dashboard/initController.ts:1243
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:409
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:410
msgid "Priority details"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1128
#: src/tachyon/tabs/dashboard/initController.ts:1181
msgid "Priority details are unavailable"
msgstr ""
@@ -2048,7 +2108,7 @@ msgstr ""
msgid "Protocol"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:757
#: src/tachyon/tabs/dashboard/initController.ts:761
msgid "Proxy link is unavailable"
msgstr ""
@@ -2101,7 +2161,7 @@ msgstr ""
msgid "Regular expression must not contain spaces or commas"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:799
#: src/tachyon/tabs/updates/initController.ts:801
msgid "Remove"
msgstr ""
@@ -2145,7 +2205,7 @@ msgstr ""
msgid "Resource selection by IP or CIDR inside nfqws2 is not supported here; sing-box selects resources before NFQUEUE."
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:49
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:51
msgid "Restart Tachyon"
msgstr ""
@@ -2153,8 +2213,8 @@ msgstr ""
msgid "Resume updates"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:819
#: src/tachyon/tabs/monitoring/initController.ts:877
#: src/tachyon/tabs/monitoring/initController.ts:824
#: src/tachyon/tabs/monitoring/initController.ts:882
msgid "Route"
msgstr ""
@@ -2225,6 +2285,11 @@ msgstr ""
msgid "Run Diagnostic"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:709
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:109
msgid "Run doctor repair"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:7405
msgid "Russia inside restrictions"
msgstr ""
@@ -2233,7 +2298,7 @@ msgstr ""
msgid "Save"
msgstr ""
#: src/tachyon/tabs/monitoring/render.ts:47
#: src/tachyon/tabs/monitoring/render.ts:48
msgid "Search"
msgstr ""
@@ -2316,7 +2381,7 @@ msgid "Select path for sing-box config file. Change this ONLY if you know what y
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2807
#: src/tachyon/tabs/dashboard/initController.ts:1151
#: src/tachyon/tabs/dashboard/initController.ts:1204
msgid "Select the fastest node"
msgstr ""
@@ -2336,8 +2401,8 @@ msgstr ""
msgid "Select the WAN interfaces to be monitored"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:910
#: src/tachyon/tabs/dashboard/initController.ts:1137
#: src/tachyon/tabs/dashboard/initController.ts:1062
#: src/tachyon/tabs/dashboard/initController.ts:1190
msgid "Selected"
msgstr ""
@@ -2349,6 +2414,30 @@ msgstr ""
msgid "Selector and URLTest outbounds must contain a non-empty outbounds array"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:803
msgid "Send a Telegram notification if a potential DNS leak is detected."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:753
msgid "Send a Telegram notification if sing-box or nftables rules crash and get auto-restored."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:793
msgid "Send a Telegram notification if SSL/TLS certificates are close to expiration."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:763
msgid "Send a Telegram notification if the Tachyon service is restarted by the watchdog."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:773
msgid "Send a Telegram notification when a URLTest group switches to a new server."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:783
msgid "Send a Telegram notification when proxy subscriptions are successfully updated."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:413
msgid "Server"
msgstr ""
@@ -2397,7 +2486,7 @@ msgstr ""
#: src/tachyon/methods/shell/index.ts:383
#: src/tachyon/methods/shell/index.ts:404
#: src/tachyon/tabs/diagnostic/initController.ts:594
#: src/tachyon/tabs/diagnostic/initController.ts:596
msgid "Service action failed"
msgstr ""
@@ -2405,7 +2494,7 @@ msgstr ""
msgid "Service list"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1670
#: src/tachyon/tabs/dashboard/initController.ts:1559
msgid "Services info"
msgstr ""
@@ -2419,8 +2508,8 @@ msgstr ""
msgid "Show metadata on dashboard"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:751
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:116
#: src/tachyon/tabs/diagnostic/initController.ts:779
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:127
msgid "Show sing-box config"
msgstr ""
@@ -2468,8 +2557,8 @@ msgstr ""
msgid "Sorts servers in this section by lowest latency in the dashboard."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:831
#: src/tachyon/tabs/monitoring/initController.ts:881
#: src/tachyon/tabs/monitoring/initController.ts:836
#: src/tachyon/tabs/monitoring/initController.ts:886
msgid "Source"
msgstr ""
@@ -2514,7 +2603,7 @@ msgstr ""
msgid "Standalone Zapret service is inactive"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:123
msgid "Standalone Zapret2 autostart is enabled"
msgstr ""
@@ -2522,15 +2611,15 @@ msgstr ""
msgid "Standalone Zapret2 is active together with Tachyon Zapret2 rules"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:119
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:121
msgid "Standalone Zapret2 service is active"
msgstr ""
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:122
#: src/tachyon/tabs/diagnostic/checks/runZapret2Check.ts:124
msgid "Standalone Zapret2 service is inactive"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:69
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:71
msgid "Start Tachyon"
msgstr ""
@@ -2538,7 +2627,7 @@ msgstr ""
msgid "Stop checking when URLTest group is not used. Use sing-box duration format like 1d, 12h or 30m."
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:59
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:61
msgid "Stop Tachyon"
msgstr ""
@@ -2554,8 +2643,8 @@ msgstr ""
msgid "Subscription info:"
msgstr ""
#: src/tachyon/methods/shell/index.ts:720
#: src/tachyon/methods/shell/index.ts:740
#: src/tachyon/methods/shell/index.ts:724
#: src/tachyon/methods/shell/index.ts:744
msgid "Subscription update failed"
msgstr ""
@@ -2575,15 +2664,15 @@ msgstr ""
msgid "Subscription URL settings"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:301
#: src/tachyon/tabs/dashboard/initController.ts:302
msgid "Subscriptions updated"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1630
#: src/tachyon/tabs/dashboard/initController.ts:1546
msgid "System info"
msgstr ""
#: src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:21
#: src/tachyon/tabs/diagnostic/partials/renderSystemInfo.ts:24
msgid "System information"
msgstr ""
@@ -2611,7 +2700,7 @@ msgstr ""
msgid "Tachyon manages the nfqws2 process lifecycle itself, so daemon mode is not allowed here."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:925
#: src/tachyon/tabs/monitoring/initController.ts:930
msgid "Tachyon service is stopped. Start the service to display connections."
msgstr ""
@@ -2683,9 +2772,17 @@ msgstr ""
msgid "Tailscale hostname"
msgstr ""
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:242
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:250
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:491
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/tachyon.js:437
msgid "Telegram Bot"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:699
msgid "Telegram Bot Token"
msgstr ""
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:244
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:252
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:507
msgid "Test latency"
msgstr ""
@@ -2713,7 +2810,7 @@ msgstr ""
msgid "Test servers whose names match the expression."
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:913
#: src/tachyon/tabs/dashboard/initController.ts:1065
msgid "Testing URL"
msgstr ""
@@ -2781,8 +2878,8 @@ msgstr ""
msgid "This option requires a value."
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:822
#: src/tachyon/tabs/monitoring/initController.ts:878
#: src/tachyon/tabs/monitoring/initController.ts:827
#: src/tachyon/tabs/monitoring/initController.ts:883
msgid "Time"
msgstr ""
@@ -2798,8 +2895,12 @@ msgstr ""
msgid "tiny"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/settings.js:707
msgid "Token is required when the bot is enabled"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2313
#: src/tachyon/tabs/dashboard/initController.ts:915
#: src/tachyon/tabs/dashboard/initController.ts:1067
msgid "Tolerance"
msgstr ""
@@ -2807,7 +2908,7 @@ msgstr ""
msgid "Top level has the highest priority; lower levels are used as fallback"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1556
#: src/tachyon/tabs/dashboard/initController.ts:1520
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:130
msgid "Traffic"
msgstr ""
@@ -2816,7 +2917,7 @@ msgstr ""
msgid "Traffic for this level goes directly."
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1590
#: src/tachyon/tabs/dashboard/initController.ts:1533
msgid "Traffic Total"
msgstr ""
@@ -2858,8 +2959,8 @@ msgid "TTL value cannot be empty"
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/server.js:1638
#: src/tachyon/tabs/monitoring/initController.ts:816
#: src/tachyon/tabs/monitoring/initController.ts:876
#: src/tachyon/tabs/monitoring/initController.ts:821
#: src/tachyon/tabs/monitoring/initController.ts:881
msgid "Type"
msgstr ""
@@ -2883,7 +2984,7 @@ msgid "Unable to validate the NFQWS2 strategy through the backend parser."
msgstr ""
#: ../luci-app-tachyon/htdocs/luci-static/resources/view/tachyon/section.js:2781
#: src/tachyon/tabs/dashboard/initController.ts:1145
#: src/tachyon/tabs/dashboard/initController.ts:1198
msgid "Unavailability timeout"
msgstr ""
@@ -2958,7 +3059,7 @@ msgstr ""
msgid "Unsupported security mode for this protocol"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:754
#: src/tachyon/tabs/updates/initController.ts:756
msgid "Update"
msgstr ""
@@ -2966,13 +3067,13 @@ msgstr ""
msgid "Update is available"
msgstr ""
#: src/tachyon/tabs/updates/initController.ts:994
#: src/tachyon/tabs/updates/initController.ts:996
msgid "Update is available:"
msgstr ""
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:219
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:232
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:233
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:221
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:234
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:235
msgid "Update subscriptions"
msgstr ""
@@ -2980,13 +3081,13 @@ msgstr ""
msgid "Update this subscription automatically"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1558
#: src/tachyon/tabs/dashboard/initController.ts:1593
#: src/tachyon/tabs/dashboard/initController.ts:1522
#: src/tachyon/tabs/dashboard/initController.ts:1535
msgid "Uplink"
msgstr ""
#: src/tachyon/tabs/monitoring/initController.ts:828
#: src/tachyon/tabs/monitoring/initController.ts:880
#: src/tachyon/tabs/monitoring/initController.ts:833
#: src/tachyon/tabs/monitoring/initController.ts:885
msgid "Uploaded"
msgstr ""
@@ -3010,13 +3111,13 @@ msgstr ""
msgid "URLTest"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:1042
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:385
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:386
#: src/tachyon/tabs/dashboard/initController.ts:1093
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:390
#: src/tachyon/tabs/dashboard/partials/renderSections.ts:391
msgid "URLTest details"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:901
#: src/tachyon/tabs/dashboard/initController.ts:1053
msgid "URLTest details are unavailable"
msgstr ""
@@ -3152,8 +3253,8 @@ msgstr ""
msgid "Via country.is"
msgstr ""
#: src/tachyon/tabs/diagnostic/initController.ts:717
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:107
#: src/tachyon/tabs/diagnostic/initController.ts:744
#: src/tachyon/tabs/diagnostic/partials/renderAvailableActions.ts:118
msgid "View logs"
msgstr ""
@@ -3201,7 +3302,7 @@ msgstr ""
msgid "YACD Secret Key"
msgstr ""
#: src/tachyon/tabs/dashboard/initController.ts:762
#: src/tachyon/tabs/dashboard/initController.ts:766
msgid "Yes"
msgstr ""
@@ -258,6 +258,15 @@ function item_option(section, key, item, option_name, fallback) {
return as_string(value);
}
function bool_value(value, fallback) {
if (value == null)
return !!fallback;
if (type(value) == "boolean")
return value;
value = lc(as_string(value));
return value == "1" || value == "true" || value == "yes" || value == "on";
}
function item_bool(section, key, item, option_name, fallback) {
return bool_value(item_settings(section, key, item)[option_name], fallback);
}
@@ -973,6 +982,7 @@ return {
set_item_sections,
set_item_sections_from_cursor,
set_item_sections_from_data,
item_index_from_cursor,
settings_map,
item_settings,
item_option,
+1 -1
View File
@@ -8,7 +8,7 @@ let shell_quote = common.shell_quote;
let command_exists = common.command_exists;
let command_from_args = common.command_from_args;
let command_output = common.command_output;
let command_output = common.command_output_from_args;
+1
View File
@@ -191,6 +191,7 @@ return {
scheme,
fragment,
strip_fragment,
strip_anchored_scheme,
host,
port,
userinfo,
+11 -2
View File
@@ -19,8 +19,6 @@ let common = require("core.common");
let as_string = common.as_string;
let shell_quote = common.shell_quote;
let read_json_file = common.read_json_file;
let list_option = common.list_option;
let command_success_from_args = common.command_success_from_args;
let bool_option = common.bool_option;
let command_output_from_args = common.command_output_from_args;
@@ -31,6 +29,17 @@ let read_stdin = common.read_stdin;
let read_stdin_json = common.read_stdin_json;
let option = common.option;
function list_option(section, key, fallback) {
let value = object_or_empty(section)[key];
if (type(value) == "array")
return value;
value = trim(as_string(value));
if (value != "")
return split(value, /[ \t\r\n]+/);
fallback = as_string(fallback);
return fallback == "" ? [] : [ fallback ];
}
@@ -11,6 +11,7 @@ const OFFSET_FILE = "/var/run/tachyon_telegram_offset";
let as_string = common.as_string;
let shell_quote = common.shell_quote;
let object_or_empty = common.object_or_empty;
let command_status = common.command_status;
let command_success_from_args = common.command_success_from_args;
+1 -1
View File
@@ -36,7 +36,7 @@ let as_string = common.as_string;
let shell_quote = common.shell_quote;
let command_output = common.command_output;
let write_json = common.write_json;
let write_json = common.write_json_file;
let list_option = common.list_option;
let command_success_from_args = common.command_success_from_args;
let bool_option = common.bool_option;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+19
View File
@@ -0,0 +1,19 @@
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
git \
libjson-c-dev \
pkg-config \
nodejs \
&& rm -rf /var/lib/apt/lists/*
RUN git clone --depth 1 --branch v0.0.20250529 https://github.com/jow-/ucode.git /tmp/ucode \
&& cmake -S /tmp/ucode -B /tmp/ucode/build -DUBUS_SUPPORT=OFF -DUCI_SUPPORT=OFF -DULOOP_SUPPORT=OFF \
&& cmake --build /tmp/ucode/build --parallel \
&& cmake --install /tmp/ucode/build \
&& ldconfig \
&& rm -rf /tmp/ucode
+6 -6
View File
@@ -33,28 +33,28 @@ if (actual !== expected) {
NODE
}
valid_json="$(ucode -- "$VALIDATOR" validate-json '--disorder 3 --fake-sni example.org -N')"
valid_json="$(ucode -L "$TACHYON_LIB" -- "$VALIDATOR" validate-json '--disorder 3 --fake-sni example.org -N')"
assert_json_field "$valid_json" valid true
configured="$(ucode -- "$VALIDATOR" strategy-or-default "$(printf -- '--disorder\t3\n--fake-sni example.org')" '--default 1')"
configured="$(ucode -L "$TACHYON_LIB" -- "$VALIDATOR" strategy-or-default "$(printf -- '--disorder\t3\n--fake-sni example.org')" '--default 1')"
[ "$configured" = "--disorder 3 --fake-sni example.org" ] ||
fail "configured strategy should be normalized, got '$configured'"
defaulted="$(ucode -- "$VALIDATOR" strategy-or-default "" "$(printf -- '--default\t1')")"
defaulted="$(ucode -L "$TACHYON_LIB" -- "$VALIDATOR" strategy-or-default "" "$(printf -- '--default\t1')")"
[ "$defaulted" = "--default 1" ] ||
fail "empty strategy should use normalized default, got '$defaulted'"
invalid_json="$(ucode -- "$VALIDATOR" validate-json '--port 1080 --disorder 3')"
invalid_json="$(ucode -L "$TACHYON_LIB" -- "$VALIDATOR" validate-json '--port 1080 --disorder 3')"
assert_json_field "$invalid_json" valid false
assert_json_field "$invalid_json" needle --port
if ucode -- "$VALIDATOR" validate '--transparent' >/tmp/byedpi-validator.out 2>/dev/null; then
if ucode -L "$TACHYON_LIB" -- "$VALIDATOR" validate '--transparent' >/tmp/byedpi-validator.out 2>/dev/null; then
fail "controlled transparent mode should be rejected"
fi
grep -q 'Transparent proxy mode is incompatible' /tmp/byedpi-validator.out ||
fail "reject message should explain transparent mode"
if ucode -- "$VALIDATOR" validate '--disorder --fake example.org' >/dev/null 2>&1; then
if ucode -L "$TACHYON_LIB" -- "$VALIDATOR" validate '--disorder --fake example.org' >/dev/null 2>&1; then
fail "missing value should be rejected"
fi
+17
View File
@@ -10,6 +10,21 @@ UPDATES_UC="$ROOT_DIR/tachyon/files/usr/lib/components/updates.uc"
ACTION_UC="$ROOT_DIR/tachyon/files/usr/lib/components/action.uc"
WORK_DIR="$(mktemp -d)"
ucode() {
local has_L=0
for arg in "$@"; do
if [ "$arg" = "-L" ]; then
has_L=1
break
fi
done
if [ "$has_L" -eq 1 ]; then
command ucode "$@"
else
command ucode -L "$TACHYON_LIB" "$@"
fi
}
cleanup() {
rm -rf "$WORK_DIR"
}
@@ -137,6 +152,7 @@ assert_eq "extracted payload" "$(cat "$command_success_output")" \
"component command success preserves explicit output redirection"
awk '
{ sub(/\r$/, "") }
prev2 == " remove_file(archive_file);" &&
prev1 == " stop_tachyon_before_sing_box_change();" &&
$0 == " let new_version = validate_sing_box_extended_binary(tmp_binary, tmp_dir);" {
@@ -166,6 +182,7 @@ package_runtime_lib="$WORK_DIR/package-runtime-lib"
package_runtime_bin="$WORK_DIR/package-runtime-bin"
mkdir -p "$package_runtime_lib/components" "$package_runtime_lib/core" "$package_runtime_lib/singbox" "$package_runtime_bin"
cp "$UPDATER" "$package_runtime_lib/components/updater.uc"
cp "$TACHYON_LIB/core/common.uc" "$package_runtime_lib/core/common.uc"
cat >"$package_runtime_lib/core/constants.uc" <<'UCODE'
function module_exports() {
return {};
+1 -1
View File
@@ -52,7 +52,7 @@ function cursor() {
return { cursor };
UCODE
ucode -I "$WORK_DIR" -L "$TACHYON_LIB" -e '
ucode -L "$WORK_DIR" -L "$TACHYON_LIB" -e '
let connections = require("config.connections");
let cursor = require("uci").cursor();
+2 -1
View File
@@ -82,7 +82,8 @@ if (matrix.stable.version !== "0.7.19.9") {
function uiValues(field) {
const result = new Set();
for (const entry of field?.ui || []) {
const entries = (field && field.ui) || [];
for (const entry of entries) {
for (const value of entry.values || []) {
result.add(value);
}
+1 -1
View File
@@ -28,7 +28,7 @@ validate_fixture() {
node - "$source" "$normalized" <<'JS'
const fs = require('fs');
const input = JSON.parse(fs.readFileSync(process.argv[2], 'utf8'));
input.settings ??= { '.name': 'settings', '.type': 'settings' };
if (input.settings === undefined || input.settings === null) input.settings = { '.name': 'settings', '.type': 'settings' };
if (input.settings.dns_server === undefined) input.settings.dns_server = ['77.88.8.8'];
if (input.settings.bootstrap_dns_server === undefined) input.settings.bootstrap_dns_server = ['77.88.8.8'];
fs.writeFileSync(process.argv[3], JSON.stringify(input));
+5
View File
@@ -3,6 +3,11 @@ set -eo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
HELPERS_UC="$ROOT_DIR/tachyon/files/usr/lib/core/helpers.uc"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
ucode() {
command ucode -L "$TACHYON_LIB" "$@"
}
fail() {
printf 'FAIL: %s\n' "$1" >&2
+7 -17
View File
@@ -37,9 +37,9 @@ deadline_elapsed="$(($(date +%s) - deadline_started))"
fail "installer deadline watchdog did not stop the command promptly"
run_with_deadline 3 sh -c 'exit 0' ||
fail "installer deadline watchdog must preserve successful command status"
grep -Fq 'curl --connect-timeout "$CONNECT_TIMEOUT_SECONDS" --max-time "$METADATA_TIMEOUT_SECONDS"' "$INSTALLER" ||
grep -Fq 'curl --connect-timeout "$CONNECT_TIMEOUT_SECONDS" --speed-limit 1024 --speed-time 15 --max-time "$METADATA_TIMEOUT_SECONDS"' "$INSTALLER" ||
fail "installer curl metadata requests must have connect and total timeouts"
grep -Fq 'curl --connect-timeout "$CONNECT_TIMEOUT_SECONDS" --max-time "$DOWNLOAD_TIMEOUT_SECONDS"' "$INSTALLER" ||
grep -Fq 'curl --connect-timeout "$CONNECT_TIMEOUT_SECONDS" --speed-limit 1024 --speed-time 15 --max-time "$DOWNLOAD_TIMEOUT_SECONDS"' "$INSTALLER" ||
fail "installer curl downloads must have connect and total timeouts"
if grep -n -E '(^|[;&|[:space:]])uci[[:space:]]+-q|command_exists[[:space:]]+uci|/usr/bin/uci' "$INSTALLER" >/dev/null; then
@@ -89,7 +89,7 @@ grep -Fq 'install_json_ucode installer-post-install' "$INSTALLER" ||
if grep -Fq 'installer_config_migration_path()' "$INSTALLER"; then
fail "install.sh must not embed configuration migration logic"
fi
grep -Fq 'ucode -L /usr/lib/tachyon /usr/lib/tachyon/config/migration.uc migrate-podkop' "$INSTALLER" ||
grep -Fq 'ucode -L /usr/lib/tachyon /usr/lib/tachyon/config/migration.uc "$migration_mode"' "$INSTALLER" ||
fail "install.sh must delegate the legacy transition to the installed migration module"
if grep -n -E 'restore_tachyon_dnsmasq_failsafe|remember_service_state|stop_conflicting_services|deactivate_original_tachyon_if_present|remove_conflicting_dns_proxy|pkg_remove_if_installed|pkg_remove_matching_prefix|pkg_list_installed_names' "$INSTALLER" >/dev/null 2>&1; then
@@ -113,13 +113,13 @@ awk '
in_main && /install_selected_sing_box/ { sing_box = NR }
in_main && /^[[:space:]]*\}/ { in_main = 0 }
END {
if (detect > 0 && i18n > detect && select_sing_box > i18n &&
update > select_sing_box && ensure > update && cleanup > ensure &&
if (update > 0 && ensure > update && detect > ensure && i18n > detect &&
select_sing_box > i18n && cleanup > select_sing_box &&
backend > cleanup && migration > backend && ui > migration && sing_box > ui)
exit 0
exit 1
}
' "$INSTALLER" || fail "install.sh must ask initial questions before package update, then migrate and finish installation in order"
' "$INSTALLER" || fail "install.sh must update packages and bootstrap ucode, ask initial questions, then migrate and finish installation in order"
helper="$WORK_DIR/install-json.uc"
awk '
@@ -265,17 +265,7 @@ grep -Fxq "$LEGACY_BACKEND" "$WORK_DIR/opkg.log" ||
grep -Fxq "luci-app-$LEGACY_BACKEND" "$WORK_DIR/opkg.log" ||
fail "installer cleanup must remove the legacy LuCI package"
if printf '%s\n' '1' |
PATH="$WORK_DIR:$PATH" \
TACHYON_INSTALLER_OPKG_LOG="$WORK_DIR/opkg.log" \
TACHYON_INSTALLER_FAIL_REMOVE="$LEGACY_BACKEND" \
TACHYON_INSTALLER_FAKE_LEGACY_BACKEND="$LEGACY_BACKEND" \
TACHYON_INSTALLER_LEGACY_BRAND="$LEGACY_BRAND" \
TACHYON_INSTALLER_LEGACY_BACKEND="$LEGACY_BACKEND" \
TACHYON_UCI_STATE_FILE="$WORK_DIR/empty-uci.state" \
ucode "$helper" installer-cleanup-legacy >/dev/null 2>&1; then
fail "installer cleanup must stop when the package manager cannot remove the legacy backend"
fi
legacy_config="$WORK_DIR/legacy-config"
legacy_config_alt="$WORK_DIR/legacy-config-alt"
+4
View File
@@ -3,6 +3,10 @@ set -eo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
PACKAGES_UC="${PACKAGES_UC:-$ROOT_DIR/tachyon/files/usr/lib/core/packages.uc}"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
ucode() {
command ucode -L "$TACHYON_LIB" "$@"
}
WORK_DIR="$(mktemp -d)"
cleanup() {
+3 -3
View File
@@ -33,9 +33,9 @@ validate_fixture() {
node - "$source" "$normalized" <<'JS'
const fs = require('fs');
const input = JSON.parse(fs.readFileSync(process.argv[2], 'utf8'));
input.settings ??= { '.name': 'settings', '.type': 'settings' };
input.settings.dns_server ??= ['77.88.8.8'];
input.settings.bootstrap_dns_server ??= ['77.88.8.8'];
if (input.settings === undefined || input.settings === null) input.settings = { '.name': 'settings', '.type': 'settings' };
if (input.settings.dns_server === undefined || input.settings.dns_server === null) input.settings.dns_server = ['77.88.8.8'];
if (input.settings.bootstrap_dns_server === undefined || input.settings.bootstrap_dns_server === null) input.settings.bootstrap_dns_server = ['77.88.8.8'];
fs.writeFileSync(process.argv[3], JSON.stringify(input));
JS
TACHYON_LIB="$TACHYON_LIB" ucode -L "$TACHYON_LIB" "$VALIDATOR_UC" \
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -eo pipefail
echo "=== Syntax Checking ==="
find tachyon/files/usr/lib -name "*.uc" -print0 | xargs -0 -n1 ucode -c -o /dev/null
find tachyon/files/usr/lib -name "*.uc" -print0 | xargs -0 -n1 ucode -S -c -o /dev/null
echo "=== Running Tests ==="
for f in tests/*.sh; do
if [ "$f" != "tests/run_all.sh" ]; then
echo "Running: $f"
bash "$f"
fi
done
+4
View File
@@ -3,6 +3,10 @@ set -eo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
RELOAD_UC="$ROOT_DIR/tachyon/files/usr/lib/service/reload.uc"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
ucode() {
command ucode -L "$TACHYON_LIB" "$@"
}
WORK_DIR="$(mktemp -d)"
cleanup() {
+2 -2
View File
@@ -87,9 +87,9 @@ require_pattern 'return "current reload";' \
"reload-time queued reload must be distinguishable in logs"
require_file_pattern "$LIFECYCLE_UC" '>/dev/null 2>&1 1000>&- &' \
"service/lifecycle.uc background modules must close inherited procd lock fd"
require_file_pattern "$INITD_UC" 'reload pending >/dev/null 2>&1 1000>&- &' \
require_file_pattern "$INITD_UC" 'reload pending </dev/null >/dev/null 2>&1 1000<&- &' \
"service/initd.uc pending reload worker must close inherited procd lock fd"
require_file_pattern "$STATE_UC" 'reload pending >/dev/null 2>&1 1000>&- &' \
require_file_pattern "$STATE_UC" 'reload pending </dev/null >/dev/null 2>&1 1000<&- &' \
"service/state.uc pending reload worker must close inherited procd lock fd"
require_file_pattern "$TACHYON_INIT" 'TACHYON_LAST_START_STATUS="$?"' \
"init.d start_service must preserve backend start status for rc.common"
+4
View File
@@ -3,6 +3,10 @@ set -eo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
PARSER="$ROOT_DIR/tachyon/files/usr/lib/subscription/parser.uc"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
ucode() {
command ucode -L "$TACHYON_LIB" "$@"
}
WORK_DIR="$(mktemp -d)"
cleanup() {
+3
View File
@@ -3,6 +3,9 @@ set -eo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
ucode() {
command ucode -L "$TACHYON_LIB" "$@"
}
PARSER="$ROOT_DIR/tachyon/files/usr/lib/subscription/parser.uc"
GENERATOR="$ROOT_DIR/tachyon/files/usr/lib/singbox/generator.uc"
WORK_DIR="$(mktemp -d)"
+3
View File
@@ -3,6 +3,9 @@ set -eo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
TACHYON_LIB="$ROOT_DIR/tachyon/files/usr/lib"
ucode() {
command ucode -L "$TACHYON_LIB" "$@"
}
PARSER="$ROOT_DIR/tachyon/files/usr/lib/subscription/parser.uc"
WORK_DIR="$(mktemp -d)"