Expand zapret provider diagnostics
This commit is contained in:
@@ -1,4 +1,11 @@
|
||||
[
|
||||
{
|
||||
"call": "/etc/config/zapret present",
|
||||
"key": "/etc/config/zapret present",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:136"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "✔ Running",
|
||||
"key": "✔ Running",
|
||||
@@ -216,7 +223,7 @@
|
||||
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28",
|
||||
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:27",
|
||||
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:24"
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:30"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -228,7 +235,7 @@
|
||||
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13",
|
||||
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:15",
|
||||
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:12"
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:18"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -249,7 +256,7 @@
|
||||
"call": "Checks passed",
|
||||
"key": "Checks passed",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:40",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:51",
|
||||
"src/podkop/tabs/diagnostic/helpers/getMeta.ts:13"
|
||||
]
|
||||
},
|
||||
@@ -1178,6 +1185,13 @@
|
||||
"src/podkop/tabs/diagnostic/initController.ts:502"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Legacy runtime paths",
|
||||
"key": "Legacy runtime paths",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:151"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "List must be a direct .lst URL or a local .lst path",
|
||||
"key": "List must be a direct .lst URL or a local .lst path",
|
||||
@@ -1213,6 +1227,13 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:418"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "luci-app-zapret installed",
|
||||
"key": "luci-app-zapret installed",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:141"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Main DNS",
|
||||
"key": "Main DNS",
|
||||
@@ -1299,6 +1320,13 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1786"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "NFQUEUE range",
|
||||
"key": "NFQUEUE range",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:146"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "NFQWS Strategy",
|
||||
"key": "NFQWS Strategy",
|
||||
@@ -1313,6 +1341,13 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1129"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "no",
|
||||
"key": "no",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "No other marking rules found",
|
||||
"key": "No other marking rules found",
|
||||
@@ -1324,7 +1359,6 @@
|
||||
"call": "No rules use zapret",
|
||||
"key": "No rules use zapret",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:52",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:99"
|
||||
]
|
||||
},
|
||||
@@ -1469,6 +1503,13 @@
|
||||
"src/podkop/tabs/diagnostic/diagnostic.store.ts:153"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Podkop nfqws supervisors",
|
||||
"key": "Podkop nfqws supervisors",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:119"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here.",
|
||||
"key": "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here.",
|
||||
@@ -1490,6 +1531,20 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:361"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Podkop-managed nfqws is not ready",
|
||||
"key": "Podkop-managed nfqws is not ready",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Podkop-managed nfqws processes",
|
||||
"key": "Podkop-managed nfqws processes",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:108"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Port cannot be empty",
|
||||
"key": "Port cannot be empty",
|
||||
@@ -1504,6 +1559,20 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1942"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Possible packet-level overlap",
|
||||
"key": "Possible packet-level overlap",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:156"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Provider binary",
|
||||
"key": "Provider binary",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:83"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Proxy Configuration URL",
|
||||
"key": "Proxy Configuration URL",
|
||||
@@ -1891,6 +1960,27 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:448"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Standalone zapret enabled",
|
||||
"key": "Standalone zapret enabled",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:131"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Standalone zapret may overlap with Podkop Plus",
|
||||
"key": "Standalone zapret may overlap with Podkop Plus",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Standalone zapret running",
|
||||
"key": "Standalone zapret running",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:126"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Start Podkop Plus",
|
||||
"key": "Start Podkop Plus",
|
||||
@@ -1965,8 +2055,7 @@
|
||||
"call": "There are rules using zapret",
|
||||
"key": "There are rules using zapret",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:51",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:76"
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:98"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2297,6 +2386,13 @@
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:262"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "yes",
|
||||
"key": "yes",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:8"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "You can select Output Network Interface, by default autodetect",
|
||||
"key": "You can select Output Network Interface, by default autodetect",
|
||||
@@ -2305,13 +2401,20 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Zapret (package not installed)",
|
||||
"key": "Zapret (package not installed)",
|
||||
"call": "Zapret (provider not available)",
|
||||
"key": "Zapret (provider not available)",
|
||||
"places": [
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:237",
|
||||
"../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:284"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Zapret conflict detected",
|
||||
"key": "Zapret conflict detected",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies.",
|
||||
"key": "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies.",
|
||||
@@ -2320,20 +2423,24 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Zapret installed",
|
||||
"key": "Zapret installed",
|
||||
"call": "Zapret package installed",
|
||||
"key": "Zapret package installed",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:45"
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:92"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Zapret not installed",
|
||||
"key": "Zapret not installed",
|
||||
"call": "Zapret provider is not available",
|
||||
"key": "Zapret provider is not available",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:66",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:71",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:89",
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:94"
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:55"
|
||||
]
|
||||
},
|
||||
{
|
||||
"call": "Zapret provider is not installed",
|
||||
"key": "Zapret provider is not installed",
|
||||
"places": [
|
||||
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64"
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -1,21 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2026 THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PODKOP PLUS package.
|
||||
# ushan0v <ushan0v@users.noreply.github.com>, 2026.
|
||||
# Codex <codex@local>, 2026.
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-04-12 03:08+0300\n"
|
||||
"PO-Revision-Date: 2026-04-12 03:08+0300\n"
|
||||
"Last-Translator: ushan0v <ushan0v@users.noreply.github.com>\n"
|
||||
"POT-Creation-Date: 2026-05-01 12:57+0300\n"
|
||||
"PO-Revision-Date: 2026-05-01 12:57+0300\n"
|
||||
"Last-Translator: Codex <codex@local>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:136
|
||||
msgid "/etc/config/zapret present"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/dashboard/initController.ts:345
|
||||
#: src/podkop/tabs/dashboard/initController.ts:356
|
||||
#: src/podkop/tabs/dashboard/initController.ts:369
|
||||
@@ -142,7 +146,7 @@ msgstr ""
|
||||
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28
|
||||
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:27
|
||||
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:24
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:30
|
||||
msgid "Cannot receive checks result"
|
||||
msgstr ""
|
||||
|
||||
@@ -151,7 +155,7 @@ msgstr ""
|
||||
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13
|
||||
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:15
|
||||
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:12
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:18
|
||||
msgid "Checking, please wait"
|
||||
msgstr ""
|
||||
|
||||
@@ -163,7 +167,7 @@ msgstr ""
|
||||
msgid "Checks failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:40
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:51
|
||||
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
|
||||
msgid "Checks passed"
|
||||
msgstr ""
|
||||
@@ -709,6 +713,10 @@ msgstr ""
|
||||
msgid "Latest"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:151
|
||||
msgid "Legacy runtime paths"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1504
|
||||
msgid "List must be a direct .lst URL or a local .lst path"
|
||||
msgstr ""
|
||||
@@ -729,6 +737,10 @@ msgstr ""
|
||||
msgid "Log Level"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:141
|
||||
msgid "luci-app-zapret installed"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72
|
||||
msgid "Main DNS"
|
||||
msgstr ""
|
||||
@@ -779,6 +791,10 @@ msgstr ""
|
||||
msgid "Must be a number in the range of 50 - 1000"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:146
|
||||
msgid "NFQUEUE range"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1617
|
||||
msgid "NFQWS Strategy"
|
||||
msgstr ""
|
||||
@@ -787,11 +803,14 @@ msgstr ""
|
||||
msgid "NFQWS strategy cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:8
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105
|
||||
msgid "No other marking rules found"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:52
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:99
|
||||
msgid "No rules use zapret"
|
||||
msgstr ""
|
||||
@@ -883,6 +902,10 @@ msgstr ""
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:119
|
||||
msgid "Podkop nfqws supervisors"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1017
|
||||
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr ""
|
||||
@@ -895,6 +918,14 @@ msgstr ""
|
||||
msgid "Podkop Plus will not modify your DHCP configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58
|
||||
msgid "Podkop-managed nfqws is not ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:108
|
||||
msgid "Podkop-managed nfqws processes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1949
|
||||
msgid "Port cannot be empty"
|
||||
msgstr ""
|
||||
@@ -903,6 +934,14 @@ msgstr ""
|
||||
msgid "Port for the local mixed proxy of this section"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:156
|
||||
msgid "Possible packet-level overlap"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:83
|
||||
msgid "Provider binary"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:31
|
||||
msgid "Proxy Configuration URL"
|
||||
msgstr ""
|
||||
@@ -1125,6 +1164,18 @@ msgstr ""
|
||||
msgid "Specify a local IP address to be excluded from routing"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:131
|
||||
msgid "Standalone zapret enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67
|
||||
msgid "Standalone zapret may overlap with Podkop Plus"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:126
|
||||
msgid "Standalone zapret running"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69
|
||||
msgid "Start Podkop Plus"
|
||||
msgstr ""
|
||||
@@ -1165,8 +1216,7 @@ msgstr ""
|
||||
msgid "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:51
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:76
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:98
|
||||
msgid "There are rules using zapret"
|
||||
msgstr ""
|
||||
|
||||
@@ -1369,26 +1419,35 @@ msgstr ""
|
||||
msgid "YACD Secret Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:8
|
||||
msgid "yes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:133
|
||||
msgid "You can select Output Network Interface, by default autodetect"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:237
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:284
|
||||
msgid "Zapret (package not installed)"
|
||||
msgid "Zapret (provider not available)"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
|
||||
msgid "Zapret conflict detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1008
|
||||
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:45
|
||||
msgid "Zapret installed"
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:92
|
||||
msgid "Zapret package installed"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:66
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:71
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:89
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:94
|
||||
msgid "Zapret not installed"
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:55
|
||||
msgid "Zapret provider is not available"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64
|
||||
msgid "Zapret provider is not installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# RU translations for PODKOP PLUS package.
|
||||
# Copyright (C) 2026 THE PODKOP PLUS COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PODKOP PLUS package.
|
||||
# ushan0v, 2026.
|
||||
# Codex, 2026.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-04-12 06:08+0300\n"
|
||||
"PO-Revision-Date: 2026-04-12 06:08+0300\n"
|
||||
"Last-Translator: ushan0v\n"
|
||||
"POT-Creation-Date: 2026-05-01 15:57+0300\n"
|
||||
"PO-Revision-Date: 2026-05-01 15:57+0300\n"
|
||||
"Last-Translator: Codex\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -17,6 +17,9 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
msgid "/etc/config/zapret present"
|
||||
msgstr ""
|
||||
|
||||
msgid "✔ Running"
|
||||
msgstr "✔ Работает"
|
||||
|
||||
@@ -503,6 +506,9 @@ msgstr "Ключевое слово не должно содержать про
|
||||
msgid "Latest"
|
||||
msgstr "Последняя"
|
||||
|
||||
msgid "Legacy runtime paths"
|
||||
msgstr ""
|
||||
|
||||
msgid "List must be a direct .lst URL or a local .lst path"
|
||||
msgstr "Список должен быть прямым URL на .lst или локальным путём к .lst"
|
||||
|
||||
@@ -518,6 +524,9 @@ msgstr "Локальный путь к набору правил sing-box"
|
||||
msgid "Log Level"
|
||||
msgstr "Уровень логов"
|
||||
|
||||
msgid "luci-app-zapret installed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Main DNS"
|
||||
msgstr "Основной DNS"
|
||||
|
||||
@@ -554,12 +563,18 @@ msgstr "Наблюдаемые интерфейсы"
|
||||
msgid "Must be a number in the range of 50 - 1000"
|
||||
msgstr "Должно быть числом от 50 до 1000"
|
||||
|
||||
msgid "NFQUEUE range"
|
||||
msgstr ""
|
||||
|
||||
msgid "NFQWS Strategy"
|
||||
msgstr "Стратегия NFQWS"
|
||||
|
||||
msgid "NFQWS strategy cannot be empty"
|
||||
msgstr "Стратегия NFQWS не может быть пустой"
|
||||
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
msgid "No other marking rules found"
|
||||
msgstr "Другие правила маркировки не найдены"
|
||||
|
||||
@@ -620,6 +635,9 @@ msgstr "Путь должен заканчиваться на cache.db"
|
||||
msgid "Pending"
|
||||
msgstr "Ожидает запуска"
|
||||
|
||||
msgid "Podkop nfqws supervisors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr "Podkop Plus сам управляет жизненным циклом nfqws, поэтому режим daemon здесь запрещён."
|
||||
|
||||
@@ -629,12 +647,24 @@ msgstr "Настройки Podkop Plus"
|
||||
msgid "Podkop Plus will not modify your DHCP configuration"
|
||||
msgstr "Podkop Plus не будет изменять вашу конфигурацию DHCP"
|
||||
|
||||
msgid "Podkop-managed nfqws is not ready"
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop-managed nfqws processes"
|
||||
msgstr ""
|
||||
|
||||
msgid "Port cannot be empty"
|
||||
msgstr "Порт не может быть пустым"
|
||||
|
||||
msgid "Port for the local mixed proxy of this section"
|
||||
msgstr "Порт локального смешанного прокси для этой секции"
|
||||
|
||||
msgid "Possible packet-level overlap"
|
||||
msgstr ""
|
||||
|
||||
msgid "Provider binary"
|
||||
msgstr ""
|
||||
|
||||
msgid "Proxy Configuration URL"
|
||||
msgstr "URL конфигурации прокси"
|
||||
|
||||
@@ -800,6 +830,15 @@ msgstr "Сетевой интерфейс источника"
|
||||
msgid "Specify a local IP address to be excluded from routing"
|
||||
msgstr "Укажите локальный IP-адрес, который следует исключить из маршрутизации."
|
||||
|
||||
msgid "Standalone zapret enabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone zapret may overlap with Podkop Plus"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone zapret running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start Podkop Plus"
|
||||
msgstr "Запустить Podkop Plus"
|
||||
|
||||
@@ -962,17 +1001,26 @@ msgstr "Что Podkop Plus должен делать при совпадении
|
||||
msgid "YACD Secret Key"
|
||||
msgstr "Секретный ключ YACD"
|
||||
|
||||
msgid "yes"
|
||||
msgstr ""
|
||||
|
||||
msgid "You can select Output Network Interface, by default autodetect"
|
||||
msgstr "Вы можете выбрать выходной сетевой интерфейс, по умолчанию он определяется автоматически."
|
||||
|
||||
msgid "Zapret (package not installed)"
|
||||
msgstr "Zapret (пакет не установлен)"
|
||||
msgid "Zapret (provider not available)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret conflict detected"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
|
||||
msgstr "Шаблоны hostlist zapret здесь не поддерживаются, потому что Podkop Plus не разворачивает их для per-rule стратегий NFQWS."
|
||||
|
||||
msgid "Zapret installed"
|
||||
msgstr "Zapret установлен"
|
||||
msgid "Zapret package installed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret not installed"
|
||||
msgstr "Zapret не установлен"
|
||||
msgid "Zapret provider is not available"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret provider is not installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -2,6 +2,12 @@ import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
|
||||
import { PodkopShellMethods } from '../../../methods';
|
||||
import { updateCheckStore } from './updateCheckStore';
|
||||
|
||||
type CheckState = 'success' | 'warning' | 'error';
|
||||
|
||||
function boolText(value: boolean) {
|
||||
return value ? _('yes') : _('no');
|
||||
}
|
||||
|
||||
export async function runZapretCheck() {
|
||||
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.ZAPRET;
|
||||
|
||||
@@ -29,75 +35,126 @@ export async function runZapretCheck() {
|
||||
throw new Error('Zapret checks failed');
|
||||
}
|
||||
|
||||
const installed = Boolean(zapretStatus.data.installed);
|
||||
const hasZapretRules = Number(zapretStatus.data.enabled_rule_count || 0) > 0;
|
||||
const data = zapretStatus.data;
|
||||
const providerAvailable = Boolean(data.provider_available ?? data.installed);
|
||||
const packageInstalled = Boolean(data.package_installed);
|
||||
const hasZapretRules = Number(data.enabled_rule_count || 0) > 0;
|
||||
const ready = Boolean(data.ready);
|
||||
const standaloneActive = Boolean(
|
||||
data.standalone_service_running || data.standalone_service_enabled,
|
||||
);
|
||||
const queueOverlap = Boolean(data.queue_overlap);
|
||||
const legacyRuntimePresent = Boolean(data.legacy_runtime_present);
|
||||
const standaloneConflict = Boolean(data.standalone_conflict);
|
||||
|
||||
if (installed) {
|
||||
updateCheckStore({
|
||||
order,
|
||||
code,
|
||||
title,
|
||||
description: _('Checks passed'),
|
||||
state: 'success',
|
||||
items: [
|
||||
{
|
||||
state: 'success',
|
||||
key: _('Zapret installed'),
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
state: 'success',
|
||||
key: hasZapretRules
|
||||
? _('There are rules using zapret')
|
||||
: _('No rules use zapret'),
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
});
|
||||
let state: CheckState = 'success';
|
||||
let description = _('Checks passed');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (hasZapretRules) {
|
||||
updateCheckStore({
|
||||
order,
|
||||
code,
|
||||
title,
|
||||
description: _('Zapret not installed'),
|
||||
state: 'error',
|
||||
items: [
|
||||
{
|
||||
state: 'error',
|
||||
key: _('Zapret not installed'),
|
||||
value: '',
|
||||
},
|
||||
{
|
||||
state: 'error',
|
||||
key: _('There are rules using zapret'),
|
||||
value: '',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
return;
|
||||
if (hasZapretRules && !providerAvailable) {
|
||||
state = 'error';
|
||||
description = _('Zapret provider is not available');
|
||||
} else if (hasZapretRules && !ready) {
|
||||
state = 'error';
|
||||
description = _('Podkop-managed nfqws is not ready');
|
||||
} else if (queueOverlap || legacyRuntimePresent) {
|
||||
state = 'error';
|
||||
description = _('Zapret conflict detected');
|
||||
} else if (!hasZapretRules && !providerAvailable) {
|
||||
state = 'warning';
|
||||
description = _('Zapret provider is not installed');
|
||||
} else if (standaloneConflict || standaloneActive) {
|
||||
state = 'warning';
|
||||
description = _('Standalone zapret may overlap with Podkop Plus');
|
||||
}
|
||||
|
||||
updateCheckStore({
|
||||
order,
|
||||
code,
|
||||
title,
|
||||
description: _('Zapret not installed'),
|
||||
state: 'warning',
|
||||
description,
|
||||
state,
|
||||
items: [
|
||||
{
|
||||
state: 'warning',
|
||||
key: _('Zapret not installed'),
|
||||
value: '',
|
||||
state: providerAvailable
|
||||
? 'success'
|
||||
: hasZapretRules
|
||||
? 'error'
|
||||
: 'warning',
|
||||
key: _('Provider binary'),
|
||||
value: data.provider_path || '/opt/zapret/nfq/nfqws',
|
||||
},
|
||||
{
|
||||
state: 'success',
|
||||
key: _('No rules use zapret'),
|
||||
value: '',
|
||||
state: packageInstalled
|
||||
? 'success'
|
||||
: providerAvailable
|
||||
? 'warning'
|
||||
: 'error',
|
||||
key: _('Zapret package installed'),
|
||||
value: boolText(packageInstalled),
|
||||
},
|
||||
{
|
||||
state: hasZapretRules ? 'success' : 'warning',
|
||||
key: hasZapretRules
|
||||
? _('There are rules using zapret')
|
||||
: _('No rules use zapret'),
|
||||
value: `${Number(data.enabled_rule_count || 0)}`,
|
||||
},
|
||||
{
|
||||
state:
|
||||
!hasZapretRules ||
|
||||
data.running_process_count === data.expected_process_count
|
||||
? 'success'
|
||||
: 'error',
|
||||
key: _('Podkop-managed nfqws processes'),
|
||||
value: `${Number(data.running_process_count || 0)} / ${Number(
|
||||
data.expected_process_count || 0,
|
||||
)}`,
|
||||
},
|
||||
{
|
||||
state:
|
||||
!hasZapretRules ||
|
||||
data.supervisor_process_count === data.expected_process_count
|
||||
? 'success'
|
||||
: 'error',
|
||||
key: _('Podkop nfqws supervisors'),
|
||||
value: `${Number(data.supervisor_process_count || 0)} / ${Number(
|
||||
data.expected_process_count || 0,
|
||||
)}`,
|
||||
},
|
||||
{
|
||||
state: data.standalone_service_running ? 'warning' : 'success',
|
||||
key: _('Standalone zapret running'),
|
||||
value: boolText(Boolean(data.standalone_service_running)),
|
||||
},
|
||||
{
|
||||
state: data.standalone_service_enabled ? 'warning' : 'success',
|
||||
key: _('Standalone zapret enabled'),
|
||||
value: boolText(Boolean(data.standalone_service_enabled)),
|
||||
},
|
||||
{
|
||||
state: data.standalone_config_present ? 'warning' : 'success',
|
||||
key: _('/etc/config/zapret present'),
|
||||
value: boolText(Boolean(data.standalone_config_present)),
|
||||
},
|
||||
{
|
||||
state: data.luci_app_installed ? 'warning' : 'success',
|
||||
key: _('luci-app-zapret installed'),
|
||||
value: boolText(Boolean(data.luci_app_installed)),
|
||||
},
|
||||
{
|
||||
state: queueOverlap ? 'error' : 'success',
|
||||
key: _('NFQUEUE range'),
|
||||
value: `${Number(data.queue_base || 0)}-${Number(data.queue_range_end || 0)}`,
|
||||
},
|
||||
{
|
||||
state: legacyRuntimePresent ? 'error' : 'success',
|
||||
key: _('Legacy runtime paths'),
|
||||
value: boolText(legacyRuntimePresent),
|
||||
},
|
||||
{
|
||||
state: standaloneConflict ? 'warning' : 'success',
|
||||
key: _('Possible packet-level overlap'),
|
||||
value: boolText(standaloneConflict),
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -196,19 +196,35 @@ export namespace Podkop {
|
||||
|
||||
export interface GetZapretStatus {
|
||||
installed: 0 | 1;
|
||||
package_installed: 0 | 1;
|
||||
provider_available: 0 | 1;
|
||||
provider_path: string;
|
||||
files_available: 0 | 1;
|
||||
ipset_available: 0 | 1;
|
||||
version: string;
|
||||
configured: 0 | 1;
|
||||
enabled_rule_count: number;
|
||||
expected_process_count: number;
|
||||
running_process_count: number;
|
||||
supervisor_process_count: number;
|
||||
standalone_service_enabled: 0 | 1;
|
||||
standalone_service_running: 0 | 1;
|
||||
standalone_config_present: 0 | 1;
|
||||
standalone_conflict: 0 | 1;
|
||||
luci_app_installed: 0 | 1;
|
||||
queue_base: number;
|
||||
queue_range_end: number;
|
||||
queue_overlap: 0 | 1;
|
||||
legacy_runtime_present: 0 | 1;
|
||||
ready: 0 | 1;
|
||||
conflict: 0 | 1;
|
||||
status_message: string;
|
||||
}
|
||||
|
||||
export interface ZapretCheckResult {
|
||||
zapret_installed: 0 | 1;
|
||||
zapret_package_installed: 0 | 1;
|
||||
zapret_provider_path: string;
|
||||
}
|
||||
|
||||
export interface GetClashApiProxyLatency {
|
||||
|
||||
@@ -2935,6 +2935,9 @@ async function runFakeIPCheck() {
|
||||
}
|
||||
|
||||
// src/podkop/tabs/diagnostic/checks/runZapretCheck.ts
|
||||
function boolText(value) {
|
||||
return value ? _("yes") : _("no");
|
||||
}
|
||||
async function runZapretCheck() {
|
||||
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.ZAPRET;
|
||||
updateCheckStore({
|
||||
@@ -2957,68 +2960,105 @@ async function runZapretCheck() {
|
||||
});
|
||||
throw new Error("Zapret checks failed");
|
||||
}
|
||||
const installed = Boolean(zapretStatus.data.installed);
|
||||
const hasZapretRules = Number(zapretStatus.data.enabled_rule_count || 0) > 0;
|
||||
if (installed) {
|
||||
updateCheckStore({
|
||||
order,
|
||||
code,
|
||||
title,
|
||||
description: _("Checks passed"),
|
||||
state: "success",
|
||||
items: [
|
||||
{
|
||||
state: "success",
|
||||
key: _("Zapret installed"),
|
||||
value: ""
|
||||
},
|
||||
{
|
||||
state: "success",
|
||||
key: hasZapretRules ? _("There are rules using zapret") : _("No rules use zapret"),
|
||||
value: ""
|
||||
}
|
||||
]
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (hasZapretRules) {
|
||||
updateCheckStore({
|
||||
order,
|
||||
code,
|
||||
title,
|
||||
description: _("Zapret not installed"),
|
||||
state: "error",
|
||||
items: [
|
||||
{
|
||||
state: "error",
|
||||
key: _("Zapret not installed"),
|
||||
value: ""
|
||||
},
|
||||
{
|
||||
state: "error",
|
||||
key: _("There are rules using zapret"),
|
||||
value: ""
|
||||
}
|
||||
]
|
||||
});
|
||||
return;
|
||||
const data = zapretStatus.data;
|
||||
const providerAvailable = Boolean(data.provider_available ?? data.installed);
|
||||
const packageInstalled = Boolean(data.package_installed);
|
||||
const hasZapretRules = Number(data.enabled_rule_count || 0) > 0;
|
||||
const ready = Boolean(data.ready);
|
||||
const standaloneActive = Boolean(
|
||||
data.standalone_service_running || data.standalone_service_enabled
|
||||
);
|
||||
const queueOverlap = Boolean(data.queue_overlap);
|
||||
const legacyRuntimePresent = Boolean(data.legacy_runtime_present);
|
||||
const standaloneConflict = Boolean(data.standalone_conflict);
|
||||
let state = "success";
|
||||
let description = _("Checks passed");
|
||||
if (hasZapretRules && !providerAvailable) {
|
||||
state = "error";
|
||||
description = _("Zapret provider is not available");
|
||||
} else if (hasZapretRules && !ready) {
|
||||
state = "error";
|
||||
description = _("Podkop-managed nfqws is not ready");
|
||||
} else if (queueOverlap || legacyRuntimePresent) {
|
||||
state = "error";
|
||||
description = _("Zapret conflict detected");
|
||||
} else if (!hasZapretRules && !providerAvailable) {
|
||||
state = "warning";
|
||||
description = _("Zapret provider is not installed");
|
||||
} else if (standaloneConflict || standaloneActive) {
|
||||
state = "warning";
|
||||
description = _("Standalone zapret may overlap with Podkop Plus");
|
||||
}
|
||||
updateCheckStore({
|
||||
order,
|
||||
code,
|
||||
title,
|
||||
description: _("Zapret not installed"),
|
||||
state: "warning",
|
||||
description,
|
||||
state,
|
||||
items: [
|
||||
{
|
||||
state: "warning",
|
||||
key: _("Zapret not installed"),
|
||||
value: ""
|
||||
state: providerAvailable ? "success" : hasZapretRules ? "error" : "warning",
|
||||
key: _("Provider binary"),
|
||||
value: data.provider_path || "/opt/zapret/nfq/nfqws"
|
||||
},
|
||||
{
|
||||
state: "success",
|
||||
key: _("No rules use zapret"),
|
||||
value: ""
|
||||
state: packageInstalled ? "success" : providerAvailable ? "warning" : "error",
|
||||
key: _("Zapret package installed"),
|
||||
value: boolText(packageInstalled)
|
||||
},
|
||||
{
|
||||
state: hasZapretRules ? "success" : "warning",
|
||||
key: hasZapretRules ? _("There are rules using zapret") : _("No rules use zapret"),
|
||||
value: `${Number(data.enabled_rule_count || 0)}`
|
||||
},
|
||||
{
|
||||
state: !hasZapretRules || data.running_process_count === data.expected_process_count ? "success" : "error",
|
||||
key: _("Podkop-managed nfqws processes"),
|
||||
value: `${Number(data.running_process_count || 0)} / ${Number(
|
||||
data.expected_process_count || 0
|
||||
)}`
|
||||
},
|
||||
{
|
||||
state: !hasZapretRules || data.supervisor_process_count === data.expected_process_count ? "success" : "error",
|
||||
key: _("Podkop nfqws supervisors"),
|
||||
value: `${Number(data.supervisor_process_count || 0)} / ${Number(
|
||||
data.expected_process_count || 0
|
||||
)}`
|
||||
},
|
||||
{
|
||||
state: data.standalone_service_running ? "warning" : "success",
|
||||
key: _("Standalone zapret running"),
|
||||
value: boolText(Boolean(data.standalone_service_running))
|
||||
},
|
||||
{
|
||||
state: data.standalone_service_enabled ? "warning" : "success",
|
||||
key: _("Standalone zapret enabled"),
|
||||
value: boolText(Boolean(data.standalone_service_enabled))
|
||||
},
|
||||
{
|
||||
state: data.standalone_config_present ? "warning" : "success",
|
||||
key: _("/etc/config/zapret present"),
|
||||
value: boolText(Boolean(data.standalone_config_present))
|
||||
},
|
||||
{
|
||||
state: data.luci_app_installed ? "warning" : "success",
|
||||
key: _("luci-app-zapret installed"),
|
||||
value: boolText(Boolean(data.luci_app_installed))
|
||||
},
|
||||
{
|
||||
state: queueOverlap ? "error" : "success",
|
||||
key: _("NFQUEUE range"),
|
||||
value: `${Number(data.queue_base || 0)}-${Number(data.queue_range_end || 0)}`
|
||||
},
|
||||
{
|
||||
state: legacyRuntimePresent ? "error" : "success",
|
||||
key: _("Legacy runtime paths"),
|
||||
value: boolText(legacyRuntimePresent)
|
||||
},
|
||||
{
|
||||
state: standaloneConflict ? "warning" : "success",
|
||||
key: _("Possible packet-level overlap"),
|
||||
value: boolText(standaloneConflict)
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
@@ -234,7 +234,7 @@ function getActionOptionLabel(action) {
|
||||
case "zapret":
|
||||
return isZapretInstalledForUi()
|
||||
? "Zapret"
|
||||
: _("Zapret (package not installed)");
|
||||
: _("Zapret (provider not available)");
|
||||
case "proxy":
|
||||
default:
|
||||
return "Proxy";
|
||||
@@ -281,7 +281,7 @@ function disableUnavailableZapretOption(node) {
|
||||
Array.from(select.options).forEach((option) => {
|
||||
if (option.value === "zapret") {
|
||||
option.disabled = true;
|
||||
option.textContent = _("Zapret (package not installed)");
|
||||
option.textContent = _("Zapret (provider not available)");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# RU translations for PODKOP PLUS package.
|
||||
# Copyright (C) 2026 THE PODKOP PLUS COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PODKOP PLUS package.
|
||||
# ushan0v, 2026.
|
||||
# Codex, 2026.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-04-12 06:08+0300\n"
|
||||
"PO-Revision-Date: 2026-04-12 06:08+0300\n"
|
||||
"Last-Translator: ushan0v\n"
|
||||
"POT-Creation-Date: 2026-05-01 15:57+0300\n"
|
||||
"PO-Revision-Date: 2026-05-01 15:57+0300\n"
|
||||
"Last-Translator: Codex\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -17,6 +17,9 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
msgid "/etc/config/zapret present"
|
||||
msgstr ""
|
||||
|
||||
msgid "✔ Running"
|
||||
msgstr "✔ Работает"
|
||||
|
||||
@@ -503,6 +506,9 @@ msgstr "Ключевое слово не должно содержать про
|
||||
msgid "Latest"
|
||||
msgstr "Последняя"
|
||||
|
||||
msgid "Legacy runtime paths"
|
||||
msgstr ""
|
||||
|
||||
msgid "List must be a direct .lst URL or a local .lst path"
|
||||
msgstr "Список должен быть прямым URL на .lst или локальным путём к .lst"
|
||||
|
||||
@@ -518,6 +524,9 @@ msgstr "Локальный путь к набору правил sing-box"
|
||||
msgid "Log Level"
|
||||
msgstr "Уровень логов"
|
||||
|
||||
msgid "luci-app-zapret installed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Main DNS"
|
||||
msgstr "Основной DNS"
|
||||
|
||||
@@ -554,12 +563,18 @@ msgstr "Наблюдаемые интерфейсы"
|
||||
msgid "Must be a number in the range of 50 - 1000"
|
||||
msgstr "Должно быть числом от 50 до 1000"
|
||||
|
||||
msgid "NFQUEUE range"
|
||||
msgstr ""
|
||||
|
||||
msgid "NFQWS Strategy"
|
||||
msgstr "Стратегия NFQWS"
|
||||
|
||||
msgid "NFQWS strategy cannot be empty"
|
||||
msgstr "Стратегия NFQWS не может быть пустой"
|
||||
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
msgid "No other marking rules found"
|
||||
msgstr "Другие правила маркировки не найдены"
|
||||
|
||||
@@ -620,6 +635,9 @@ msgstr "Путь должен заканчиваться на cache.db"
|
||||
msgid "Pending"
|
||||
msgstr "Ожидает запуска"
|
||||
|
||||
msgid "Podkop nfqws supervisors"
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr "Podkop Plus сам управляет жизненным циклом nfqws, поэтому режим daemon здесь запрещён."
|
||||
|
||||
@@ -629,12 +647,24 @@ msgstr "Настройки Podkop Plus"
|
||||
msgid "Podkop Plus will not modify your DHCP configuration"
|
||||
msgstr "Podkop Plus не будет изменять вашу конфигурацию DHCP"
|
||||
|
||||
msgid "Podkop-managed nfqws is not ready"
|
||||
msgstr ""
|
||||
|
||||
msgid "Podkop-managed nfqws processes"
|
||||
msgstr ""
|
||||
|
||||
msgid "Port cannot be empty"
|
||||
msgstr "Порт не может быть пустым"
|
||||
|
||||
msgid "Port for the local mixed proxy of this section"
|
||||
msgstr "Порт локального смешанного прокси для этой секции"
|
||||
|
||||
msgid "Possible packet-level overlap"
|
||||
msgstr ""
|
||||
|
||||
msgid "Provider binary"
|
||||
msgstr ""
|
||||
|
||||
msgid "Proxy Configuration URL"
|
||||
msgstr "URL конфигурации прокси"
|
||||
|
||||
@@ -800,6 +830,15 @@ msgstr "Сетевой интерфейс источника"
|
||||
msgid "Specify a local IP address to be excluded from routing"
|
||||
msgstr "Укажите локальный IP-адрес, который следует исключить из маршрутизации."
|
||||
|
||||
msgid "Standalone zapret enabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone zapret may overlap with Podkop Plus"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone zapret running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start Podkop Plus"
|
||||
msgstr "Запустить Podkop Plus"
|
||||
|
||||
@@ -962,17 +1001,26 @@ msgstr "Что Podkop Plus должен делать при совпадении
|
||||
msgid "YACD Secret Key"
|
||||
msgstr "Секретный ключ YACD"
|
||||
|
||||
msgid "yes"
|
||||
msgstr ""
|
||||
|
||||
msgid "You can select Output Network Interface, by default autodetect"
|
||||
msgstr "Вы можете выбрать выходной сетевой интерфейс, по умолчанию он определяется автоматически."
|
||||
|
||||
msgid "Zapret (package not installed)"
|
||||
msgstr "Zapret (пакет не установлен)"
|
||||
msgid "Zapret (provider not available)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret conflict detected"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
|
||||
msgstr "Шаблоны hostlist zapret здесь не поддерживаются, потому что Podkop Plus не разворачивает их для per-rule стратегий NFQWS."
|
||||
|
||||
msgid "Zapret installed"
|
||||
msgstr "Zapret установлен"
|
||||
msgid "Zapret package installed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret not installed"
|
||||
msgstr "Zapret не установлен"
|
||||
msgid "Zapret provider is not available"
|
||||
msgstr ""
|
||||
|
||||
msgid "Zapret provider is not installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,21 +1,25 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) 2026 THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PODKOP PLUS package.
|
||||
# ushan0v <ushan0v@users.noreply.github.com>, 2026.
|
||||
# Codex <codex@local>, 2026.
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PODKOP PLUS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-04-12 03:08+0300\n"
|
||||
"PO-Revision-Date: 2026-04-12 03:08+0300\n"
|
||||
"Last-Translator: ushan0v <ushan0v@users.noreply.github.com>\n"
|
||||
"POT-Creation-Date: 2026-05-01 12:57+0300\n"
|
||||
"PO-Revision-Date: 2026-05-01 12:57+0300\n"
|
||||
"Last-Translator: Codex <codex@local>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:136
|
||||
msgid "/etc/config/zapret present"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/dashboard/initController.ts:345
|
||||
#: src/podkop/tabs/dashboard/initController.ts:356
|
||||
#: src/podkop/tabs/dashboard/initController.ts:369
|
||||
@@ -142,7 +146,7 @@ msgstr ""
|
||||
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28
|
||||
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:27
|
||||
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:24
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:30
|
||||
msgid "Cannot receive checks result"
|
||||
msgstr ""
|
||||
|
||||
@@ -151,7 +155,7 @@ msgstr ""
|
||||
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13
|
||||
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:15
|
||||
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:12
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:18
|
||||
msgid "Checking, please wait"
|
||||
msgstr ""
|
||||
|
||||
@@ -163,7 +167,7 @@ msgstr ""
|
||||
msgid "Checks failed"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:40
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:51
|
||||
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
|
||||
msgid "Checks passed"
|
||||
msgstr ""
|
||||
@@ -709,6 +713,10 @@ msgstr ""
|
||||
msgid "Latest"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:151
|
||||
msgid "Legacy runtime paths"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1504
|
||||
msgid "List must be a direct .lst URL or a local .lst path"
|
||||
msgstr ""
|
||||
@@ -729,6 +737,10 @@ msgstr ""
|
||||
msgid "Log Level"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:141
|
||||
msgid "luci-app-zapret installed"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72
|
||||
msgid "Main DNS"
|
||||
msgstr ""
|
||||
@@ -779,6 +791,10 @@ msgstr ""
|
||||
msgid "Must be a number in the range of 50 - 1000"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:146
|
||||
msgid "NFQUEUE range"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1617
|
||||
msgid "NFQWS Strategy"
|
||||
msgstr ""
|
||||
@@ -787,11 +803,14 @@ msgstr ""
|
||||
msgid "NFQWS strategy cannot be empty"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:8
|
||||
msgid "no"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105
|
||||
msgid "No other marking rules found"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:52
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:99
|
||||
msgid "No rules use zapret"
|
||||
msgstr ""
|
||||
@@ -883,6 +902,10 @@ msgstr ""
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:119
|
||||
msgid "Podkop nfqws supervisors"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1017
|
||||
msgid "Podkop Plus manages the nfqws process lifecycle itself, so daemon mode is not allowed here."
|
||||
msgstr ""
|
||||
@@ -895,6 +918,14 @@ msgstr ""
|
||||
msgid "Podkop Plus will not modify your DHCP configuration"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58
|
||||
msgid "Podkop-managed nfqws is not ready"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:108
|
||||
msgid "Podkop-managed nfqws processes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1949
|
||||
msgid "Port cannot be empty"
|
||||
msgstr ""
|
||||
@@ -903,6 +934,14 @@ msgstr ""
|
||||
msgid "Port for the local mixed proxy of this section"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:156
|
||||
msgid "Possible packet-level overlap"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:83
|
||||
msgid "Provider binary"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/node.js:31
|
||||
msgid "Proxy Configuration URL"
|
||||
msgstr ""
|
||||
@@ -1125,6 +1164,18 @@ msgstr ""
|
||||
msgid "Specify a local IP address to be excluded from routing"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:131
|
||||
msgid "Standalone zapret enabled"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67
|
||||
msgid "Standalone zapret may overlap with Podkop Plus"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:126
|
||||
msgid "Standalone zapret running"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/partials/renderAvailableActions.ts:69
|
||||
msgid "Start Podkop Plus"
|
||||
msgstr ""
|
||||
@@ -1165,8 +1216,7 @@ msgstr ""
|
||||
msgid "The NFQUEUE number is assigned by Podkop Plus for each rule and must not be overridden here."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:51
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:76
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:98
|
||||
msgid "There are rules using zapret"
|
||||
msgstr ""
|
||||
|
||||
@@ -1369,26 +1419,35 @@ msgstr ""
|
||||
msgid "YACD Secret Key"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:8
|
||||
msgid "yes"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/settings.js:133
|
||||
msgid "You can select Output Network Interface, by default autodetect"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:237
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:284
|
||||
msgid "Zapret (package not installed)"
|
||||
msgid "Zapret (provider not available)"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
|
||||
msgid "Zapret conflict detected"
|
||||
msgstr ""
|
||||
|
||||
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:1008
|
||||
msgid "Zapret hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS strategies."
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:45
|
||||
msgid "Zapret installed"
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:92
|
||||
msgid "Zapret package installed"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:66
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:71
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:89
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:94
|
||||
msgid "Zapret not installed"
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:55
|
||||
msgid "Zapret provider is not available"
|
||||
msgstr ""
|
||||
|
||||
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64
|
||||
msgid "Zapret provider is not installed"
|
||||
msgstr ""
|
||||
|
||||
@@ -4402,7 +4402,7 @@ get_zapret_status() {
|
||||
}
|
||||
|
||||
neutralize_zapret_defaults() {
|
||||
log "Standalone zapret is no longer neutralized automatically; Podkop Plus uses an independent runtime and NFQUEUE range."
|
||||
log "Standalone zapret is not neutralized automatically; Podkop Plus uses /opt/zapret/nfq/nfqws as an external provider and manages only its own NFQUEUE range."
|
||||
}
|
||||
|
||||
check_zapret_runtime() {
|
||||
@@ -5061,9 +5061,9 @@ global_check() {
|
||||
zapret_installed=$(echo "$zapret_check_json" | jq -r '.zapret_installed // 0')
|
||||
|
||||
if [ "$zapret_installed" -eq 1 ]; then
|
||||
print_global "✅ Zapret runtime installed"
|
||||
else
|
||||
print_global "❌ Zapret runtime installed"
|
||||
print_global "✅ Zapret provider available"
|
||||
else
|
||||
print_global "❌ Zapret provider available"
|
||||
fi
|
||||
else
|
||||
print_global "❌ Failed to get zapret info"
|
||||
@@ -5212,10 +5212,10 @@ global_check() {
|
||||
|
||||
if [ -x /etc/init.d/zapret ] && /etc/init.d/zapret status >/dev/null 2>&1; then
|
||||
print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
print_global "ℹ️ Standalone zapret service is active. Podkop Plus uses its own runtime and NFQUEUE range, so both services can work in parallel."
|
||||
print_global "⚠️ Standalone zapret service is active. Podkop Plus uses separate queues, but packet-level policy overlap is possible."
|
||||
elif [ -x /etc/init.d/zapret ] && /etc/init.d/zapret enabled >/dev/null 2>&1; then
|
||||
print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
print_global "ℹ️ Standalone zapret autostart is enabled. Podkop Plus keeps its embedded zapret runtime independent from the standalone service."
|
||||
print_global "⚠️ Standalone zapret autostart is enabled. Podkop Plus will not modify /etc/config/zapret."
|
||||
fi
|
||||
|
||||
print_global "━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
@@ -5270,9 +5270,9 @@ Available commands:
|
||||
check_logs Show Podkop Plus logs from system journal
|
||||
check_sing_box_logs Show sing-box logs
|
||||
check_fakeip Test FakeIP on router
|
||||
check_zapret_runtime Check Podkop-managed zapret runtime state
|
||||
check_zapret_runtime Check external zapret provider state
|
||||
neutralize_zapret_defaults
|
||||
Compatibility no-op; Podkop Plus keeps its zapret runtime independent
|
||||
Compatibility no-op; Podkop Plus does not manage standalone zapret
|
||||
clash_api Clash API interface for managing proxies and groups
|
||||
show_config Display current Podkop Plus configuration
|
||||
show_version Show Podkop Plus version
|
||||
@@ -5281,7 +5281,7 @@ Available commands:
|
||||
show_system_info Show system information
|
||||
get_status Get Podkop Plus service status
|
||||
get_sing_box_status Get sing-box service status
|
||||
get_zapret_status Get Podkop-managed zapret runtime status
|
||||
get_zapret_status Get zapret provider and Podkop-managed nfqws status
|
||||
get_system_info Get system information in JSON format
|
||||
check_dns_available Check DNS server availability
|
||||
global_check Run global system check
|
||||
|
||||
Reference in New Issue
Block a user