Исправление ошибок рефакторинга (packages.uc, state.uc, cache.uc)
This commit is contained in:
+331
-152
File diff suppressed because it is too large
Load Diff
+253
-152
@@ -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 ""
|
||||
|
||||
|
||||
@@ -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 "Допуск"
|
||||
|
||||
|
||||
@@ -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 "Добавить в"
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -191,6 +191,7 @@ return {
|
||||
scheme,
|
||||
fragment,
|
||||
strip_fragment,
|
||||
strip_anchored_scheme,
|
||||
host,
|
||||
port,
|
||||
userinfo,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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" \
|
||||
|
||||
@@ -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
|
||||
@@ -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() {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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,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,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)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user