ui: improve update and server dialogs
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
.idea
|
||||
fe-app-podkop/node_modules
|
||||
fe-app-podkop/.yarn/
|
||||
fe-app-podkop/.env
|
||||
.DS_Store
|
||||
|
||||
|
||||
+602
-304
File diff suppressed because it is too large
Load Diff
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-05-29 02:03+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 02:03+0300\n"
|
||||
"POT-Creation-Date: 2026-05-29 18:05+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 18:05+0300\n"
|
||||
"Last-Translator: ushan0v <ushanov2204@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
@@ -31,21 +31,20 @@ msgstr ""
|
||||
msgid "✘ Stopped"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2372
|
||||
msgid "Accept routes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:130
|
||||
msgid "Accept external proxy connections and route them with sing-box."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2376
|
||||
msgid "Accept routes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2492
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2524
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1248
|
||||
#: src/podkop/tabs/monitoring/initController.ts:501
|
||||
#: src/podkop/tabs/monitoring/initController.ts:555
|
||||
#: src/podkop/tabs/monitoring/render.ts:20
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
@@ -58,7 +57,7 @@ msgstr ""
|
||||
msgid "Add a section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:135
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:136
|
||||
msgid "Add a server inbound"
|
||||
msgstr ""
|
||||
|
||||
@@ -78,15 +77,19 @@ msgstr ""
|
||||
msgid "Additional marking rules found"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2355
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1273
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2359
|
||||
msgid "Advertise exit node"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2365
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2369
|
||||
msgid "Advertise routes"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:464
|
||||
#: src/podkop/tabs/monitoring/initController.ts:518
|
||||
#: src/podkop/tabs/monitoring/render.ts:39
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
@@ -107,11 +110,11 @@ msgstr ""
|
||||
msgid "Allows limiting the list of servers for URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2051
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2055
|
||||
msgid "ALPN"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2260
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2264
|
||||
msgid "Alter ID"
|
||||
msgstr ""
|
||||
|
||||
@@ -240,15 +243,15 @@ msgstr ""
|
||||
msgid "Cannot receive checks result"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1737
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1741
|
||||
msgid "Cannot save server"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2061
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2065
|
||||
msgid "Certificate path"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:306
|
||||
#: src/podkop/tabs/updates/initController.ts:324
|
||||
msgid "Check update"
|
||||
msgstr ""
|
||||
|
||||
@@ -290,27 +293,26 @@ msgstr ""
|
||||
msgid "CIDR must be between 0 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2159
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2163
|
||||
msgid "Client fingerprint"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1293
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1290
|
||||
msgid "Client link"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1277
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1210
|
||||
msgid "Client link is not available yet"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1283
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1289
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1231
|
||||
msgid "Client link QR code"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1339
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1335
|
||||
#: src/partials/modal/renderModal.ts:195
|
||||
#: src/podkop/tabs/monitoring/initController.ts:645
|
||||
#: src/podkop/tabs/monitoring/initController.ts:695
|
||||
#: src/podkop/tabs/monitoring/initController.ts:699
|
||||
#: src/podkop/tabs/monitoring/initController.ts:749
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@@ -319,12 +321,12 @@ msgstr ""
|
||||
msgid "Close all connections"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:612
|
||||
#: src/podkop/tabs/monitoring/initController.ts:613
|
||||
#: src/podkop/tabs/monitoring/initController.ts:666
|
||||
#: src/podkop/tabs/monitoring/initController.ts:667
|
||||
msgid "Close connection"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:507
|
||||
#: src/podkop/tabs/monitoring/initController.ts:561
|
||||
#: src/podkop/tabs/monitoring/render.ts:29
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
@@ -341,19 +343,15 @@ msgstr ""
|
||||
msgid "Configuration for Podkop Plus service"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1262
|
||||
msgid "Connection statistics are unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2619
|
||||
msgid "Connection URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:748
|
||||
#: src/podkop/tabs/monitoring/initController.ts:802
|
||||
msgid "Connections are unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1314
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1313
|
||||
#: src/partials/modal/renderModal.ts:190
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
@@ -367,7 +365,7 @@ msgstr ""
|
||||
msgid "Currently unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:167
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:168
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
@@ -383,7 +381,7 @@ msgstr ""
|
||||
msgid "Delay value cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1355
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1351
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
@@ -391,7 +389,7 @@ msgstr ""
|
||||
msgid "Detect server country"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:61
|
||||
#: src/podkop/tabs/updates/initController.ts:62
|
||||
msgid "Dev"
|
||||
msgstr ""
|
||||
|
||||
@@ -404,12 +402,11 @@ msgstr ""
|
||||
msgid "DHCP has DNS server"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:155
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:156
|
||||
msgid "Diagnostics"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1984
|
||||
#: src/podkop/tabs/monitoring/initController.ts:119
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1988
|
||||
msgid "Direct"
|
||||
msgstr ""
|
||||
|
||||
@@ -496,7 +493,6 @@ msgstr ""
|
||||
msgid "Downlink"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1250
|
||||
#: src/partials/modal/renderModal.ts:185
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
@@ -513,8 +509,8 @@ msgstr ""
|
||||
msgid "Download lists/updates/subscriptions via Proxy/VPN"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:638
|
||||
#: src/podkop/tabs/monitoring/initController.ts:692
|
||||
#: src/podkop/tabs/monitoring/initController.ts:746
|
||||
msgid "Downloaded"
|
||||
msgstr ""
|
||||
|
||||
@@ -529,12 +525,12 @@ msgid "Duplicate value"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:68
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1348
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1344
|
||||
msgid "Edit rule action"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2482
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1900
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1904
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
|
||||
@@ -622,24 +618,25 @@ msgstr ""
|
||||
msgid "External nfqws config files bypass Podkop Plus queue management and explicit validation."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1010
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1025
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1064
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1079
|
||||
msgid "Failed to close connection"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1044
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1057
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1098
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1111
|
||||
msgid "Failed to close connections"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1199
|
||||
#: src/helpers/copyToClipboard.ts:12
|
||||
msgid "Failed to copy!"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/methods/shell/index.ts:97
|
||||
#: src/podkop/methods/shell/index.ts:273
|
||||
#: src/podkop/tabs/updates/initController.ts:241
|
||||
#: src/podkop/tabs/updates/initController.ts:285
|
||||
#: src/podkop/tabs/updates/initController.ts:254
|
||||
#: src/podkop/tabs/updates/initController.ts:303
|
||||
msgid "Failed to execute"
|
||||
msgstr ""
|
||||
|
||||
@@ -648,12 +645,12 @@ msgstr ""
|
||||
msgid "Failed to update subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/methods/custom/getDashboardSections.ts:259
|
||||
#: src/podkop/methods/custom/getDashboardSections.ts:307
|
||||
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:93
|
||||
msgid "Fastest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1738
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1742
|
||||
msgid "Fix the highlighted fields and save again."
|
||||
msgstr ""
|
||||
|
||||
@@ -665,11 +662,15 @@ msgstr ""
|
||||
msgid "Get global check"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:490
|
||||
msgid "GitHub release"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/initController.ts:415
|
||||
msgid "Global check"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2211
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2215
|
||||
msgid "gRPC service"
|
||||
msgstr ""
|
||||
|
||||
@@ -677,8 +678,8 @@ msgstr ""
|
||||
msgid "Hide filtered servers"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:628
|
||||
#: src/podkop/tabs/monitoring/initController.ts:688
|
||||
#: src/podkop/tabs/monitoring/initController.ts:682
|
||||
#: src/podkop/tabs/monitoring/initController.ts:742
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
|
||||
@@ -686,7 +687,7 @@ msgstr ""
|
||||
msgid "HTTP error"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2204
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2208
|
||||
msgid "HTTP hosts"
|
||||
msgstr ""
|
||||
|
||||
@@ -702,29 +703,29 @@ msgstr ""
|
||||
msgid "Include server in URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1356
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1352
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:77
|
||||
#: src/podkop/tabs/updates/initController.ts:381
|
||||
#: src/podkop/tabs/updates/initController.ts:410
|
||||
#: src/podkop/tabs/updates/initController.ts:78
|
||||
#: src/podkop/tabs/updates/initController.ts:402
|
||||
#: src/podkop/tabs/updates/initController.ts:432
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:74
|
||||
#: src/podkop/tabs/updates/initController.ts:75
|
||||
msgid "Install %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:329
|
||||
#: src/podkop/tabs/updates/initController.ts:347
|
||||
msgid "Install extended"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:322
|
||||
#: src/podkop/tabs/updates/initController.ts:340
|
||||
msgid "Install stable"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:137
|
||||
#: src/podkop/tabs/updates/initController.ts:150
|
||||
msgid "Installed version is newer than release"
|
||||
msgstr ""
|
||||
|
||||
@@ -757,11 +758,11 @@ msgstr ""
|
||||
msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:76
|
||||
#: src/validators/validateHysteriaUrl.ts:107
|
||||
msgid "Invalid HY2 URL: insecure must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:62
|
||||
#: src/validators/validateHysteriaUrl.ts:93
|
||||
msgid "Invalid HY2 URL: invalid port number"
|
||||
msgstr ""
|
||||
|
||||
@@ -793,19 +794,19 @@ msgstr ""
|
||||
msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:99
|
||||
#: src/validators/validateHysteriaUrl.ts:130
|
||||
msgid "Invalid HY2 URL: obfs-password required when obfs is set"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:115
|
||||
#: src/validators/validateHysteriaUrl.ts:146
|
||||
msgid "Invalid HY2 URL: parsing failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:108
|
||||
#: src/validators/validateHysteriaUrl.ts:139
|
||||
msgid "Invalid HY2 URL: sni cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:88
|
||||
#: src/validators/validateHysteriaUrl.ts:119
|
||||
msgid "Invalid HY2 URL: unsupported obfs type"
|
||||
msgstr ""
|
||||
|
||||
@@ -948,7 +949,7 @@ msgstr ""
|
||||
msgid "JSON outbound"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2076
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2080
|
||||
msgid "Key path"
|
||||
msgstr ""
|
||||
|
||||
@@ -956,11 +957,11 @@ msgstr ""
|
||||
msgid "Keyword must not contain spaces"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:54
|
||||
#: src/podkop/tabs/updates/initController.ts:55
|
||||
msgid "Latest"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:140
|
||||
#: src/podkop/tabs/updates/initController.ts:153
|
||||
msgid "Latest version is installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -972,16 +973,15 @@ msgstr ""
|
||||
msgid "List Update Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1956
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1960
|
||||
msgid "Listen address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1963
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1967
|
||||
msgid "Listen port"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1255
|
||||
#: src/podkop/tabs/monitoring/initController.ts:738
|
||||
#: src/podkop/tabs/monitoring/initController.ts:792
|
||||
#: src/podkop/tabs/monitoring/render.ts:88
|
||||
msgid "Loading connections"
|
||||
msgstr ""
|
||||
@@ -1030,7 +1030,7 @@ msgstr ""
|
||||
msgid "Memory Usage"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2218
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2222
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
@@ -1050,7 +1050,7 @@ msgstr ""
|
||||
msgid "Monitored Interfaces"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:179
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:180
|
||||
msgid "Monitoring"
|
||||
msgstr ""
|
||||
|
||||
@@ -1078,11 +1078,11 @@ msgstr ""
|
||||
msgid "NFQWS strategy cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:762
|
||||
#: src/podkop/tabs/monitoring/initController.ts:816
|
||||
msgid "No active connections"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:763
|
||||
#: src/podkop/tabs/monitoring/initController.ts:817
|
||||
msgid "No closed connections"
|
||||
msgstr ""
|
||||
|
||||
@@ -1099,9 +1099,9 @@ msgid "No rules use Zapret"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:427
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2006
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2273
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2282
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2010
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2277
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2286
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
@@ -1109,9 +1109,9 @@ msgstr ""
|
||||
msgid "Not implement yet"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:347
|
||||
#: src/podkop/tabs/updates/initController.ts:365
|
||||
#: src/podkop/tabs/updates/initController.ts:394
|
||||
#: src/podkop/tabs/updates/initController.ts:366
|
||||
#: src/podkop/tabs/updates/initController.ts:385
|
||||
#: src/podkop/tabs/updates/initController.ts:415
|
||||
msgid "Not installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1128,11 +1128,11 @@ msgstr ""
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2281
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2285
|
||||
msgid "Obfuscation"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2304
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2308
|
||||
msgid "Obfuscation password"
|
||||
msgstr ""
|
||||
|
||||
@@ -1177,7 +1177,7 @@ msgstr ""
|
||||
msgid "Outbound JSON cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:58
|
||||
#: src/podkop/tabs/updates/initController.ts:59
|
||||
msgid "Outdated"
|
||||
msgstr ""
|
||||
|
||||
@@ -1185,7 +1185,7 @@ msgstr ""
|
||||
msgid "Output Network Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2244
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2248
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@@ -1209,7 +1209,7 @@ msgstr ""
|
||||
msgid "Path must end with cache.db"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:520
|
||||
#: src/podkop/tabs/monitoring/initController.ts:574
|
||||
#: src/podkop/tabs/monitoring/render.ts:70
|
||||
#: src/podkop/tabs/monitoring/render.ts:71
|
||||
msgid "Pause updates"
|
||||
@@ -1239,7 +1239,7 @@ msgstr ""
|
||||
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1983
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1987
|
||||
msgid "Podkop Plus rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -1288,7 +1288,7 @@ msgid "Port for the local mixed proxy of this section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1336
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1416
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1420
|
||||
msgid "Port must be between 1 and 65535"
|
||||
msgstr ""
|
||||
|
||||
@@ -1300,8 +1300,8 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1906
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1940
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1910
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1944
|
||||
msgid "Protocol"
|
||||
msgstr ""
|
||||
|
||||
@@ -1317,39 +1317,39 @@ msgstr ""
|
||||
msgid "Proxy traffic is routed via FakeIP"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1970
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1974
|
||||
msgid "Public host"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1291
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1233
|
||||
msgid "QR code is too large"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2094
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2098
|
||||
msgid "Reality fake site"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2105
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2109
|
||||
msgid "Reality fake site port"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2148
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2152
|
||||
msgid "Reality max time difference"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2116
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2120
|
||||
msgid "Reality private key"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2123
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2127
|
||||
msgid "Reality public key"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2129
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2133
|
||||
msgid "Reality short ID"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1604
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1608
|
||||
msgid "Reality short ID must contain 1-8 hex digits"
|
||||
msgstr ""
|
||||
|
||||
@@ -1361,8 +1361,8 @@ msgstr ""
|
||||
msgid "Regional options cannot be used together"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:372
|
||||
#: src/podkop/tabs/updates/initController.ts:401
|
||||
#: src/podkop/tabs/updates/initController.ts:393
|
||||
#: src/podkop/tabs/updates/initController.ts:423
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
@@ -1394,12 +1394,12 @@ msgstr ""
|
||||
msgid "Restart Podkop Plus"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:520
|
||||
#: src/podkop/tabs/monitoring/initController.ts:574
|
||||
msgid "Resume updates"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:632
|
||||
#: src/podkop/tabs/monitoring/initController.ts:690
|
||||
#: src/podkop/tabs/monitoring/initController.ts:686
|
||||
#: src/podkop/tabs/monitoring/initController.ts:744
|
||||
msgid "Route"
|
||||
msgstr ""
|
||||
|
||||
@@ -1407,11 +1407,11 @@ msgstr ""
|
||||
msgid "Routing Excluded IPs"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1982
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1986
|
||||
msgid "Routing mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1991
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1995
|
||||
msgid "Routing section"
|
||||
msgstr ""
|
||||
|
||||
@@ -1479,7 +1479,7 @@ msgstr ""
|
||||
msgid "Sections"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2003
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2007
|
||||
msgid "Security"
|
||||
msgstr ""
|
||||
|
||||
@@ -1539,11 +1539,11 @@ msgstr ""
|
||||
msgid "Select the WAN interfaces to be monitored"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1985
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1989
|
||||
msgid "Selected section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:134
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:135
|
||||
msgid "Server"
|
||||
msgstr ""
|
||||
|
||||
@@ -1551,15 +1551,16 @@ msgstr ""
|
||||
msgid "Server filtering for URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1328
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1322
|
||||
msgid "Server information"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1917
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1243
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1921
|
||||
msgid "Server name"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2032
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2036
|
||||
msgid "Server name / SNI"
|
||||
msgstr ""
|
||||
|
||||
@@ -1583,7 +1584,7 @@ msgstr ""
|
||||
msgid "Services info"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:143
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:144
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2479
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
@@ -1629,8 +1630,8 @@ msgstr ""
|
||||
msgid "Sing-box version is compatible (newer than 1.12.4)"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:644
|
||||
#: src/podkop/tabs/monitoring/initController.ts:694
|
||||
#: src/podkop/tabs/monitoring/initController.ts:698
|
||||
#: src/podkop/tabs/monitoring/initController.ts:748
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
@@ -1642,12 +1643,12 @@ msgstr ""
|
||||
msgid "Source Network Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1497
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1501
|
||||
msgid "Specify a file path"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1508
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1520
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1512
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1524
|
||||
msgid "Specify different files"
|
||||
msgstr ""
|
||||
|
||||
@@ -1719,6 +1720,7 @@ msgstr ""
|
||||
msgid "Subscription URL cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1197
|
||||
#: src/helpers/copyToClipboard.ts:10
|
||||
msgid "Successfully copied!"
|
||||
msgstr ""
|
||||
@@ -1735,15 +1737,15 @@ msgstr ""
|
||||
msgid "Table exist"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2320
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2324
|
||||
msgid "Tailscale auth key"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2329
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2333
|
||||
msgid "Tailscale control URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2337
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2341
|
||||
msgid "Tailscale hostname"
|
||||
msgstr ""
|
||||
|
||||
@@ -1772,11 +1774,11 @@ msgstr ""
|
||||
msgid "There are rules using Zapret"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1431
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1436
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1491
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1595
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2267
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1435
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1440
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1495
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1599
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2271
|
||||
msgid "This field is required"
|
||||
msgstr ""
|
||||
|
||||
@@ -1800,8 +1802,8 @@ msgstr ""
|
||||
msgid "This option requires a value."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:635
|
||||
#: src/podkop/tabs/monitoring/initController.ts:691
|
||||
#: src/podkop/tabs/monitoring/initController.ts:689
|
||||
#: src/podkop/tabs/monitoring/initController.ts:745
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
|
||||
@@ -1809,7 +1811,6 @@ msgstr ""
|
||||
msgid "Time in seconds for DNS record caching (default: 60)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1268
|
||||
#: src/podkop/tabs/dashboard/initController.ts:474
|
||||
#: src/podkop/tabs/dashboard/partials/renderSections.ts:216
|
||||
msgid "Traffic"
|
||||
@@ -1823,19 +1824,19 @@ msgstr ""
|
||||
msgid "Transparent proxy mode is incompatible with action=byedpi because Podkop Plus connects to ciadpi through SOCKS."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2170
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2174
|
||||
msgid "Transport"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2194
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2198
|
||||
msgid "Transport host"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2181
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2185
|
||||
msgid "Transport path"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1549
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1553
|
||||
msgid "Transport path must start with /"
|
||||
msgstr ""
|
||||
|
||||
@@ -1851,8 +1852,9 @@ msgstr ""
|
||||
msgid "TTL value cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:629
|
||||
#: src/podkop/tabs/monitoring/initController.ts:689
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1258
|
||||
#: src/podkop/tabs/monitoring/initController.ts:683
|
||||
#: src/podkop/tabs/monitoring/initController.ts:743
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
@@ -1901,7 +1903,7 @@ msgstr ""
|
||||
#: src/podkop/services/systemInfo.service.ts:16
|
||||
#: src/podkop/services/systemInfo.service.ts:18
|
||||
#: src/podkop/services/systemInfo.service.ts:19
|
||||
#: src/podkop/tabs/updates/initController.ts:174
|
||||
#: src/podkop/tabs/updates/initController.ts:187
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1923,11 +1925,11 @@ msgstr ""
|
||||
msgid "Unknown NFQWS flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1616
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1620
|
||||
msgid "Unsupported security mode for this protocol"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:133
|
||||
#: src/podkop/tabs/updates/initController.ts:146
|
||||
msgid "Update is available"
|
||||
msgstr ""
|
||||
|
||||
@@ -1936,7 +1938,7 @@ msgstr ""
|
||||
msgid "Update subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:191
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:192
|
||||
msgid "Updates"
|
||||
msgstr ""
|
||||
|
||||
@@ -1945,12 +1947,8 @@ msgstr ""
|
||||
msgid "Uplink"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1249
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:641
|
||||
#: src/podkop/tabs/monitoring/initController.ts:693
|
||||
#: src/podkop/tabs/monitoring/initController.ts:695
|
||||
#: src/podkop/tabs/monitoring/initController.ts:747
|
||||
msgid "Uploaded"
|
||||
msgstr ""
|
||||
|
||||
@@ -1974,30 +1972,30 @@ msgstr ""
|
||||
msgid "URLTest URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1471
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1477
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1558
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1475
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1481
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1562
|
||||
msgid "Use a domain name or IPv4 address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1543
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1547
|
||||
msgid "Use a duration like 30s, 5m, or 1h30m"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2269
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2273
|
||||
msgid "Use a non-negative integer"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1530
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1532
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1534
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1536
|
||||
msgid "Use an HTTP or HTTPS URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1484
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1488
|
||||
msgid "Use an IPv4 listen address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1590
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1594
|
||||
msgid "Use CIDR prefixes like 192.168.1.0/24"
|
||||
msgstr ""
|
||||
|
||||
@@ -2006,7 +2004,7 @@ msgstr ""
|
||||
msgid "Use format: URL | User-Agent"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1564
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1568
|
||||
msgid "Use letters, digits, dots, underscores, or hyphens"
|
||||
msgstr ""
|
||||
|
||||
@@ -2021,7 +2019,7 @@ msgstr ""
|
||||
msgid "Use sing-box duration format like 1d, 12h or 30m"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2228
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2232
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
@@ -2033,7 +2031,7 @@ msgstr ""
|
||||
#: src/validators/validateDns.ts:18
|
||||
#: src/validators/validateDomain.ts:13
|
||||
#: src/validators/validateDomain.ts:30
|
||||
#: src/validators/validateHysteriaUrl.ts:113
|
||||
#: src/validators/validateHysteriaUrl.ts:144
|
||||
#: src/validators/validateIp.ts:8
|
||||
#: src/validators/validateOutboundJson.ts:7
|
||||
#: src/validators/validatePath.ts:16
|
||||
@@ -2052,11 +2050,11 @@ msgstr ""
|
||||
msgid "Validation errors:"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1440
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1444
|
||||
msgid "Value must not contain control characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:467
|
||||
#: src/podkop/tabs/updates/initController.ts:515
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
@@ -2069,7 +2067,7 @@ msgstr ""
|
||||
msgid "Visible name of this section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2272
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2276
|
||||
msgid "VLESS flow"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-05-29 05:03+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 05:03+0300\n"
|
||||
"POT-Creation-Date: 2026-05-29 21:05+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 21:05+0300\n"
|
||||
"Last-Translator: ushan0v\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
@@ -26,12 +26,12 @@ msgstr "✔ Работает"
|
||||
msgid "✘ Stopped"
|
||||
msgstr "✘ Остановлен"
|
||||
|
||||
msgid "Accept routes"
|
||||
msgstr "Принимать маршруты"
|
||||
|
||||
msgid "Accept external proxy connections and route them with sing-box."
|
||||
msgstr "Принимает внешние прокси-подключения и маршрутизирует их через sing-box."
|
||||
|
||||
msgid "Accept routes"
|
||||
msgstr "Принимать маршруты"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "Действие"
|
||||
|
||||
@@ -59,6 +59,9 @@ msgstr "Добавляйте URL или локальные пути к спис
|
||||
msgid "Additional marking rules found"
|
||||
msgstr "Найдены дополнительные правила маркировки"
|
||||
|
||||
msgid "Address"
|
||||
msgstr "Адрес"
|
||||
|
||||
msgid "Advertise exit node"
|
||||
msgstr "Анонсировать exit node"
|
||||
|
||||
@@ -201,7 +204,7 @@ msgid "CIDR must be between 0 and 32"
|
||||
msgstr "CIDR должен быть между 0 и 32"
|
||||
|
||||
msgid "Client fingerprint"
|
||||
msgstr "Client fingerprint"
|
||||
msgstr "Отпечаток клиента"
|
||||
|
||||
msgid "Client link"
|
||||
msgstr "Ссылка клиента"
|
||||
@@ -233,9 +236,6 @@ msgstr "Путь к файлу конфигурации"
|
||||
msgid "Configuration for Podkop Plus service"
|
||||
msgstr "Настройки сервиса Podkop Plus"
|
||||
|
||||
msgid "Connection statistics are unavailable"
|
||||
msgstr "Статистика подключений недоступна"
|
||||
|
||||
msgid "Connection URL"
|
||||
msgstr "URL подключения"
|
||||
|
||||
@@ -264,7 +264,7 @@ msgid "Delay value cannot be empty"
|
||||
msgstr "Значение задержки не может быть пустым"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Удалить"
|
||||
|
||||
msgid "Detect server country"
|
||||
msgstr "Определять страну сервера"
|
||||
@@ -461,6 +461,9 @@ msgstr "Полностью маршрутизированные IP-адреса"
|
||||
msgid "Get global check"
|
||||
msgstr "Получить глобальную проверку"
|
||||
|
||||
msgid "GitHub release"
|
||||
msgstr "Релиз на GitHub"
|
||||
|
||||
msgid "Global check"
|
||||
msgstr "Глобальная проверка"
|
||||
|
||||
@@ -1110,7 +1113,7 @@ msgid "Server name"
|
||||
msgstr "Имя сервера"
|
||||
|
||||
msgid "Server name / SNI"
|
||||
msgstr "Server name / SNI"
|
||||
msgstr "Имя сервера / SNI"
|
||||
|
||||
msgid "Servers"
|
||||
msgstr "Серверы"
|
||||
@@ -1379,9 +1382,6 @@ msgstr "Обновления"
|
||||
msgid "Uplink"
|
||||
msgstr "Исходящий"
|
||||
|
||||
msgid "Upload"
|
||||
msgstr "Загрузка"
|
||||
|
||||
msgid "Uploaded"
|
||||
msgstr "Отдано"
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ export { validateOutboundJson } from './validators/validateOutboundJson';
|
||||
export { validateProxyUrl } from './validators/validateProxyUrl';
|
||||
export { parseValueList } from './helpers/parseValueList';
|
||||
export { injectGlobalStyles } from './helpers/injectGlobalStyles';
|
||||
export { showToast } from './helpers/showToast';
|
||||
export { getClashUIUrl } from './helpers/getClashApiUrl';
|
||||
export { PodkopShellMethods } from './podkop/methods/shell';
|
||||
export { coreService } from './podkop/services/core.service';
|
||||
|
||||
@@ -220,6 +220,7 @@ export interface StoreType {
|
||||
{
|
||||
status: 'latest' | 'outdated' | 'dev' | null;
|
||||
latest_version: string;
|
||||
release_url: string;
|
||||
}
|
||||
>;
|
||||
}
|
||||
|
||||
@@ -124,9 +124,9 @@ export const initialDiagnosticStore: Pick<
|
||||
byedpiRemove: { loading: false },
|
||||
},
|
||||
updatesChecks: {
|
||||
podkop: { status: null, latest_version: '' },
|
||||
sing_box: { status: null, latest_version: '' },
|
||||
zapret: { status: null, latest_version: '' },
|
||||
byedpi: { status: null, latest_version: '' },
|
||||
podkop: { status: null, latest_version: '', release_url: '' },
|
||||
sing_box: { status: null, latest_version: '', release_url: '' },
|
||||
zapret: { status: null, latest_version: '', release_url: '' },
|
||||
byedpi: { status: null, latest_version: '', release_url: '' },
|
||||
},
|
||||
};
|
||||
|
||||
@@ -28,6 +28,7 @@ interface ComponentActionButton {
|
||||
interface ComponentCard {
|
||||
title: string;
|
||||
version: string;
|
||||
releaseUrl?: string;
|
||||
tag?: {
|
||||
label: string;
|
||||
kind: 'neutral' | 'success' | 'warning';
|
||||
@@ -77,6 +78,16 @@ function getInstallActionText(component: Podkop.ComponentName) {
|
||||
return _('Install');
|
||||
}
|
||||
|
||||
function getGitHubReleaseUrl(component: Podkop.ComponentName) {
|
||||
const checkResult = store.get().updatesChecks[component];
|
||||
|
||||
if (!shouldShowInstallAfterCheck(component) || !checkResult.release_url) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return checkResult.release_url;
|
||||
}
|
||||
|
||||
function isAnyActionLoading() {
|
||||
return Object.values(store.get().updatesActions).some((item) => item.loading);
|
||||
}
|
||||
@@ -102,6 +113,7 @@ function setCheckResult(
|
||||
component: Podkop.ComponentName,
|
||||
status: UpdateStatus,
|
||||
latestVersion: string,
|
||||
releaseUrl: string = '',
|
||||
) {
|
||||
const updatesChecks = store.get().updatesChecks;
|
||||
|
||||
@@ -111,6 +123,7 @@ function setCheckResult(
|
||||
[component]: {
|
||||
status,
|
||||
latest_version: latestVersion,
|
||||
release_url: releaseUrl,
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -248,7 +261,12 @@ async function handleComponentAction(button: ComponentActionButton) {
|
||||
const status = result.status || null;
|
||||
|
||||
if (status === 'latest' || status === 'outdated' || status === 'dev') {
|
||||
setCheckResult(button.component, status, result.latest_version || '');
|
||||
setCheckResult(
|
||||
button.component,
|
||||
status,
|
||||
result.latest_version || '',
|
||||
result.release_url || '',
|
||||
);
|
||||
}
|
||||
|
||||
setActionLoading(button.key, false);
|
||||
@@ -336,6 +354,7 @@ function getComponentCards(): ComponentCard[] {
|
||||
{
|
||||
title: 'Podkop Plus',
|
||||
version: normalizeCompiledVersion(systemInfo.podkop_version),
|
||||
releaseUrl: getGitHubReleaseUrl('podkop'),
|
||||
tag: getCheckTag('podkop'),
|
||||
actions: [
|
||||
getPrimaryUpdateAction('podkop', 'podkopCheck', 'podkopInstall'),
|
||||
@@ -346,6 +365,7 @@ function getComponentCards(): ComponentCard[] {
|
||||
version: isNotInstalled(systemInfo.sing_box_version)
|
||||
? _('Not installed')
|
||||
: systemInfo.sing_box_version,
|
||||
releaseUrl: getGitHubReleaseUrl('sing_box'),
|
||||
tag: getCheckTag('sing_box'),
|
||||
actions: [
|
||||
getPrimaryUpdateAction(
|
||||
@@ -363,6 +383,7 @@ function getComponentCards(): ComponentCard[] {
|
||||
: zapretInstalled
|
||||
? systemInfo.zapret_version
|
||||
: _('Not installed'),
|
||||
releaseUrl: getGitHubReleaseUrl('zapret'),
|
||||
tag: zapretInstalled ? getCheckTag('zapret') : undefined,
|
||||
actions: zapretInstalled
|
||||
? [
|
||||
@@ -392,6 +413,7 @@ function getComponentCards(): ComponentCard[] {
|
||||
: byedpiInstalled
|
||||
? systemInfo.byedpi_version
|
||||
: _('Not installed'),
|
||||
releaseUrl: getGitHubReleaseUrl('byedpi'),
|
||||
tag: byedpiInstalled ? getCheckTag('byedpi') : undefined,
|
||||
actions: byedpiInstalled
|
||||
? [
|
||||
@@ -449,9 +471,35 @@ function renderComponentCard(card: ComponentCard) {
|
||||
const headerChildren: Node[] = [
|
||||
E('b', { class: 'pdk_updates-page__component__title' }, card.title),
|
||||
];
|
||||
const statusChildren: Node[] = [];
|
||||
|
||||
if (card.releaseUrl) {
|
||||
statusChildren.push(
|
||||
E(
|
||||
'a',
|
||||
{
|
||||
class: 'pdk_updates-page__component__release-link',
|
||||
href: card.releaseUrl,
|
||||
target: '_blank',
|
||||
rel: 'noopener noreferrer',
|
||||
},
|
||||
_('GitHub release'),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (tag) {
|
||||
headerChildren.push(tag);
|
||||
statusChildren.push(tag);
|
||||
}
|
||||
|
||||
if (statusChildren.length > 0) {
|
||||
headerChildren.push(
|
||||
E(
|
||||
'div',
|
||||
{ class: 'pdk_updates-page__component__status' },
|
||||
statusChildren,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
return E('div', { class: 'pdk_updates-page__component' }, [
|
||||
|
||||
@@ -50,6 +50,14 @@ export const styles = `
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.pdk_updates-page__component__status {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 6px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.pdk_updates-page__component__version {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
@@ -95,4 +103,11 @@ export const styles = `
|
||||
.pdk_updates-page__component__actions > .pdk-partial-button {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.pdk_updates-page__component__release-link {
|
||||
font-size: 11px;
|
||||
line-height: 1.2;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
`;
|
||||
|
||||
@@ -301,6 +301,7 @@ export namespace Podkop {
|
||||
message: string;
|
||||
current_version: string;
|
||||
latest_version: string;
|
||||
release_url?: string;
|
||||
changed: boolean;
|
||||
status?: 'latest' | 'outdated' | 'dev' | '';
|
||||
exit_code?: number | null;
|
||||
|
||||
@@ -3062,10 +3062,10 @@ var initialDiagnosticStore = {
|
||||
byedpiRemove: { loading: false }
|
||||
},
|
||||
updatesChecks: {
|
||||
podkop: { status: null, latest_version: "" },
|
||||
sing_box: { status: null, latest_version: "" },
|
||||
zapret: { status: null, latest_version: "" },
|
||||
byedpi: { status: null, latest_version: "" }
|
||||
podkop: { status: null, latest_version: "", release_url: "" },
|
||||
sing_box: { status: null, latest_version: "", release_url: "" },
|
||||
zapret: { status: null, latest_version: "", release_url: "" },
|
||||
byedpi: { status: null, latest_version: "", release_url: "" }
|
||||
}
|
||||
};
|
||||
|
||||
@@ -8553,6 +8553,13 @@ function getInstallActionText(component) {
|
||||
}
|
||||
return _("Install");
|
||||
}
|
||||
function getGitHubReleaseUrl(component) {
|
||||
const checkResult = store.get().updatesChecks[component];
|
||||
if (!shouldShowInstallAfterCheck(component) || !checkResult.release_url) {
|
||||
return void 0;
|
||||
}
|
||||
return checkResult.release_url;
|
||||
}
|
||||
function isAnyActionLoading() {
|
||||
return Object.values(store.get().updatesActions).some((item) => item.loading);
|
||||
}
|
||||
@@ -8569,14 +8576,15 @@ function setActionLoading(action, loading2) {
|
||||
}
|
||||
});
|
||||
}
|
||||
function setCheckResult(component, status, latestVersion) {
|
||||
function setCheckResult(component, status, latestVersion, releaseUrl = "") {
|
||||
const updatesChecks = store.get().updatesChecks;
|
||||
store.set({
|
||||
updatesChecks: {
|
||||
...updatesChecks,
|
||||
[component]: {
|
||||
status,
|
||||
latest_version: latestVersion
|
||||
latest_version: latestVersion,
|
||||
release_url: releaseUrl
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -8683,7 +8691,12 @@ async function handleComponentAction(button) {
|
||||
if (button.action === "check_update") {
|
||||
const status = result.status || null;
|
||||
if (status === "latest" || status === "outdated" || status === "dev") {
|
||||
setCheckResult(button.component, status, result.latest_version || "");
|
||||
setCheckResult(
|
||||
button.component,
|
||||
status,
|
||||
result.latest_version || "",
|
||||
result.release_url || ""
|
||||
);
|
||||
}
|
||||
setActionLoading(button.key, false);
|
||||
showToast(getCheckToastMessage(status), "success");
|
||||
@@ -8753,6 +8766,7 @@ function getComponentCards() {
|
||||
{
|
||||
title: "Podkop Plus",
|
||||
version: normalizeCompiledVersion(systemInfo.podkop_version),
|
||||
releaseUrl: getGitHubReleaseUrl("podkop"),
|
||||
tag: getCheckTag("podkop"),
|
||||
actions: [
|
||||
getPrimaryUpdateAction("podkop", "podkopCheck", "podkopInstall")
|
||||
@@ -8761,6 +8775,7 @@ function getComponentCards() {
|
||||
{
|
||||
title: "Sing-box",
|
||||
version: isNotInstalled(systemInfo.sing_box_version) ? _("Not installed") : systemInfo.sing_box_version,
|
||||
releaseUrl: getGitHubReleaseUrl("sing_box"),
|
||||
tag: getCheckTag("sing_box"),
|
||||
actions: [
|
||||
getPrimaryUpdateAction(
|
||||
@@ -8774,6 +8789,7 @@ function getComponentCards() {
|
||||
{
|
||||
title: "Zapret",
|
||||
version: systemInfoLoading ? "loading" : zapretInstalled ? systemInfo.zapret_version : _("Not installed"),
|
||||
releaseUrl: getGitHubReleaseUrl("zapret"),
|
||||
tag: zapretInstalled ? getCheckTag("zapret") : void 0,
|
||||
actions: zapretInstalled ? [
|
||||
getPrimaryUpdateAction("zapret", "zapretCheck", "zapretInstall"),
|
||||
@@ -8797,6 +8813,7 @@ function getComponentCards() {
|
||||
{
|
||||
title: "ByeDPI",
|
||||
version: systemInfoLoading ? "loading" : byedpiInstalled ? systemInfo.byedpi_version : _("Not installed"),
|
||||
releaseUrl: getGitHubReleaseUrl("byedpi"),
|
||||
tag: byedpiInstalled ? getCheckTag("byedpi") : void 0,
|
||||
actions: byedpiInstalled ? [
|
||||
getPrimaryUpdateAction("byedpi", "byedpiCheck", "byedpiInstall"),
|
||||
@@ -8843,8 +8860,32 @@ function renderComponentCard(card) {
|
||||
const headerChildren = [
|
||||
E("b", { class: "pdk_updates-page__component__title" }, card.title)
|
||||
];
|
||||
const statusChildren = [];
|
||||
if (card.releaseUrl) {
|
||||
statusChildren.push(
|
||||
E(
|
||||
"a",
|
||||
{
|
||||
class: "pdk_updates-page__component__release-link",
|
||||
href: card.releaseUrl,
|
||||
target: "_blank",
|
||||
rel: "noopener noreferrer"
|
||||
},
|
||||
_("GitHub release")
|
||||
)
|
||||
);
|
||||
}
|
||||
if (tag) {
|
||||
headerChildren.push(tag);
|
||||
statusChildren.push(tag);
|
||||
}
|
||||
if (statusChildren.length > 0) {
|
||||
headerChildren.push(
|
||||
E(
|
||||
"div",
|
||||
{ class: "pdk_updates-page__component__status" },
|
||||
statusChildren
|
||||
)
|
||||
);
|
||||
}
|
||||
return E("div", { class: "pdk_updates-page__component" }, [
|
||||
E(
|
||||
@@ -8985,6 +9026,14 @@ var styles6 = `
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
|
||||
.pdk_updates-page__component__status {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
gap: 6px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.pdk_updates-page__component__version {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr;
|
||||
@@ -9030,6 +9079,13 @@ var styles6 = `
|
||||
.pdk_updates-page__component__actions > .pdk-partial-button {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.pdk_updates-page__component__release-link {
|
||||
font-size: 11px;
|
||||
line-height: 1.2;
|
||||
text-align: right;
|
||||
white-space: nowrap;
|
||||
}
|
||||
`;
|
||||
|
||||
// src/podkop/tabs/updates/index.ts
|
||||
@@ -9236,6 +9292,7 @@ return baseclass.extend({
|
||||
getClashUIUrl,
|
||||
injectGlobalStyles,
|
||||
parseValueList,
|
||||
showToast,
|
||||
store,
|
||||
validateDNS,
|
||||
validateDomain,
|
||||
|
||||
@@ -440,18 +440,34 @@ function injectServerStyles() {
|
||||
.pdk-server-icon-button{box-sizing:border-box;vertical-align:middle}
|
||||
.pdk-server-icon-button__glyph{display:inline-block;line-height:1;transform:scale(1.55);transform-origin:center}
|
||||
.pdk-server-icon-button--done{outline:2px solid var(--success-color,#37a969);outline-offset:1px}
|
||||
.pdk-server-qr-modal{display:flex;justify-content:center;padding:12px}
|
||||
.pdk-server-qr-modal__image{width:260px;height:260px;max-width:80vw;max-height:80vw;image-rendering:pixelated}
|
||||
.pdk-server-info-modal{display:flex;flex-direction:column;gap:14px;min-width:min(560px,86vw)}
|
||||
.pdk-server-info-modal__block{display:flex;flex-direction:column;gap:8px}
|
||||
.pdk-server-info-modal__link-row{display:flex;gap:8px;align-items:flex-start}
|
||||
.pdk-server-info-modal__link{min-height:5.2em;resize:vertical}
|
||||
.pdk-server-validation-summary{margin:0 0 12px}
|
||||
#cbi-${UCI_PACKAGE}-server > h3:nth-child(1){display:none}
|
||||
#cbi-${UCI_PACKAGE}-server > .cbi-section-remove{margin-bottom:-32px}
|
||||
#cbi-${UCI_PACKAGE}-server .cbi-section-actions > div{display:inline-flex;align-items:center;gap:4px}
|
||||
#cbi-${UCI_PACKAGE}-server .cbi-section-actions{text-align:right}
|
||||
@media (max-width:720px){.pdk-server-info-modal__link-row{flex-direction:column}.pdk-server-info-modal__link-row .btn{align-self:flex-start}}
|
||||
|
||||
.pdk-server-info-modal{display:flex;flex-direction:column;gap:14px;width:560px;max-width:100%;box-sizing:border-box}
|
||||
.pdk-server-info-modal__container{display:flex;gap:24px;align-items:flex-start;width:100%;box-sizing:border-box}
|
||||
.pdk-server-info-modal__qr-col{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0;width:180px}
|
||||
.pdk-server-info-modal__qr-image{width:180px;height:180px;display:block;image-rendering:pixelated}
|
||||
.pdk-server-info-modal__details-col{display:flex;flex-direction:column;gap:16px;flex-grow:1;min-width:0;box-sizing:border-box}
|
||||
.pdk-server-info-modal__details-grid{display:flex;flex-direction:column;gap:10px;background:rgba(128,128,128,0.08);padding:14px;border:1px solid rgba(128,128,128,0.15);box-sizing:border-box}
|
||||
.pdk-server-info-modal__detail-item{display:flex;justify-content:space-between;align-items:center;gap:16px}
|
||||
.pdk-server-info-modal__detail-label{font-size:11px;opacity:0.65;text-transform:uppercase;letter-spacing:0.05em;font-weight:700}
|
||||
.pdk-server-info-modal__detail-value{font-size:13px;font-weight:500}
|
||||
.pdk-server-info-modal__detail-value--title{font-weight:600}
|
||||
.pdk-server-info-modal__detail-value--mono{font-family:monospace;font-size:12px;background:rgba(128,128,128,0.12);padding:2px 6px;border-radius:4px;word-break:break-all}
|
||||
.pdk-server-info-modal__badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid var(--border-color,rgba(128,128,128,0.25));background:rgba(128,128,128,0.08);line-height:1.2}
|
||||
.pdk-server-info-modal__link-section{display:flex;flex-direction:column;gap:8px;box-sizing:border-box}
|
||||
.pdk-server-info-modal__link{width:100% !important;max-width:100% !important;font-family:monospace;font-size:11px;padding:8px 10px;resize:none;min-height:54px;box-sizing:border-box;margin:0 !important;line-height:1.4;word-break:break-all;float:none !important;position:static !important;border-radius:0 !important;background-color:transparent !important}
|
||||
.pdk-server-info-modal__copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;padding:3px 10px !important;font-size:11px !important;height:auto !important;min-height:24px !important;float:none !important;position:static !important;margin:0 !important}
|
||||
|
||||
@media (max-width:640px){
|
||||
.pdk-server-info-modal{width:100%}
|
||||
.pdk-server-info-modal__container{flex-direction:column;align-items:center;gap:20px}
|
||||
.pdk-server-info-modal__qr-col{width:100%;max-width:180px}
|
||||
.pdk-server-info-modal__details-col{width:100%}
|
||||
}
|
||||
`,
|
||||
),
|
||||
);
|
||||
@@ -1142,6 +1158,12 @@ function iconSvg(name) {
|
||||
]);
|
||||
}
|
||||
|
||||
if (name === "check") {
|
||||
return svgEl("svg", attrs, [
|
||||
svgEl("polyline", { points: "20 6 9 17 4 12" }),
|
||||
]);
|
||||
}
|
||||
|
||||
if (name === "info") {
|
||||
return svgEl("svg", attrs, [
|
||||
svgEl("circle", { cx: "12", cy: "12", r: "10" }),
|
||||
@@ -1160,27 +1182,21 @@ function iconSvg(name) {
|
||||
]);
|
||||
}
|
||||
|
||||
function markButtonDone(button) {
|
||||
if (!button) {
|
||||
return;
|
||||
}
|
||||
|
||||
button.classList.add("pdk-server-icon-button--done");
|
||||
window.setTimeout(() => {
|
||||
button.classList.remove("pdk-server-icon-button--done");
|
||||
}, 700);
|
||||
}
|
||||
|
||||
function copyText(text, button) {
|
||||
function copyText(text) {
|
||||
const textarea = document.createElement("textarea");
|
||||
textarea.value = text;
|
||||
textarea.style.position = "fixed";
|
||||
textarea.style.top = "0";
|
||||
textarea.style.left = "0";
|
||||
textarea.style.opacity = "0";
|
||||
document.body.appendChild(textarea);
|
||||
textarea.select();
|
||||
|
||||
try {
|
||||
document.execCommand("copy");
|
||||
markButtonDone(button);
|
||||
main.showToast(_("Successfully copied!"), "success");
|
||||
} catch (error) {
|
||||
main.showToast(_("Failed to copy!"), "error");
|
||||
console.warn("Failed to copy server client link", error);
|
||||
}
|
||||
|
||||
@@ -1195,41 +1211,108 @@ function renderInfoClientLink(sectionId) {
|
||||
}
|
||||
|
||||
const qr = qrSvgDataUri(link);
|
||||
const protocol = getProtocol(sectionId);
|
||||
const security = getEffectiveSecurity(sectionId);
|
||||
const host = getPublicHost(sectionId);
|
||||
const port = uci.get(UCI_PACKAGE, sectionId, "listen_port") || "";
|
||||
const name = getServerName(sectionId);
|
||||
|
||||
return E("div", { class: "pdk-server-info-modal__block" }, [
|
||||
E("strong", {}, _("Client link QR code")),
|
||||
E("div", { class: "pdk-server-qr-modal" }, [
|
||||
const securitySuffix =
|
||||
security && security !== "none" ? ` + ${getSecurityLabel(security)}` : "";
|
||||
const protocolText = `${getProtocolLabel(protocol)}${securitySuffix}`;
|
||||
|
||||
return E("div", { class: "pdk-server-info-modal__container" }, [
|
||||
// Left column: QR code
|
||||
E("div", { class: "pdk-server-info-modal__qr-col" }, [
|
||||
qr
|
||||
? E("img", {
|
||||
class: "pdk-server-qr-modal__image",
|
||||
class: "pdk-server-info-modal__qr-image",
|
||||
src: qr,
|
||||
alt: _("Client link QR code"),
|
||||
})
|
||||
: E("em", {}, _("QR code is too large")),
|
||||
]),
|
||||
E("strong", {}, _("Client link")),
|
||||
E("div", { class: "pdk-server-info-modal__link-row" }, [
|
||||
E(
|
||||
"textarea",
|
||||
{
|
||||
class: "cbi-input-textarea pdk-server-info-modal__link",
|
||||
readonly: "readonly",
|
||||
rows: 3,
|
||||
},
|
||||
link,
|
||||
),
|
||||
E(
|
||||
"button",
|
||||
{
|
||||
class: "btn cbi-button cbi-button-neutral",
|
||||
type: "button",
|
||||
click: (ev) => {
|
||||
ev.preventDefault();
|
||||
copyText(link, ev.currentTarget);
|
||||
|
||||
// Right column: Details and Copy Box
|
||||
E("div", { class: "pdk-server-info-modal__details-col" }, [
|
||||
E("div", { class: "pdk-server-info-modal__details-grid" }, [
|
||||
E("div", { class: "pdk-server-info-modal__detail-item" }, [
|
||||
E(
|
||||
"span",
|
||||
{ class: "pdk-server-info-modal__detail-label" },
|
||||
_("Server name"),
|
||||
),
|
||||
E(
|
||||
"span",
|
||||
{
|
||||
class:
|
||||
"pdk-server-info-modal__detail-value pdk-server-info-modal__detail-value--title",
|
||||
},
|
||||
name,
|
||||
),
|
||||
]),
|
||||
E("div", { class: "pdk-server-info-modal__detail-item" }, [
|
||||
E(
|
||||
"span",
|
||||
{ class: "pdk-server-info-modal__detail-label" },
|
||||
_("Type"),
|
||||
),
|
||||
E(
|
||||
"span",
|
||||
{
|
||||
class:
|
||||
"pdk-server-info-modal__detail-value pdk-server-info-modal__badge",
|
||||
},
|
||||
protocolText,
|
||||
),
|
||||
]),
|
||||
E("div", { class: "pdk-server-info-modal__detail-item" }, [
|
||||
E(
|
||||
"span",
|
||||
{ class: "pdk-server-info-modal__detail-label" },
|
||||
_("Address"),
|
||||
),
|
||||
E(
|
||||
"span",
|
||||
{
|
||||
class:
|
||||
"pdk-server-info-modal__detail-value pdk-server-info-modal__detail-value--mono",
|
||||
},
|
||||
`${host}:${port}`,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
|
||||
E("div", { class: "pdk-server-info-modal__link-section" }, [
|
||||
E(
|
||||
"span",
|
||||
{ class: "pdk-server-info-modal__detail-label" },
|
||||
_("Client link"),
|
||||
),
|
||||
E(
|
||||
"textarea",
|
||||
{
|
||||
class: "cbi-input-textarea pdk-server-info-modal__link",
|
||||
readonly: "readonly",
|
||||
rows: 3,
|
||||
click: (ev) => ev.currentTarget.select(),
|
||||
},
|
||||
},
|
||||
[iconSvg("copy"), " ", _("Copy")],
|
||||
),
|
||||
link,
|
||||
),
|
||||
E(
|
||||
"button",
|
||||
{
|
||||
class:
|
||||
"btn cbi-button cbi-button-neutral pdk-server-info-modal__copy-btn",
|
||||
type: "button",
|
||||
click: (ev) => {
|
||||
ev.preventDefault();
|
||||
copyText(link);
|
||||
},
|
||||
},
|
||||
[iconSvg("copy"), " ", E("span", {}, _("Copy"))],
|
||||
),
|
||||
]),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-05-29 05:03+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 05:03+0300\n"
|
||||
"POT-Creation-Date: 2026-05-29 21:05+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 21:05+0300\n"
|
||||
"Last-Translator: ushan0v\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
@@ -26,12 +26,12 @@ msgstr "✔ Работает"
|
||||
msgid "✘ Stopped"
|
||||
msgstr "✘ Остановлен"
|
||||
|
||||
msgid "Accept routes"
|
||||
msgstr "Принимать маршруты"
|
||||
|
||||
msgid "Accept external proxy connections and route them with sing-box."
|
||||
msgstr "Принимает внешние прокси-подключения и маршрутизирует их через sing-box."
|
||||
|
||||
msgid "Accept routes"
|
||||
msgstr "Принимать маршруты"
|
||||
|
||||
msgid "Action"
|
||||
msgstr "Действие"
|
||||
|
||||
@@ -59,6 +59,9 @@ msgstr "Добавляйте URL или локальные пути к спис
|
||||
msgid "Additional marking rules found"
|
||||
msgstr "Найдены дополнительные правила маркировки"
|
||||
|
||||
msgid "Address"
|
||||
msgstr "Адрес"
|
||||
|
||||
msgid "Advertise exit node"
|
||||
msgstr "Анонсировать exit node"
|
||||
|
||||
@@ -201,7 +204,7 @@ msgid "CIDR must be between 0 and 32"
|
||||
msgstr "CIDR должен быть между 0 и 32"
|
||||
|
||||
msgid "Client fingerprint"
|
||||
msgstr "Client fingerprint"
|
||||
msgstr "Отпечаток клиента"
|
||||
|
||||
msgid "Client link"
|
||||
msgstr "Ссылка клиента"
|
||||
@@ -233,9 +236,6 @@ msgstr "Путь к файлу конфигурации"
|
||||
msgid "Configuration for Podkop Plus service"
|
||||
msgstr "Настройки сервиса Podkop Plus"
|
||||
|
||||
msgid "Connection statistics are unavailable"
|
||||
msgstr "Статистика подключений недоступна"
|
||||
|
||||
msgid "Connection URL"
|
||||
msgstr "URL подключения"
|
||||
|
||||
@@ -264,7 +264,7 @@ msgid "Delay value cannot be empty"
|
||||
msgstr "Значение задержки не может быть пустым"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
msgstr "Удалить"
|
||||
|
||||
msgid "Detect server country"
|
||||
msgstr "Определять страну сервера"
|
||||
@@ -461,6 +461,9 @@ msgstr "Полностью маршрутизированные IP-адреса"
|
||||
msgid "Get global check"
|
||||
msgstr "Получить глобальную проверку"
|
||||
|
||||
msgid "GitHub release"
|
||||
msgstr "Релиз на GitHub"
|
||||
|
||||
msgid "Global check"
|
||||
msgstr "Глобальная проверка"
|
||||
|
||||
@@ -1110,7 +1113,7 @@ msgid "Server name"
|
||||
msgstr "Имя сервера"
|
||||
|
||||
msgid "Server name / SNI"
|
||||
msgstr "Server name / SNI"
|
||||
msgstr "Имя сервера / SNI"
|
||||
|
||||
msgid "Servers"
|
||||
msgstr "Серверы"
|
||||
@@ -1379,9 +1382,6 @@ msgstr "Обновления"
|
||||
msgid "Uplink"
|
||||
msgstr "Исходящий"
|
||||
|
||||
msgid "Upload"
|
||||
msgstr "Загрузка"
|
||||
|
||||
msgid "Uploaded"
|
||||
msgstr "Отдано"
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-05-29 02:03+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 02:03+0300\n"
|
||||
"POT-Creation-Date: 2026-05-29 18:05+0300\n"
|
||||
"PO-Revision-Date: 2026-05-29 18:05+0300\n"
|
||||
"Last-Translator: ushan0v <ushanov2204@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
@@ -31,21 +31,20 @@ msgstr ""
|
||||
msgid "✘ Stopped"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2372
|
||||
msgid "Accept routes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:130
|
||||
msgid "Accept external proxy connections and route them with sing-box."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2376
|
||||
msgid "Accept routes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2492
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2524
|
||||
msgid "Action"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1248
|
||||
#: src/podkop/tabs/monitoring/initController.ts:501
|
||||
#: src/podkop/tabs/monitoring/initController.ts:555
|
||||
#: src/podkop/tabs/monitoring/render.ts:20
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
@@ -58,7 +57,7 @@ msgstr ""
|
||||
msgid "Add a section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:135
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:136
|
||||
msgid "Add a server inbound"
|
||||
msgstr ""
|
||||
|
||||
@@ -78,15 +77,19 @@ msgstr ""
|
||||
msgid "Additional marking rules found"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2355
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1273
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2359
|
||||
msgid "Advertise exit node"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2365
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2369
|
||||
msgid "Advertise routes"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:464
|
||||
#: src/podkop/tabs/monitoring/initController.ts:518
|
||||
#: src/podkop/tabs/monitoring/render.ts:39
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
@@ -107,11 +110,11 @@ msgstr ""
|
||||
msgid "Allows limiting the list of servers for URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2051
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2055
|
||||
msgid "ALPN"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2260
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2264
|
||||
msgid "Alter ID"
|
||||
msgstr ""
|
||||
|
||||
@@ -240,15 +243,15 @@ msgstr ""
|
||||
msgid "Cannot receive checks result"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1737
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1741
|
||||
msgid "Cannot save server"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2061
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2065
|
||||
msgid "Certificate path"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:306
|
||||
#: src/podkop/tabs/updates/initController.ts:324
|
||||
msgid "Check update"
|
||||
msgstr ""
|
||||
|
||||
@@ -290,27 +293,26 @@ msgstr ""
|
||||
msgid "CIDR must be between 0 and 32"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2159
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2163
|
||||
msgid "Client fingerprint"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1293
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1290
|
||||
msgid "Client link"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1277
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1210
|
||||
msgid "Client link is not available yet"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1283
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1289
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1231
|
||||
msgid "Client link QR code"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1339
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1335
|
||||
#: src/partials/modal/renderModal.ts:195
|
||||
#: src/podkop/tabs/monitoring/initController.ts:645
|
||||
#: src/podkop/tabs/monitoring/initController.ts:695
|
||||
#: src/podkop/tabs/monitoring/initController.ts:699
|
||||
#: src/podkop/tabs/monitoring/initController.ts:749
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
@@ -319,12 +321,12 @@ msgstr ""
|
||||
msgid "Close all connections"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:612
|
||||
#: src/podkop/tabs/monitoring/initController.ts:613
|
||||
#: src/podkop/tabs/monitoring/initController.ts:666
|
||||
#: src/podkop/tabs/monitoring/initController.ts:667
|
||||
msgid "Close connection"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:507
|
||||
#: src/podkop/tabs/monitoring/initController.ts:561
|
||||
#: src/podkop/tabs/monitoring/render.ts:29
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
@@ -341,19 +343,15 @@ msgstr ""
|
||||
msgid "Configuration for Podkop Plus service"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1262
|
||||
msgid "Connection statistics are unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2619
|
||||
msgid "Connection URL"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:748
|
||||
#: src/podkop/tabs/monitoring/initController.ts:802
|
||||
msgid "Connections are unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1314
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1313
|
||||
#: src/partials/modal/renderModal.ts:190
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
@@ -367,7 +365,7 @@ msgstr ""
|
||||
msgid "Currently unavailable"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:167
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:168
|
||||
msgid "Dashboard"
|
||||
msgstr ""
|
||||
|
||||
@@ -383,7 +381,7 @@ msgstr ""
|
||||
msgid "Delay value cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1355
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1351
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
@@ -391,7 +389,7 @@ msgstr ""
|
||||
msgid "Detect server country"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:61
|
||||
#: src/podkop/tabs/updates/initController.ts:62
|
||||
msgid "Dev"
|
||||
msgstr ""
|
||||
|
||||
@@ -404,12 +402,11 @@ msgstr ""
|
||||
msgid "DHCP has DNS server"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:155
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:156
|
||||
msgid "Diagnostics"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1984
|
||||
#: src/podkop/tabs/monitoring/initController.ts:119
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1988
|
||||
msgid "Direct"
|
||||
msgstr ""
|
||||
|
||||
@@ -496,7 +493,6 @@ msgstr ""
|
||||
msgid "Downlink"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1250
|
||||
#: src/partials/modal/renderModal.ts:185
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
@@ -513,8 +509,8 @@ msgstr ""
|
||||
msgid "Download lists/updates/subscriptions via Proxy/VPN"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:638
|
||||
#: src/podkop/tabs/monitoring/initController.ts:692
|
||||
#: src/podkop/tabs/monitoring/initController.ts:746
|
||||
msgid "Downloaded"
|
||||
msgstr ""
|
||||
|
||||
@@ -529,12 +525,12 @@ msgid "Duplicate value"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:68
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1348
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1344
|
||||
msgid "Edit rule action"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2482
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1900
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1904
|
||||
msgid "Enable"
|
||||
msgstr ""
|
||||
|
||||
@@ -622,24 +618,25 @@ msgstr ""
|
||||
msgid "External nfqws config files bypass Podkop Plus queue management and explicit validation."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1010
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1025
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1064
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1079
|
||||
msgid "Failed to close connection"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1044
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1057
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1098
|
||||
#: src/podkop/tabs/monitoring/initController.ts:1111
|
||||
msgid "Failed to close connections"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1199
|
||||
#: src/helpers/copyToClipboard.ts:12
|
||||
msgid "Failed to copy!"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/methods/shell/index.ts:97
|
||||
#: src/podkop/methods/shell/index.ts:273
|
||||
#: src/podkop/tabs/updates/initController.ts:241
|
||||
#: src/podkop/tabs/updates/initController.ts:285
|
||||
#: src/podkop/tabs/updates/initController.ts:254
|
||||
#: src/podkop/tabs/updates/initController.ts:303
|
||||
msgid "Failed to execute"
|
||||
msgstr ""
|
||||
|
||||
@@ -648,12 +645,12 @@ msgstr ""
|
||||
msgid "Failed to update subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/methods/custom/getDashboardSections.ts:259
|
||||
#: src/podkop/methods/custom/getDashboardSections.ts:307
|
||||
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:93
|
||||
msgid "Fastest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1738
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1742
|
||||
msgid "Fix the highlighted fields and save again."
|
||||
msgstr ""
|
||||
|
||||
@@ -665,11 +662,15 @@ msgstr ""
|
||||
msgid "Get global check"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:490
|
||||
msgid "GitHub release"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/initController.ts:415
|
||||
msgid "Global check"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2211
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2215
|
||||
msgid "gRPC service"
|
||||
msgstr ""
|
||||
|
||||
@@ -677,8 +678,8 @@ msgstr ""
|
||||
msgid "Hide filtered servers"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:628
|
||||
#: src/podkop/tabs/monitoring/initController.ts:688
|
||||
#: src/podkop/tabs/monitoring/initController.ts:682
|
||||
#: src/podkop/tabs/monitoring/initController.ts:742
|
||||
msgid "Host"
|
||||
msgstr ""
|
||||
|
||||
@@ -686,7 +687,7 @@ msgstr ""
|
||||
msgid "HTTP error"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2204
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2208
|
||||
msgid "HTTP hosts"
|
||||
msgstr ""
|
||||
|
||||
@@ -702,29 +703,29 @@ msgstr ""
|
||||
msgid "Include server in URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1356
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1352
|
||||
msgid "Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:77
|
||||
#: src/podkop/tabs/updates/initController.ts:381
|
||||
#: src/podkop/tabs/updates/initController.ts:410
|
||||
#: src/podkop/tabs/updates/initController.ts:78
|
||||
#: src/podkop/tabs/updates/initController.ts:402
|
||||
#: src/podkop/tabs/updates/initController.ts:432
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:74
|
||||
#: src/podkop/tabs/updates/initController.ts:75
|
||||
msgid "Install %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:329
|
||||
#: src/podkop/tabs/updates/initController.ts:347
|
||||
msgid "Install extended"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:322
|
||||
#: src/podkop/tabs/updates/initController.ts:340
|
||||
msgid "Install stable"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:137
|
||||
#: src/podkop/tabs/updates/initController.ts:150
|
||||
msgid "Installed version is newer than release"
|
||||
msgstr ""
|
||||
|
||||
@@ -757,11 +758,11 @@ msgstr ""
|
||||
msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:76
|
||||
#: src/validators/validateHysteriaUrl.ts:107
|
||||
msgid "Invalid HY2 URL: insecure must be 0 or 1"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:62
|
||||
#: src/validators/validateHysteriaUrl.ts:93
|
||||
msgid "Invalid HY2 URL: invalid port number"
|
||||
msgstr ""
|
||||
|
||||
@@ -793,19 +794,19 @@ msgstr ""
|
||||
msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:99
|
||||
#: src/validators/validateHysteriaUrl.ts:130
|
||||
msgid "Invalid HY2 URL: obfs-password required when obfs is set"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:115
|
||||
#: src/validators/validateHysteriaUrl.ts:146
|
||||
msgid "Invalid HY2 URL: parsing failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:108
|
||||
#: src/validators/validateHysteriaUrl.ts:139
|
||||
msgid "Invalid HY2 URL: sni cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/validators/validateHysteriaUrl.ts:88
|
||||
#: src/validators/validateHysteriaUrl.ts:119
|
||||
msgid "Invalid HY2 URL: unsupported obfs type"
|
||||
msgstr ""
|
||||
|
||||
@@ -948,7 +949,7 @@ msgstr ""
|
||||
msgid "JSON outbound"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2076
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2080
|
||||
msgid "Key path"
|
||||
msgstr ""
|
||||
|
||||
@@ -956,11 +957,11 @@ msgstr ""
|
||||
msgid "Keyword must not contain spaces"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:54
|
||||
#: src/podkop/tabs/updates/initController.ts:55
|
||||
msgid "Latest"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:140
|
||||
#: src/podkop/tabs/updates/initController.ts:153
|
||||
msgid "Latest version is installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -972,16 +973,15 @@ msgstr ""
|
||||
msgid "List Update Frequency"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1956
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1960
|
||||
msgid "Listen address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1963
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1967
|
||||
msgid "Listen port"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1255
|
||||
#: src/podkop/tabs/monitoring/initController.ts:738
|
||||
#: src/podkop/tabs/monitoring/initController.ts:792
|
||||
#: src/podkop/tabs/monitoring/render.ts:88
|
||||
msgid "Loading connections"
|
||||
msgstr ""
|
||||
@@ -1030,7 +1030,7 @@ msgstr ""
|
||||
msgid "Memory Usage"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2218
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2222
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
@@ -1050,7 +1050,7 @@ msgstr ""
|
||||
msgid "Monitored Interfaces"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:179
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:180
|
||||
msgid "Monitoring"
|
||||
msgstr ""
|
||||
|
||||
@@ -1078,11 +1078,11 @@ msgstr ""
|
||||
msgid "NFQWS strategy cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:762
|
||||
#: src/podkop/tabs/monitoring/initController.ts:816
|
||||
msgid "No active connections"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:763
|
||||
#: src/podkop/tabs/monitoring/initController.ts:817
|
||||
msgid "No closed connections"
|
||||
msgstr ""
|
||||
|
||||
@@ -1099,9 +1099,9 @@ msgid "No rules use Zapret"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:427
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2006
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2273
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2282
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2010
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2277
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2286
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
@@ -1109,9 +1109,9 @@ msgstr ""
|
||||
msgid "Not implement yet"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:347
|
||||
#: src/podkop/tabs/updates/initController.ts:365
|
||||
#: src/podkop/tabs/updates/initController.ts:394
|
||||
#: src/podkop/tabs/updates/initController.ts:366
|
||||
#: src/podkop/tabs/updates/initController.ts:385
|
||||
#: src/podkop/tabs/updates/initController.ts:415
|
||||
msgid "Not installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1128,11 +1128,11 @@ msgstr ""
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2281
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2285
|
||||
msgid "Obfuscation"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2304
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2308
|
||||
msgid "Obfuscation password"
|
||||
msgstr ""
|
||||
|
||||
@@ -1177,7 +1177,7 @@ msgstr ""
|
||||
msgid "Outbound JSON cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:58
|
||||
#: src/podkop/tabs/updates/initController.ts:59
|
||||
msgid "Outdated"
|
||||
msgstr ""
|
||||
|
||||
@@ -1185,7 +1185,7 @@ msgstr ""
|
||||
msgid "Output Network Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2244
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2248
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
@@ -1209,7 +1209,7 @@ msgstr ""
|
||||
msgid "Path must end with cache.db"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:520
|
||||
#: src/podkop/tabs/monitoring/initController.ts:574
|
||||
#: src/podkop/tabs/monitoring/render.ts:70
|
||||
#: src/podkop/tabs/monitoring/render.ts:71
|
||||
msgid "Pause updates"
|
||||
@@ -1239,7 +1239,7 @@ msgstr ""
|
||||
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1983
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1987
|
||||
msgid "Podkop Plus rules"
|
||||
msgstr ""
|
||||
|
||||
@@ -1288,7 +1288,7 @@ msgid "Port for the local mixed proxy of this section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1336
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1416
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1420
|
||||
msgid "Port must be between 1 and 65535"
|
||||
msgstr ""
|
||||
|
||||
@@ -1300,8 +1300,8 @@ msgstr ""
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1906
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1940
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1910
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1944
|
||||
msgid "Protocol"
|
||||
msgstr ""
|
||||
|
||||
@@ -1317,39 +1317,39 @@ msgstr ""
|
||||
msgid "Proxy traffic is routed via FakeIP"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1970
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1974
|
||||
msgid "Public host"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1291
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1233
|
||||
msgid "QR code is too large"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2094
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2098
|
||||
msgid "Reality fake site"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2105
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2109
|
||||
msgid "Reality fake site port"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2148
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2152
|
||||
msgid "Reality max time difference"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2116
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2120
|
||||
msgid "Reality private key"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2123
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2127
|
||||
msgid "Reality public key"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2129
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2133
|
||||
msgid "Reality short ID"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1604
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1608
|
||||
msgid "Reality short ID must contain 1-8 hex digits"
|
||||
msgstr ""
|
||||
|
||||
@@ -1361,8 +1361,8 @@ msgstr ""
|
||||
msgid "Regional options cannot be used together"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:372
|
||||
#: src/podkop/tabs/updates/initController.ts:401
|
||||
#: src/podkop/tabs/updates/initController.ts:393
|
||||
#: src/podkop/tabs/updates/initController.ts:423
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
|
||||
@@ -1394,12 +1394,12 @@ msgstr ""
|
||||
msgid "Restart Podkop Plus"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:520
|
||||
#: src/podkop/tabs/monitoring/initController.ts:574
|
||||
msgid "Resume updates"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:632
|
||||
#: src/podkop/tabs/monitoring/initController.ts:690
|
||||
#: src/podkop/tabs/monitoring/initController.ts:686
|
||||
#: src/podkop/tabs/monitoring/initController.ts:744
|
||||
msgid "Route"
|
||||
msgstr ""
|
||||
|
||||
@@ -1407,11 +1407,11 @@ msgstr ""
|
||||
msgid "Routing Excluded IPs"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1982
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1986
|
||||
msgid "Routing mode"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1991
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1995
|
||||
msgid "Routing section"
|
||||
msgstr ""
|
||||
|
||||
@@ -1479,7 +1479,7 @@ msgstr ""
|
||||
msgid "Sections"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2003
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2007
|
||||
msgid "Security"
|
||||
msgstr ""
|
||||
|
||||
@@ -1539,11 +1539,11 @@ msgstr ""
|
||||
msgid "Select the WAN interfaces to be monitored"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1985
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1989
|
||||
msgid "Selected section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:134
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:135
|
||||
msgid "Server"
|
||||
msgstr ""
|
||||
|
||||
@@ -1551,15 +1551,16 @@ msgstr ""
|
||||
msgid "Server filtering for URLTest"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1328
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1322
|
||||
msgid "Server information"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1917
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1243
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1921
|
||||
msgid "Server name"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2032
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2036
|
||||
msgid "Server name / SNI"
|
||||
msgstr ""
|
||||
|
||||
@@ -1583,7 +1584,7 @@ msgstr ""
|
||||
msgid "Services info"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:143
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:144
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2479
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
@@ -1629,8 +1630,8 @@ msgstr ""
|
||||
msgid "Sing-box version is compatible (newer than 1.12.4)"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:644
|
||||
#: src/podkop/tabs/monitoring/initController.ts:694
|
||||
#: src/podkop/tabs/monitoring/initController.ts:698
|
||||
#: src/podkop/tabs/monitoring/initController.ts:748
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
@@ -1642,12 +1643,12 @@ msgstr ""
|
||||
msgid "Source Network Interface"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1497
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1501
|
||||
msgid "Specify a file path"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1508
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1520
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1512
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1524
|
||||
msgid "Specify different files"
|
||||
msgstr ""
|
||||
|
||||
@@ -1719,6 +1720,7 @@ msgstr ""
|
||||
msgid "Subscription URL cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1197
|
||||
#: src/helpers/copyToClipboard.ts:10
|
||||
msgid "Successfully copied!"
|
||||
msgstr ""
|
||||
@@ -1735,15 +1737,15 @@ msgstr ""
|
||||
msgid "Table exist"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2320
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2324
|
||||
msgid "Tailscale auth key"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2329
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2333
|
||||
msgid "Tailscale control URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2337
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2341
|
||||
msgid "Tailscale hostname"
|
||||
msgstr ""
|
||||
|
||||
@@ -1772,11 +1774,11 @@ msgstr ""
|
||||
msgid "There are rules using Zapret"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1431
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1436
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1491
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1595
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2267
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1435
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1440
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1495
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1599
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2271
|
||||
msgid "This field is required"
|
||||
msgstr ""
|
||||
|
||||
@@ -1800,8 +1802,8 @@ msgstr ""
|
||||
msgid "This option requires a value."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:635
|
||||
#: src/podkop/tabs/monitoring/initController.ts:691
|
||||
#: src/podkop/tabs/monitoring/initController.ts:689
|
||||
#: src/podkop/tabs/monitoring/initController.ts:745
|
||||
msgid "Time"
|
||||
msgstr ""
|
||||
|
||||
@@ -1809,7 +1811,6 @@ msgstr ""
|
||||
msgid "Time in seconds for DNS record caching (default: 60)"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1268
|
||||
#: src/podkop/tabs/dashboard/initController.ts:474
|
||||
#: src/podkop/tabs/dashboard/partials/renderSections.ts:216
|
||||
msgid "Traffic"
|
||||
@@ -1823,19 +1824,19 @@ msgstr ""
|
||||
msgid "Transparent proxy mode is incompatible with action=byedpi because Podkop Plus connects to ciadpi through SOCKS."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2170
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2174
|
||||
msgid "Transport"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2194
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2198
|
||||
msgid "Transport host"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2181
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2185
|
||||
msgid "Transport path"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1549
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1553
|
||||
msgid "Transport path must start with /"
|
||||
msgstr ""
|
||||
|
||||
@@ -1851,8 +1852,9 @@ msgstr ""
|
||||
msgid "TTL value cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:629
|
||||
#: src/podkop/tabs/monitoring/initController.ts:689
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1258
|
||||
#: src/podkop/tabs/monitoring/initController.ts:683
|
||||
#: src/podkop/tabs/monitoring/initController.ts:743
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
@@ -1901,7 +1903,7 @@ msgstr ""
|
||||
#: src/podkop/services/systemInfo.service.ts:16
|
||||
#: src/podkop/services/systemInfo.service.ts:18
|
||||
#: src/podkop/services/systemInfo.service.ts:19
|
||||
#: src/podkop/tabs/updates/initController.ts:174
|
||||
#: src/podkop/tabs/updates/initController.ts:187
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1923,11 +1925,11 @@ msgstr ""
|
||||
msgid "Unknown NFQWS flag."
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1616
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1620
|
||||
msgid "Unsupported security mode for this protocol"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:133
|
||||
#: src/podkop/tabs/updates/initController.ts:146
|
||||
msgid "Update is available"
|
||||
msgstr ""
|
||||
|
||||
@@ -1936,7 +1938,7 @@ msgstr ""
|
||||
msgid "Update subscriptions"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:191
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/podkop.js:192
|
||||
msgid "Updates"
|
||||
msgstr ""
|
||||
|
||||
@@ -1945,12 +1947,8 @@ msgstr ""
|
||||
msgid "Uplink"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1249
|
||||
msgid "Upload"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/monitoring/initController.ts:641
|
||||
#: src/podkop/tabs/monitoring/initController.ts:693
|
||||
#: src/podkop/tabs/monitoring/initController.ts:695
|
||||
#: src/podkop/tabs/monitoring/initController.ts:747
|
||||
msgid "Uploaded"
|
||||
msgstr ""
|
||||
|
||||
@@ -1974,30 +1972,30 @@ msgstr ""
|
||||
msgid "URLTest URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1471
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1477
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1558
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1475
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1481
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1562
|
||||
msgid "Use a domain name or IPv4 address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1543
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1547
|
||||
msgid "Use a duration like 30s, 5m, or 1h30m"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2269
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2273
|
||||
msgid "Use a non-negative integer"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1530
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1532
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1534
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1536
|
||||
msgid "Use an HTTP or HTTPS URL"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1484
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1488
|
||||
msgid "Use an IPv4 listen address"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1590
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1594
|
||||
msgid "Use CIDR prefixes like 192.168.1.0/24"
|
||||
msgstr ""
|
||||
|
||||
@@ -2006,7 +2004,7 @@ msgstr ""
|
||||
msgid "Use format: URL | User-Agent"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1564
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1568
|
||||
msgid "Use letters, digits, dots, underscores, or hyphens"
|
||||
msgstr ""
|
||||
|
||||
@@ -2021,7 +2019,7 @@ msgstr ""
|
||||
msgid "Use sing-box duration format like 1d, 12h or 30m"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2228
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2232
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
@@ -2033,7 +2031,7 @@ msgstr ""
|
||||
#: src/validators/validateDns.ts:18
|
||||
#: src/validators/validateDomain.ts:13
|
||||
#: src/validators/validateDomain.ts:30
|
||||
#: src/validators/validateHysteriaUrl.ts:113
|
||||
#: src/validators/validateHysteriaUrl.ts:144
|
||||
#: src/validators/validateIp.ts:8
|
||||
#: src/validators/validateOutboundJson.ts:7
|
||||
#: src/validators/validatePath.ts:16
|
||||
@@ -2052,11 +2050,11 @@ msgstr ""
|
||||
msgid "Validation errors:"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1440
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:1444
|
||||
msgid "Value must not contain control characters"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/updates/initController.ts:467
|
||||
#: src/podkop/tabs/updates/initController.ts:515
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
@@ -2069,7 +2067,7 @@ msgstr ""
|
||||
msgid "Visible name of this section"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2272
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/server.js:2276
|
||||
msgid "VLESS flow"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -8778,8 +8778,8 @@ show_sing_box_version() {
|
||||
echo "$version"
|
||||
}
|
||||
|
||||
fetch_latest_podkop_version() {
|
||||
local owner repo response tag
|
||||
fetch_latest_podkop_release_json() {
|
||||
local owner repo
|
||||
|
||||
owner="${PODKOP_RELEASE_REPO%%/*}"
|
||||
repo="${PODKOP_RELEASE_REPO#*/}"
|
||||
@@ -8787,7 +8787,13 @@ fetch_latest_podkop_version() {
|
||||
[ -n "$repo" ] || return 1
|
||||
[ "$owner" != "$repo" ] || return 1
|
||||
|
||||
response="$(updates_fetch_github_release_json "$owner" "$repo")" || return 1
|
||||
updates_fetch_github_release_json "$owner" "$repo"
|
||||
}
|
||||
|
||||
fetch_latest_podkop_version() {
|
||||
local response tag
|
||||
|
||||
response="$(fetch_latest_podkop_release_json)" || return 1
|
||||
tag="$(printf '%s' "$response" | json_utils_ucode object-get-default tag_name "" 2>/dev/null)"
|
||||
|
||||
[ -n "$tag" ] || return 1
|
||||
|
||||
@@ -355,7 +355,7 @@ function select_byedpi_asset_from_release(release, asset_ext, arch_candidates) {
|
||||
let name = as_string(asset.name || "");
|
||||
let url = as_string(asset.browser_download_url || "");
|
||||
if (url != "" && byedpi_asset_matches(name, arch, asset_ext)) {
|
||||
print(arch, "\t", name, "\t", url, "\n");
|
||||
print(arch, "\t", name, "\t", url, "\t", as_string(release.html_url || ""), "\n");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,15 @@ UPDATES_ZAPRET_BUNDLE_NAME=""
|
||||
UPDATES_ZAPRET_PACKAGE_FILE=""
|
||||
UPDATES_ZAPRET_PACKAGE_NAME=""
|
||||
UPDATES_ZAPRET_PACKAGE_VERSION=""
|
||||
UPDATES_ZAPRET_RELEASE_URL=""
|
||||
UPDATES_BYEDPI_ARCH=""
|
||||
UPDATES_BYEDPI_PACKAGE_URL=""
|
||||
UPDATES_BYEDPI_PACKAGE_NAME=""
|
||||
UPDATES_BYEDPI_PACKAGE_FILE=""
|
||||
UPDATES_BYEDPI_PACKAGE_VERSION=""
|
||||
UPDATES_BYEDPI_RELEASE_URL=""
|
||||
UPDATES_PODKOP_BACKEND_URL=""
|
||||
UPDATES_PODKOP_RELEASE_URL=""
|
||||
UPDATES_PODKOP_BACKEND_NAME=""
|
||||
UPDATES_PODKOP_BACKEND_FILE=""
|
||||
UPDATES_PODKOP_APP_URL=""
|
||||
@@ -24,6 +27,7 @@ UPDATES_PODKOP_I18N_URL=""
|
||||
UPDATES_PODKOP_I18N_NAME=""
|
||||
UPDATES_PODKOP_I18N_FILE=""
|
||||
UPDATES_SING_BOX_EXTENDED_RELEASE_TAG=""
|
||||
UPDATES_SING_BOX_EXTENDED_RELEASE_URL=""
|
||||
UPDATES_SING_BOX_EXTENDED_ARCH_SUFFIX=""
|
||||
UPDATES_SING_BOX_EXTENDED_ASSET_URL=""
|
||||
UPDATES_SING_BOX_EXTENDED_ASSET_NAME=""
|
||||
@@ -117,6 +121,7 @@ updates_json_response() {
|
||||
local latest_version="${6:-}"
|
||||
local changed="${7:-0}"
|
||||
local status="${8:-}"
|
||||
local release_url="${9:-}"
|
||||
|
||||
json_utils_ucode object-json \
|
||||
success b "$success" \
|
||||
@@ -126,7 +131,8 @@ updates_json_response() {
|
||||
current_version s "$current_version" \
|
||||
latest_version s "$latest_version" \
|
||||
changed n "$changed" \
|
||||
status s "$status"
|
||||
status s "$status" \
|
||||
release_url s "$release_url"
|
||||
}
|
||||
|
||||
updates_success() {
|
||||
@@ -759,8 +765,9 @@ updates_check_success() {
|
||||
local component="$1"
|
||||
local current_version="$2"
|
||||
local latest_version="$3"
|
||||
local release_url="${4:-}"
|
||||
|
||||
updates_check_success_compared "$component" "$current_version" "$latest_version" "$current_version" "$latest_version"
|
||||
updates_check_success_compared "$component" "$current_version" "$latest_version" "$current_version" "$latest_version" "$release_url"
|
||||
}
|
||||
|
||||
updates_check_success_compared() {
|
||||
@@ -769,6 +776,7 @@ updates_check_success_compared() {
|
||||
local latest_version="$3"
|
||||
local compare_current_version="$4"
|
||||
local compare_latest_version="$5"
|
||||
local release_url="${6:-}"
|
||||
local compare_result status message
|
||||
|
||||
compare_result="$(updates_compare_versions "$compare_current_version" "$compare_latest_version" 2>/dev/null || true)"
|
||||
@@ -791,7 +799,18 @@ updates_check_success_compared() {
|
||||
;;
|
||||
esac
|
||||
|
||||
updates_success "$component" "check_update" "$message" "$current_version" "$latest_version" 0 "$status"
|
||||
updates_success "$component" "check_update" "$message" "$current_version" "$latest_version" 0 "$status" "$release_url"
|
||||
}
|
||||
|
||||
updates_fetch_podkop_latest_release_metadata() {
|
||||
local release_json tag release_url
|
||||
|
||||
release_json="$(fetch_latest_podkop_release_json)" || return 1
|
||||
tag="$(printf '%s' "$release_json" | json_utils_ucode object-get-default tag_name "" 2>/dev/null)"
|
||||
[ -n "$tag" ] || return 1
|
||||
release_url="$(printf '%s' "$release_json" | json_utils_ucode object-get-default html_url "" 2>/dev/null)"
|
||||
|
||||
printf '%s\t%s\n' "$tag" "$release_url"
|
||||
}
|
||||
|
||||
updates_ensure_package_tool() {
|
||||
@@ -1037,6 +1056,7 @@ updates_resolve_podkop_plus_release() {
|
||||
local owner repo asset_ext release_json release_tag
|
||||
|
||||
UPDATES_PODKOP_BACKEND_URL=""
|
||||
UPDATES_PODKOP_RELEASE_URL=""
|
||||
UPDATES_PODKOP_BACKEND_NAME=""
|
||||
UPDATES_PODKOP_APP_URL=""
|
||||
UPDATES_PODKOP_APP_NAME=""
|
||||
@@ -1056,6 +1076,7 @@ updates_resolve_podkop_plus_release() {
|
||||
[ -n "$release_json" ] || return 1
|
||||
release_tag="$(printf '%s' "$release_json" | json_utils_ucode object-get-default tag_name "" 2>/dev/null)"
|
||||
[ "$release_tag" = "$latest_version" ] || return 1
|
||||
UPDATES_PODKOP_RELEASE_URL="$(printf '%s' "$release_json" | json_utils_ucode object-get-default html_url "" 2>/dev/null)"
|
||||
|
||||
UPDATES_PODKOP_BACKEND_NAME="$(updates_select_release_asset_name "$release_json" "podkop-plus" "$asset_ext")"
|
||||
UPDATES_PODKOP_APP_NAME="$(updates_select_release_asset_name "$release_json" "luci-app-podkop-plus" "$asset_ext")"
|
||||
@@ -1111,8 +1132,10 @@ updates_resolve_zapret_release() {
|
||||
UPDATES_ZAPRET_BUNDLE_URL=""
|
||||
UPDATES_ZAPRET_BUNDLE_NAME=""
|
||||
UPDATES_ZAPRET_PACKAGE_VERSION=""
|
||||
UPDATES_ZAPRET_RELEASE_URL=""
|
||||
|
||||
release_json="$(updates_fetch_github_release_json "remittor" "zapret-openwrt")" || return 1
|
||||
UPDATES_ZAPRET_RELEASE_URL="$(printf '%s' "$release_json" | json_utils_ucode object-get-default html_url "" 2>/dev/null)"
|
||||
|
||||
for arch in $UPDATES_ARCH_CANDIDATES; do
|
||||
candidate_name="$(printf '%s' "$release_json" | json_utils_ucode release-asset-name-by-suffix "_${arch}.zip" 2>/dev/null)"
|
||||
@@ -1168,6 +1191,7 @@ updates_resolve_byedpi_release() {
|
||||
UPDATES_BYEDPI_PACKAGE_URL=""
|
||||
UPDATES_BYEDPI_PACKAGE_NAME=""
|
||||
UPDATES_BYEDPI_PACKAGE_VERSION=""
|
||||
UPDATES_BYEDPI_RELEASE_URL=""
|
||||
|
||||
asset_ext="ipk"
|
||||
updates_is_apk && asset_ext="apk"
|
||||
@@ -1182,6 +1206,7 @@ updates_resolve_byedpi_release() {
|
||||
UPDATES_BYEDPI_ARCH="$(printf '%s\n' "$resolved" | cut -f1)"
|
||||
UPDATES_BYEDPI_PACKAGE_NAME="$(printf '%s\n' "$resolved" | cut -f2)"
|
||||
UPDATES_BYEDPI_PACKAGE_URL="$(printf '%s\n' "$resolved" | cut -f3)"
|
||||
UPDATES_BYEDPI_RELEASE_URL="$(printf '%s\n' "$resolved" | cut -f4)"
|
||||
|
||||
[ -n "$UPDATES_BYEDPI_ARCH" ] || return 1
|
||||
[ -n "$UPDATES_BYEDPI_PACKAGE_NAME" ] || return 1
|
||||
@@ -1229,7 +1254,7 @@ updates_install_zapret() {
|
||||
[ "$installed" -eq 1 ] || updates_fail "zapret" "$action" "zapret is not installed" "$current_version" "$UPDATES_ZAPRET_PACKAGE_VERSION"
|
||||
normalized_current="$(updates_normalize_zapret_version "$current_version")"
|
||||
normalized_latest="$(updates_normalize_zapret_version "$UPDATES_ZAPRET_PACKAGE_VERSION")"
|
||||
updates_check_success_compared "zapret" "$current_version" "$UPDATES_ZAPRET_PACKAGE_VERSION" "$normalized_current" "$normalized_latest"
|
||||
updates_check_success_compared "zapret" "$current_version" "$UPDATES_ZAPRET_PACKAGE_VERSION" "$normalized_current" "$normalized_latest" "$UPDATES_ZAPRET_RELEASE_URL"
|
||||
fi
|
||||
|
||||
updates_ensure_package_tool "unzip" "unzip" || updates_fail "zapret" "$action" "Failed to install unzip"
|
||||
@@ -1262,7 +1287,7 @@ updates_install_byedpi() {
|
||||
|
||||
if [ "$action" = "check_update" ]; then
|
||||
[ "$installed" -eq 1 ] || updates_fail "byedpi" "$action" "ByeDPI is not installed" "$current_version" "$UPDATES_BYEDPI_PACKAGE_VERSION"
|
||||
updates_check_success "byedpi" "$current_version" "$UPDATES_BYEDPI_PACKAGE_VERSION"
|
||||
updates_check_success "byedpi" "$current_version" "$UPDATES_BYEDPI_PACKAGE_VERSION" "$UPDATES_BYEDPI_RELEASE_URL"
|
||||
fi
|
||||
|
||||
updates_download_byedpi_package || updates_fail "byedpi" "$action" "Failed to download ByeDPI package"
|
||||
@@ -1364,6 +1389,7 @@ updates_resolve_sing_box_extended_release() {
|
||||
local response tag release_json asset_pattern
|
||||
|
||||
UPDATES_SING_BOX_EXTENDED_RELEASE_TAG=""
|
||||
UPDATES_SING_BOX_EXTENDED_RELEASE_URL=""
|
||||
UPDATES_SING_BOX_EXTENDED_ASSET_URL=""
|
||||
UPDATES_SING_BOX_EXTENDED_ASSET_NAME=""
|
||||
|
||||
@@ -1375,6 +1401,7 @@ updates_resolve_sing_box_extended_release() {
|
||||
[ -n "$tag" ] || return 1
|
||||
UPDATES_SING_BOX_EXTENDED_RELEASE_TAG="$tag"
|
||||
release_json="$(printf '%s' "$response" | json_utils_ucode release-by-tag "$tag" 2>/dev/null)"
|
||||
UPDATES_SING_BOX_EXTENDED_RELEASE_URL="$(printf '%s' "$release_json" | json_utils_ucode object-get-default html_url "" 2>/dev/null)"
|
||||
asset_pattern="linux-${UPDATES_SING_BOX_EXTENDED_ARCH_SUFFIX}.tar.gz"
|
||||
UPDATES_SING_BOX_EXTENDED_ASSET_URL="$(printf '%s' "$release_json" | json_utils_ucode release-asset-url-by-suffix "$asset_pattern" 2>/dev/null)"
|
||||
|
||||
@@ -1395,7 +1422,7 @@ updates_install_sing_box_extended() {
|
||||
|
||||
if [ "$action" = "check_update" ]; then
|
||||
is_sing_box_extended "$current_version" || updates_fail "sing_box" "$action" "sing-box-extended is not installed" "$current_version" "$latest_version"
|
||||
updates_check_success "sing_box" "$normalized_current" "$normalized_latest"
|
||||
updates_check_success "sing_box" "$normalized_current" "$normalized_latest" "$UPDATES_SING_BOX_EXTENDED_RELEASE_URL"
|
||||
fi
|
||||
|
||||
archive_file="$UPDATES_TMP_DIR/$UPDATES_SING_BOX_EXTENDED_ASSET_NAME"
|
||||
@@ -1474,9 +1501,11 @@ updates_install_stable_sing_box() {
|
||||
}
|
||||
|
||||
updates_check_podkop_plus() {
|
||||
local latest_version compare_result status message now
|
||||
local release_metadata latest_version release_url compare_result status message now
|
||||
|
||||
latest_version="$(fetch_latest_podkop_version)"
|
||||
release_metadata="$(updates_fetch_podkop_latest_release_metadata 2>/dev/null || true)"
|
||||
latest_version="$(printf '%s\n' "$release_metadata" | cut -f1)"
|
||||
release_url="$(printf '%s\n' "$release_metadata" | cut -f2)"
|
||||
[ -n "$latest_version" ] || latest_version="unknown"
|
||||
|
||||
if [ "$latest_version" = "unknown" ]; then
|
||||
@@ -1491,7 +1520,7 @@ updates_check_podkop_plus() {
|
||||
|
||||
if ! is_podkop_release_version "$PODKOP_VERSION"; then
|
||||
updates_log "Podkop Plus current version is not a release version ($PODKOP_VERSION)"
|
||||
updates_success "podkop" "check_update" "Installed version is newer than release" "$PODKOP_VERSION" "$latest_version" 0 "dev"
|
||||
updates_success "podkop" "check_update" "Installed version is newer than release" "$PODKOP_VERSION" "$latest_version" 0 "dev" "$release_url"
|
||||
fi
|
||||
|
||||
compare_result="$(podkop_release_version_compare "$PODKOP_VERSION" "$latest_version" 2>/dev/null || true)"
|
||||
@@ -1515,7 +1544,7 @@ updates_check_podkop_plus() {
|
||||
;;
|
||||
esac
|
||||
|
||||
updates_success "podkop" "check_update" "$message" "$PODKOP_VERSION" "$latest_version" 0 "$status"
|
||||
updates_success "podkop" "check_update" "$message" "$PODKOP_VERSION" "$latest_version" 0 "$status" "$release_url"
|
||||
}
|
||||
|
||||
updates_install_podkop_plus() {
|
||||
@@ -1562,7 +1591,7 @@ updates_install_podkop_plus() {
|
||||
new_version="$(updates_get_installed_package_version "podkop-plus")"
|
||||
[ -n "$new_version" ] || new_version="$latest_version"
|
||||
updates_log "Podkop Plus updated to $new_version"
|
||||
updates_success "podkop" "install" "Podkop Plus has been installed" "$new_version" "$latest_version" 1 "latest"
|
||||
updates_success "podkop" "install" "Podkop Plus has been installed" "$new_version" "$latest_version" 1 "latest" "$UPDATES_PODKOP_RELEASE_URL"
|
||||
}
|
||||
|
||||
component_action() {
|
||||
|
||||
Reference in New Issue
Block a user