Align provider diagnostic checks

This commit is contained in:
ushan0v
2026-06-10 23:09:14 +03:00
parent f282cbc7d2
commit b527c7bead
11 changed files with 553 additions and 555 deletions
+95 -127
View File
@@ -11,16 +11,16 @@
"call": "✔ Running",
"key": "✔ Running",
"places": [
"src/podkop/tabs/dashboard/initController.ts:893",
"src/podkop/tabs/dashboard/initController.ts:904"
"src/podkop/tabs/dashboard/initController.ts:888",
"src/podkop/tabs/dashboard/initController.ts:899"
]
},
{
"call": "✘ Stopped",
"key": "✘ Stopped",
"places": [
"src/podkop/tabs/dashboard/initController.ts:894",
"src/podkop/tabs/dashboard/initController.ts:905"
"src/podkop/tabs/dashboard/initController.ts:889",
"src/podkop/tabs/dashboard/initController.ts:900"
]
},
{
@@ -57,7 +57,7 @@
"call": "Active Connections",
"key": "Active Connections",
"places": [
"src/podkop/tabs/dashboard/initController.ts:851"
"src/podkop/tabs/dashboard/initController.ts:846"
]
},
{
@@ -308,56 +308,42 @@
"call": "ByeDPI package is installed",
"key": "ByeDPI package is installed",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:97"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:71"
]
},
{
"call": "ByeDPI package is not installed",
"key": "ByeDPI package is not installed",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:98"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:72"
]
},
{
"call": "ByeDPI provider binary is available",
"key": "ByeDPI provider binary is available",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:90"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:64"
]
},
{
"call": "ByeDPI provider binary is not available",
"key": "ByeDPI provider binary is not available",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:91"
]
},
{
"call": "ByeDPI route rules are configured",
"key": "ByeDPI route rules are configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:140"
]
},
{
"call": "ByeDPI route rules are not configured",
"key": "ByeDPI route rules are not configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:141"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:65"
]
},
{
"call": "ByeDPI sing-box outbound is configured",
"key": "ByeDPI sing-box outbound is configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:133"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:107"
]
},
{
"call": "ByeDPI sing-box outbound is not configured",
"key": "ByeDPI sing-box outbound is not configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:134"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:108"
]
},
{
@@ -392,14 +378,14 @@
"call": "Cannot receive checks result",
"key": "Cannot receive checks result",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:27",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:26",
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:27",
"src/podkop/tabs/diagnostic/checks/runInboundsCheck.ts:162",
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:31",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:48",
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:27",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:27"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:26",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:26"
]
},
{
@@ -435,15 +421,15 @@
"key": "Checking, please wait",
"places": [
"src/podkop/tabs/diagnostic/initController.ts:982",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:15",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:14",
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:15",
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:15",
"src/podkop/tabs/diagnostic/checks/runInboundsCheck.ts:150",
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:17",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:34",
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:15",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:15"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:14",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:14"
]
},
{
@@ -457,16 +443,7 @@
"call": "Checks failed",
"key": "Checks failed",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:64",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:67",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:70",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:63",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:66",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:69",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:72",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64",
"src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:10",
"src/podkop/tabs/diagnostic/helpers/getMeta.ts:26"
]
},
@@ -474,10 +451,8 @@
"call": "Checks passed",
"key": "Checks passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:60",
"src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:23",
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:39",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:59",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:54",
"src/podkop/tabs/diagnostic/helpers/getMeta.ts:13"
]
},
@@ -624,7 +599,7 @@
"call": "Connectivity probe failed",
"key": "Connectivity probe failed",
"places": [
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:125"
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:157"
]
},
{
@@ -895,8 +870,8 @@
"call": "Downlink",
"key": "Downlink",
"places": [
"src/podkop/tabs/dashboard/initController.ts:777",
"src/podkop/tabs/dashboard/initController.ts:815"
"src/podkop/tabs/dashboard/initController.ts:772",
"src/podkop/tabs/dashboard/initController.ts:810"
]
},
{
@@ -1210,9 +1185,7 @@
"key": "Fastest",
"places": [
"src/podkop/methods/custom/getDashboardSections.ts:313",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:77",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:78",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:90"
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:113"
]
},
{
@@ -1864,12 +1837,7 @@
"call": "Issues detected",
"key": "Issues detected",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:73",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:76",
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:79",
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:75",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:70",
"src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:17",
"src/podkop/tabs/diagnostic/helpers/getMeta.ts:20"
]
},
@@ -2054,7 +2022,7 @@
"call": "Memory Usage",
"key": "Memory Usage",
"places": [
"src/podkop/tabs/dashboard/initController.ts:855"
"src/podkop/tabs/dashboard/initController.ts:850"
]
},
{
@@ -2117,16 +2085,16 @@
"call": "NFQUEUE range is available",
"key": "NFQUEUE range is available",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:123",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:118"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:100",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:97"
]
},
{
"call": "NFQUEUE range overlaps with another rule",
"key": "NFQUEUE range overlaps with another rule",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:122",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:117"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:99",
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:96"
]
},
{
@@ -2203,21 +2171,21 @@
"call": "No rules use ByeDPI",
"key": "No rules use ByeDPI",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:105"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:79"
]
},
{
"call": "No rules use Zapret",
"key": "No rules use Zapret",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:100"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:79"
]
},
{
"call": "No rules use Zapret2",
"key": "No rules use Zapret2",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:105"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:82"
]
},
{
@@ -2281,10 +2249,10 @@
"call": "Not responding",
"key": "Not responding",
"places": [
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:78",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:90",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:103",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:131"
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:91",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:129",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:135",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:163"
]
},
{
@@ -2533,70 +2501,70 @@
"call": "Podkop Plus-managed ciadpi runtime has restarted",
"key": "Podkop Plus-managed ciadpi runtime has restarted",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:117"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:91"
]
},
{
"call": "Podkop Plus-managed ciadpi runtime is not ready",
"key": "Podkop Plus-managed ciadpi runtime is not ready",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:120"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:94"
]
},
{
"call": "Podkop Plus-managed ciadpi runtime is not running",
"key": "Podkop Plus-managed ciadpi runtime is not running",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:123"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:97"
]
},
{
"call": "Podkop Plus-managed ciadpi runtime is ready",
"key": "Podkop Plus-managed ciadpi runtime is ready",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:119"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:93"
]
},
{
"call": "Podkop Plus-managed nfqws runtime is not ready",
"key": "Podkop Plus-managed nfqws runtime is not ready",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:108"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:87"
]
},
{
"call": "Podkop Plus-managed nfqws runtime is not running",
"key": "Podkop Plus-managed nfqws runtime is not running",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:111"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:90"
]
},
{
"call": "Podkop Plus-managed nfqws runtime is ready",
"key": "Podkop Plus-managed nfqws runtime is ready",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:107"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:86"
]
},
{
"call": "Podkop Plus-managed nfqws2 runtime is not ready",
"key": "Podkop Plus-managed nfqws2 runtime is not ready",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:113"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:90"
]
},
{
"call": "Podkop Plus-managed nfqws2 runtime is not running",
"key": "Podkop Plus-managed nfqws2 runtime is not running",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:116"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:93"
]
},
{
"call": "Podkop Plus-managed nfqws2 runtime is ready",
"key": "Podkop Plus-managed nfqws2 runtime is ready",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:112"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:89"
]
},
{
@@ -3159,7 +3127,7 @@
"call": "Services info",
"key": "Services info",
"places": [
"src/podkop/tabs/dashboard/initController.ts:888"
"src/podkop/tabs/dashboard/initController.ts:883"
]
},
{
@@ -3289,77 +3257,77 @@
"call": "Standalone ByeDPI autostart is enabled",
"key": "Standalone ByeDPI autostart is enabled",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:157"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:124"
]
},
{
"call": "Standalone ByeDPI is active together with Podkop Plus ByeDPI rules",
"key": "Standalone ByeDPI is active together with Podkop Plus ByeDPI rules",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:152"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:119"
]
},
{
"call": "Standalone ByeDPI service is active",
"key": "Standalone ByeDPI service is active",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:155"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:122"
]
},
{
"call": "Standalone ByeDPI service is inactive",
"key": "Standalone ByeDPI service is inactive",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:158"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:125"
]
},
{
"call": "Standalone Zapret is active together with Podkop Plus Zapret rules",
"key": "Standalone Zapret is active together with Podkop Plus Zapret rules",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:125"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:111"
]
},
{
"call": "Standalone Zapret service is active",
"key": "Standalone Zapret service is active",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:128"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:114"
]
},
{
"call": "Standalone Zapret service is inactive",
"key": "Standalone Zapret service is inactive",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:129"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:115"
]
},
{
"call": "Standalone Zapret2 autostart is enabled",
"key": "Standalone Zapret2 autostart is enabled",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:153"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:123"
]
},
{
"call": "Standalone Zapret2 is active together with Podkop Plus Zapret2 rules",
"key": "Standalone Zapret2 is active together with Podkop Plus Zapret2 rules",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:148"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:118"
]
},
{
"call": "Standalone Zapret2 service is active",
"key": "Standalone Zapret2 service is active",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:151"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:121"
]
},
{
"call": "Standalone Zapret2 service is inactive",
"key": "Standalone Zapret2 service is inactive",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:154"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:124"
]
},
{
@@ -3438,7 +3406,7 @@
"call": "System info",
"key": "System info",
"places": [
"src/podkop/tabs/dashboard/initController.ts:848"
"src/podkop/tabs/dashboard/initController.ts:843"
]
},
{
@@ -3518,21 +3486,21 @@
"call": "There are rules using ByeDPI",
"key": "There are rules using ByeDPI",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:104"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:78"
]
},
{
"call": "There are rules using Zapret",
"key": "There are rules using Zapret",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:99"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:78"
]
},
{
"call": "There are rules using Zapret2",
"key": "There are rules using Zapret2",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:104"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:81"
]
},
{
@@ -3630,7 +3598,7 @@
"call": "Traffic",
"key": "Traffic",
"places": [
"src/podkop/tabs/dashboard/initController.ts:774",
"src/podkop/tabs/dashboard/initController.ts:769",
"src/podkop/tabs/dashboard/partials/renderSections.ts:216"
]
},
@@ -3638,7 +3606,7 @@
"call": "Traffic Total",
"key": "Traffic Total",
"places": [
"src/podkop/tabs/dashboard/initController.ts:808"
"src/podkop/tabs/dashboard/initController.ts:803"
]
},
{
@@ -3756,21 +3724,21 @@
"call": "Unexpected Podkop Plus-managed ciadpi runtime is running",
"key": "Unexpected Podkop Plus-managed ciadpi runtime is running",
"places": [
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:122"
"src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:96"
]
},
{
"call": "Unexpected Podkop Plus-managed nfqws runtime is running",
"key": "Unexpected Podkop Plus-managed nfqws runtime is running",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:110"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:89"
]
},
{
"call": "Unexpected Podkop Plus-managed nfqws2 runtime is running",
"key": "Unexpected Podkop Plus-managed nfqws2 runtime is running",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:115"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:92"
]
},
{
@@ -3876,8 +3844,8 @@
"call": "Uplink",
"key": "Uplink",
"places": [
"src/podkop/tabs/dashboard/initController.ts:776",
"src/podkop/tabs/dashboard/initController.ts:811"
"src/podkop/tabs/dashboard/initController.ts:771",
"src/podkop/tabs/dashboard/initController.ts:806"
]
},
{
@@ -4195,28 +4163,42 @@
"call": "Zapret package is installed",
"key": "Zapret package is installed",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:92"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:71"
]
},
{
"call": "Zapret package is not installed",
"key": "Zapret package is not installed",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:93"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:72"
]
},
{
"call": "Zapret provider binary is available",
"key": "Zapret provider binary is available",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:81"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:60"
]
},
{
"call": "Zapret provider binary is not available",
"key": "Zapret provider binary is not available",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:82"
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61"
]
},
{
"call": "Zapret sing-box outbound is configured",
"key": "Zapret sing-box outbound is configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:103"
]
},
{
"call": "Zapret sing-box outbound is not configured",
"key": "Zapret sing-box outbound is not configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:104"
]
},
{
@@ -4230,56 +4212,42 @@
"call": "Zapret2 package is installed",
"key": "Zapret2 package is installed",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:97"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:74"
]
},
{
"call": "Zapret2 package is not installed",
"key": "Zapret2 package is not installed",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:98"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:75"
]
},
{
"call": "Zapret2 provider binary is available",
"key": "Zapret2 provider binary is available",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:86"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:63"
]
},
{
"call": "Zapret2 provider binary is not available",
"key": "Zapret2 provider binary is not available",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:87"
]
},
{
"call": "Zapret2 route rules are configured",
"key": "Zapret2 route rules are configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:136"
]
},
{
"call": "Zapret2 route rules are not configured",
"key": "Zapret2 route rules are not configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:137"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:64"
]
},
{
"call": "Zapret2 sing-box outbound is configured",
"key": "Zapret2 sing-box outbound is configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:129"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:106"
]
},
{
"call": "Zapret2 sing-box outbound is not configured",
"key": "Zapret2 sing-box outbound is not configured",
"places": [
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:130"
"src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:107"
]
}
]
+91 -117
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-10 18:45+0300\n"
"PO-Revision-Date: 2026-06-10 18:45+0300\n"
"POT-Creation-Date: 2026-06-10 19:07+0300\n"
"PO-Revision-Date: 2026-06-10 19:07+0300\n"
"Last-Translator: ushan0v <ushanov2204@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -21,13 +21,13 @@ msgstr ""
msgid "-- Select --"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:893
#: src/podkop/tabs/dashboard/initController.ts:904
#: src/podkop/tabs/dashboard/initController.ts:888
#: src/podkop/tabs/dashboard/initController.ts:899
msgid "✔ Running"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:894
#: src/podkop/tabs/dashboard/initController.ts:905
#: src/podkop/tabs/dashboard/initController.ts:889
#: src/podkop/tabs/dashboard/initController.ts:900
msgid "✘ Stopped"
msgstr ""
@@ -49,7 +49,7 @@ msgstr ""
msgid "Active"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:851
#: src/podkop/tabs/dashboard/initController.ts:846
msgid "Active Connections"
msgstr ""
@@ -195,35 +195,27 @@ msgstr ""
msgid "ByeDPI option requires a value: %s"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:97
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:71
msgid "ByeDPI package is installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:98
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:72
msgid "ByeDPI package is not installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:90
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:64
msgid "ByeDPI provider binary is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:91
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:65
msgid "ByeDPI provider binary is not available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:140
msgid "ByeDPI route rules are configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:141
msgid "ByeDPI route rules are not configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:133
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:107
msgid "ByeDPI sing-box outbound is configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:134
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:108
msgid "ByeDPI sing-box outbound is not configured"
msgstr ""
@@ -243,14 +235,14 @@ msgstr ""
msgid "Cache file path cannot be empty"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:27
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:26
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:27
#: src/podkop/tabs/diagnostic/checks/runInboundsCheck.ts:162
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:31
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:48
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:27
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:27
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:26
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:26
msgid "Cannot receive checks result"
msgstr ""
@@ -271,15 +263,15 @@ msgid "Check update"
msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:982
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:14
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runInboundsCheck.ts:150
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:17
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:34
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:15
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:14
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:14
msgid "Checking, please wait"
msgstr ""
@@ -287,24 +279,13 @@ msgstr ""
msgid "checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:64
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:67
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:70
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:63
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:66
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:69
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:72
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64
#: src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:10
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
msgid "Checks failed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:60
#: src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:23
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:39
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:59
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:54
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
msgid "Checks passed"
msgstr ""
@@ -391,7 +372,7 @@ msgstr ""
msgid "Connections are unavailable"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:125
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:157
msgid "Connectivity probe failed"
msgstr ""
@@ -548,8 +529,8 @@ msgstr ""
msgid "Dont Touch My DHCP!"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:777
#: src/podkop/tabs/dashboard/initController.ts:815
#: src/podkop/tabs/dashboard/initController.ts:772
#: src/podkop/tabs/dashboard/initController.ts:810
msgid "Downlink"
msgstr ""
@@ -737,9 +718,7 @@ msgid "Fallback on unknown DC"
msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:313
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:77
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:78
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:90
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:113
msgid "Fastest"
msgstr ""
@@ -1115,12 +1094,7 @@ msgstr ""
msgid "IPs"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:73
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:76
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:79
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:75
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:70
#: src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:17
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
msgid "Issues detected"
msgstr ""
@@ -1227,7 +1201,7 @@ msgstr ""
msgid "Maximum response time delta in milliseconds"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:855
#: src/podkop/tabs/dashboard/initController.ts:850
msgid "Memory Usage"
msgstr ""
@@ -1263,13 +1237,13 @@ msgstr ""
msgid "Network Interface"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:123
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:118
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:100
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:97
msgid "NFQUEUE range is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:122
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:117
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:99
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:96
msgid "NFQUEUE range overlaps with another rule"
msgstr ""
@@ -1313,15 +1287,15 @@ msgstr ""
msgid "No public firewall port required"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:105
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:79
msgid "No rules use ByeDPI"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:100
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:79
msgid "No rules use Zapret"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:105
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:82
msgid "No rules use Zapret2"
msgstr ""
@@ -1361,10 +1335,10 @@ msgstr ""
msgid "Not required for this listen address"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:78
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:90
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:103
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:131
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:91
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:129
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:135
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:163
msgid "Not responding"
msgstr ""
@@ -1511,43 +1485,43 @@ msgstr ""
msgid "Podkop Plus will not modify your DHCP configuration"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:117
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:91
msgid "Podkop Plus-managed ciadpi runtime has restarted"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:120
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:94
msgid "Podkop Plus-managed ciadpi runtime is not ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:123
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:97
msgid "Podkop Plus-managed ciadpi runtime is not running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:119
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:93
msgid "Podkop Plus-managed ciadpi runtime is ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:108
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:87
msgid "Podkop Plus-managed nfqws runtime is not ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:111
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:90
msgid "Podkop Plus-managed nfqws runtime is not running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:107
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:86
msgid "Podkop Plus-managed nfqws runtime is ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:113
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:90
msgid "Podkop Plus-managed nfqws2 runtime is not ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:116
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:93
msgid "Podkop Plus-managed nfqws2 runtime is not running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:112
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:89
msgid "Podkop Plus-managed nfqws2 runtime is ready"
msgstr ""
@@ -1873,7 +1847,7 @@ msgstr ""
msgid "Service list"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:888
#: src/podkop/tabs/dashboard/initController.ts:883
msgid "Services info"
msgstr ""
@@ -1949,47 +1923,47 @@ msgstr ""
msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:157
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:124
msgid "Standalone ByeDPI autostart is enabled"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:152
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:119
msgid "Standalone ByeDPI is active together with Podkop Plus ByeDPI rules"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:155
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:122
msgid "Standalone ByeDPI service is active"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:158
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:125
msgid "Standalone ByeDPI service is inactive"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:125
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:111
msgid "Standalone Zapret is active together with Podkop Plus Zapret rules"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:128
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:114
msgid "Standalone Zapret service is active"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:129
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:115
msgid "Standalone Zapret service is inactive"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:153
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:123
msgid "Standalone Zapret2 autostart is enabled"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:148
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:118
msgid "Standalone Zapret2 is active together with Podkop Plus Zapret2 rules"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:151
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:121
msgid "Standalone Zapret2 service is active"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:154
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:124
msgid "Standalone Zapret2 service is inactive"
msgstr ""
@@ -2035,7 +2009,7 @@ msgstr ""
msgid "Successfully copied!"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:848
#: src/podkop/tabs/dashboard/initController.ts:843
msgid "System info"
msgstr ""
@@ -2082,15 +2056,15 @@ 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/runByedpiCheck.ts:104
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:78
msgid "There are rules using ByeDPI"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:99
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:78
msgid "There are rules using Zapret"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:104
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:81
msgid "There are rules using Zapret2"
msgstr ""
@@ -2149,12 +2123,12 @@ msgstr ""
msgid "tiny"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:774
#: src/podkop/tabs/dashboard/initController.ts:769
#: src/podkop/tabs/dashboard/partials/renderSections.ts:216
msgid "Traffic"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:808
#: src/podkop/tabs/dashboard/initController.ts:803
msgid "Traffic Total"
msgstr ""
@@ -2224,15 +2198,15 @@ msgstr ""
msgid "Unexpected ByeDPI strategy argument: %s"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:122
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:96
msgid "Unexpected Podkop Plus-managed ciadpi runtime is running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:110
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:89
msgid "Unexpected Podkop Plus-managed nfqws runtime is running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:115
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:92
msgid "Unexpected Podkop Plus-managed nfqws2 runtime is running"
msgstr ""
@@ -2299,8 +2273,8 @@ msgstr ""
msgid "Update subscriptions"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:776
#: src/podkop/tabs/dashboard/initController.ts:811
#: src/podkop/tabs/dashboard/initController.ts:771
#: src/podkop/tabs/dashboard/initController.ts:806
msgid "Uplink"
msgstr ""
@@ -2495,54 +2469,54 @@ msgstr ""
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:92
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:71
msgid "Zapret package is installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:93
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:72
msgid "Zapret package is not installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:81
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:60
msgid "Zapret provider binary is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:82
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
msgid "Zapret provider binary is not available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:103
msgid "Zapret sing-box outbound is configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:104
msgid "Zapret sing-box outbound is not configured"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135
msgid "Zapret2 hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS2 strategies."
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:97
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:74
msgid "Zapret2 package is installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:98
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:75
msgid "Zapret2 package is not installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:86
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:63
msgid "Zapret2 provider binary is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:87
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:64
msgid "Zapret2 provider binary is not available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:136
msgid "Zapret2 route rules are configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:137
msgid "Zapret2 route rules are not configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:129
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:106
msgid "Zapret2 sing-box outbound is configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:130
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:107
msgid "Zapret2 sing-box outbound is not configured"
msgstr ""
+8 -14
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-10 21:45+0300\n"
"PO-Revision-Date: 2026-06-10 21:45+0300\n"
"POT-Creation-Date: 2026-06-10 22:07+0300\n"
"PO-Revision-Date: 2026-06-10 22:07+0300\n"
"Last-Translator: ushan0v\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -155,12 +155,6 @@ msgstr "Бинарный файл провайдера ByeDPI доступен"
msgid "ByeDPI provider binary is not available"
msgstr "Бинарный файл провайдера ByeDPI недоступен"
msgid "ByeDPI route rules are configured"
msgstr "Маршрутные правила ByeDPI настроены"
msgid "ByeDPI route rules are not configured"
msgstr "Маршрутные правила ByeDPI не настроены"
msgid "ByeDPI sing-box outbound is configured"
msgstr "Outbound ByeDPI в sing-box настроен"
@@ -1742,6 +1736,12 @@ msgstr "Бинарник провайдера Zapret доступен"
msgid "Zapret provider binary is not available"
msgstr "Бинарник провайдера Zapret недоступен"
msgid "Zapret sing-box outbound is configured"
msgstr "sing-box outbound для Zapret настроен"
msgid "Zapret sing-box outbound is not configured"
msgstr "sing-box outbound для Zapret не настроен"
msgid "Zapret2 hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS2 strategies."
msgstr "Шаблоны hostlist Zapret2 здесь не поддерживаются, потому что Podkop Plus не разворачивает их для per-rule стратегий NFQWS2."
@@ -1757,12 +1757,6 @@ msgstr "Бинарник провайдера Zapret2 доступен"
msgid "Zapret2 provider binary is not available"
msgstr "Бинарник провайдера Zapret2 недоступен"
msgid "Zapret2 route rules are configured"
msgstr "Правила маршрутизации Zapret2 настроены"
msgid "Zapret2 route rules are not configured"
msgstr "Правила маршрутизации Zapret2 не настроены"
msgid "Zapret2 sing-box outbound is configured"
msgstr "sing-box outbound для Zapret2 настроен"
@@ -0,0 +1,25 @@
import { IDiagnosticsChecksItem } from '../../../services';
export function getCheckItemsMeta(items: IDiagnosticsChecksItem[]): {
description: string;
state: 'warning' | 'success' | 'error';
} {
if (items.some((item) => item.state === 'error')) {
return {
state: 'error',
description: _('Checks failed'),
};
}
if (items.some((item) => item.state === 'warning')) {
return {
state: 'warning',
description: _('Issues detected'),
};
}
return {
state: 'success',
description: _('Checks passed'),
};
}
@@ -2,8 +2,7 @@ import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { PodkopShellMethods } from '../../../methods';
import { updateCheckStore } from './updateCheckStore';
import { IDiagnosticsChecksItem } from '../../../services';
type CheckState = 'success' | 'warning' | 'error';
import { getCheckItemsMeta } from './getCheckItemsMeta';
export async function runByedpiCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.BYEDPI;
@@ -36,7 +35,6 @@ export async function runByedpiCheck() {
const providerAvailable = Boolean(data.provider_available ?? data.installed);
const packageInstalled = Boolean(data.package_installed);
const hasByedpiRules = Number(data.enabled_rule_count || 0) > 0;
const ready = Boolean(data.ready);
const expectedProcesses = Number(data.expected_process_count || 0);
const runningProcesses = Number(data.running_process_count || 0);
const supervisorProcesses = Number(data.supervisor_process_count || 0);
@@ -49,36 +47,12 @@ export async function runByedpiCheck() {
const unexpectedRuntime =
!hasByedpiRules && (runningProcesses > 0 || supervisorProcesses > 0);
const outboundsConfigured = Boolean(data.outbounds_configured);
const routesConfigured = Boolean(data.routes_configured);
const standaloneServiceEnabled = Boolean(data.standalone_service_enabled);
const standaloneServiceRunning = Boolean(data.standalone_service_running);
const standaloneConflict = hasByedpiRules && standaloneServiceRunning;
const standaloneAutostartRisk =
hasByedpiRules && standaloneServiceEnabled && !standaloneServiceRunning;
let state: CheckState = 'success';
let description = _('Checks passed');
if (hasByedpiRules && !providerAvailable) {
state = 'error';
description = _('Checks failed');
} else if (hasByedpiRules && !ready) {
state = 'error';
description = _('Checks failed');
} else if (standaloneConflict) {
state = 'error';
description = _('Checks failed');
} else if (runtimeUnstable) {
state = 'warning';
description = _('Issues detected');
} else if (standaloneAutostartRisk) {
state = 'warning';
description = _('Issues detected');
} else if (!packageInstalled) {
state = 'warning';
description = _('Issues detected');
}
const items: Array<IDiagnosticsChecksItem> = [
{
state: providerAvailable
@@ -134,13 +108,6 @@ export async function runByedpiCheck() {
: _('ByeDPI sing-box outbound is not configured'),
value: `${data.listen_address}:${Number(data.port_base || 0)}`,
},
{
state: !hasByedpiRules || routesConfigured ? 'success' : 'error',
key: routesConfigured
? _('ByeDPI route rules are configured')
: _('ByeDPI route rules are not configured'),
value: '',
},
{
state: standaloneConflict
? 'error'
@@ -159,6 +126,7 @@ export async function runByedpiCheck() {
value: '',
},
];
const { state, description } = getCheckItemsMeta(items);
updateCheckStore({
order,
@@ -2,8 +2,7 @@ import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { PodkopShellMethods } from '../../../methods';
import { updateCheckStore } from './updateCheckStore';
import { IDiagnosticsChecksItem } from '../../../services';
type CheckState = 'success' | 'warning' | 'error';
import { getCheckItemsMeta } from './getCheckItemsMeta';
export async function runZapret2Check() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.ZAPRET2;
@@ -36,7 +35,6 @@ export async function runZapret2Check() {
const providerAvailable = Boolean(data.provider_available ?? data.installed);
const packageInstalled = Boolean(data.package_installed);
const hasZapret2Rules = Number(data.enabled_rule_count || 0) > 0;
const ready = Boolean(data.ready);
const queueOverlap = Boolean(data.queue_overlap);
const expectedProcesses = Number(data.expected_process_count || 0);
const runningProcesses = Number(data.running_process_count || 0);
@@ -48,33 +46,12 @@ export async function runZapret2Check() {
const unexpectedRuntime =
!hasZapret2Rules && (runningProcesses > 0 || supervisorProcesses > 0);
const outboundsConfigured = Boolean(data.outbounds_configured);
const routesConfigured = Boolean(data.routes_configured);
const standaloneServiceEnabled = Boolean(data.standalone_service_enabled);
const standaloneServiceRunning = Boolean(data.standalone_service_running);
const standaloneConflict = hasZapret2Rules && standaloneServiceRunning;
const standaloneAutostartRisk =
hasZapret2Rules && standaloneServiceEnabled && !standaloneServiceRunning;
let state: CheckState = 'success';
let description = _('Checks passed');
if (hasZapret2Rules && !providerAvailable) {
state = 'error';
description = _('Checks failed');
} else if (hasZapret2Rules && !ready) {
state = 'error';
description = _('Checks failed');
} else if (queueOverlap) {
state = 'error';
description = _('Checks failed');
} else if (standaloneConflict) {
state = 'error';
description = _('Checks failed');
} else if (standaloneAutostartRisk || !packageInstalled) {
state = 'warning';
description = _('Issues detected');
}
const items: Array<IDiagnosticsChecksItem> = [
{
state: providerAvailable
@@ -85,7 +62,7 @@ export async function runZapret2Check() {
key: providerAvailable
? _('Zapret2 provider binary is available')
: _('Zapret2 provider binary is not available'),
value: '',
value: data.provider_path || '',
},
{
state: packageInstalled
@@ -130,13 +107,6 @@ export async function runZapret2Check() {
: _('Zapret2 sing-box outbound is not configured'),
value: '',
},
{
state: !hasZapret2Rules || routesConfigured ? 'success' : 'error',
key: routesConfigured
? _('Zapret2 route rules are configured')
: _('Zapret2 route rules are not configured'),
value: '',
},
{
state: standaloneConflict
? 'error'
@@ -155,6 +125,7 @@ export async function runZapret2Check() {
value: '',
},
];
const { state, description } = getCheckItemsMeta(items);
updateCheckStore({
order,
@@ -2,8 +2,7 @@ import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { PodkopShellMethods } from '../../../methods';
import { updateCheckStore } from './updateCheckStore';
import { IDiagnosticsChecksItem } from '../../../services';
type CheckState = 'success' | 'warning' | 'error';
import { getCheckItemsMeta } from './getCheckItemsMeta';
export async function runZapretCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.ZAPRET;
@@ -36,7 +35,6 @@ export async function runZapretCheck() {
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 queueOverlap = Boolean(data.queue_overlap);
const standaloneServiceRunning = Boolean(data.standalone_service_running);
const standaloneConflict = hasZapretRules && standaloneServiceRunning;
@@ -49,26 +47,7 @@ export async function runZapretCheck() {
supervisorProcesses === expectedProcesses);
const unexpectedRuntime =
!hasZapretRules && (runningProcesses > 0 || supervisorProcesses > 0);
let state: CheckState = 'success';
let description = _('Checks passed');
if (hasZapretRules && !providerAvailable) {
state = 'error';
description = _('Checks failed');
} else if (hasZapretRules && !ready) {
state = 'error';
description = _('Checks failed');
} else if (queueOverlap) {
state = 'error';
description = _('Checks failed');
} else if (!hasZapretRules && !providerAvailable) {
state = 'warning';
description = _('Issues detected');
} else if (standaloneConflict) {
state = 'warning';
description = _('Issues detected');
}
const outboundsConfigured = Boolean(data.outbounds_configured);
const items: Array<IDiagnosticsChecksItem> = [
{
@@ -80,7 +59,7 @@ export async function runZapretCheck() {
key: providerAvailable
? _('Zapret provider binary is available')
: _('Zapret provider binary is not available'),
value: '',
value: data.provider_path || '',
},
{
state: packageInstalled
@@ -109,7 +88,7 @@ export async function runZapretCheck() {
: unexpectedRuntime
? _('Unexpected Podkop Plus-managed nfqws runtime is running')
: _('Podkop Plus-managed nfqws runtime is not running'),
value: '',
value: hasZapretRules ? `${runningProcesses}/${expectedProcesses}` : '',
},
{
state: queueOverlap ? 'error' : 'success',
@@ -118,6 +97,13 @@ export async function runZapretCheck() {
: _('NFQUEUE range is available'),
value: `${Number(data.queue_base || 0)}-${Number(data.queue_range_end || 0)}`,
},
{
state: !hasZapretRules || outboundsConfigured ? 'success' : 'error',
key: outboundsConfigured
? _('Zapret sing-box outbound is configured')
: _('Zapret sing-box outbound is not configured'),
value: '',
},
{
state: standaloneConflict ? 'warning' : 'success',
key: standaloneServiceRunning
@@ -130,6 +116,7 @@ export async function runZapretCheck() {
value: '',
},
];
const { state, description } = getCheckItemsMeta(items);
updateCheckStore({
order,
@@ -0,0 +1,186 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
const mocks = vi.hoisted(() => ({
getZapretStatus: vi.fn(),
getZapret2Status: vi.fn(),
getByedpiStatus: vi.fn(),
updateCheckStore: vi.fn(),
}));
vi.mock('../../../../methods', () => ({
PodkopShellMethods: {
getZapretStatus: mocks.getZapretStatus,
getZapret2Status: mocks.getZapret2Status,
getByedpiStatus: mocks.getByedpiStatus,
},
}));
vi.mock('../updateCheckStore', () => ({
updateCheckStore: mocks.updateCheckStore,
}));
import { runByedpiCheck } from '../runByedpiCheck';
import { runZapret2Check } from '../runZapret2Check';
import { runZapretCheck } from '../runZapretCheck';
const zapretOkData = {
provider_available: true,
package_installed: true,
enabled_rule_count: 1,
expected_process_count: 1,
running_process_count: 1,
supervisor_process_count: 1,
queue_overlap: false,
queue_base: 200,
queue_range_end: 200,
standalone_service_running: false,
outbounds_configured: true,
routes_configured: false,
ready: false,
};
describe('provider diagnostics checks', () => {
beforeEach(() => {
mocks.getZapretStatus.mockReset();
mocks.getZapret2Status.mockReset();
mocks.getByedpiStatus.mockReset();
mocks.updateCheckStore.mockReset();
});
it('shows Zapret provider path and does not fail on hidden route status', async () => {
mocks.getZapretStatus.mockResolvedValue({
success: true,
data: {
...zapretOkData,
provider_path: '/usr/bin/nfqws',
},
});
await expect(runZapretCheck()).resolves.toBeUndefined();
const result = mocks.updateCheckStore.mock.calls.at(-1)?.[0];
expect(result).toMatchObject({
state: 'success',
description: 'Checks passed',
});
expect(result.items).toEqual(
expect.arrayContaining([
expect.objectContaining({
key: 'Zapret provider binary is available',
value: '/usr/bin/nfqws',
}),
expect.objectContaining({
state: 'success',
key: 'Zapret sing-box outbound is configured',
}),
]),
);
expect(
result.items.some((item: { key: string }) =>
item.key.includes('route rules'),
),
).toBe(false);
});
it('keeps Zapret outbound failures visible and red', async () => {
mocks.getZapretStatus.mockResolvedValue({
success: true,
data: {
...zapretOkData,
provider_path: '/usr/bin/nfqws',
outbounds_configured: false,
},
});
await expect(runZapretCheck()).resolves.toBeUndefined();
const result = mocks.updateCheckStore.mock.calls.at(-1)?.[0];
expect(result).toMatchObject({
state: 'error',
description: 'Checks failed',
});
expect(result.items).toEqual(
expect.arrayContaining([
expect.objectContaining({
state: 'error',
key: 'Zapret sing-box outbound is not configured',
}),
]),
);
});
it('removes Zapret2 route checks while keeping provider path visible', async () => {
mocks.getZapret2Status.mockResolvedValue({
success: true,
data: {
...zapretOkData,
provider_path: '/usr/bin/nfqws2',
},
});
await expect(runZapret2Check()).resolves.toBeUndefined();
const result = mocks.updateCheckStore.mock.calls.at(-1)?.[0];
expect(result).toMatchObject({
state: 'success',
description: 'Checks passed',
});
expect(result.items).toEqual(
expect.arrayContaining([
expect.objectContaining({
key: 'Zapret2 provider binary is available',
value: '/usr/bin/nfqws2',
}),
expect.objectContaining({
state: 'success',
key: 'Zapret2 sing-box outbound is configured',
}),
]),
);
expect(
result.items.some((item: { key: string }) =>
item.key.includes('route rules'),
),
).toBe(false);
});
it('removes ByeDPI route checks from the visible and aggregate status', async () => {
mocks.getByedpiStatus.mockResolvedValue({
success: true,
data: {
provider_available: true,
package_installed: true,
enabled_rule_count: 1,
expected_process_count: 1,
running_process_count: 1,
supervisor_process_count: 1,
restart_count: 0,
runtime_unstable: false,
standalone_service_enabled: false,
standalone_service_running: false,
listen_address: '127.0.0.1',
port_base: 1080,
outbounds_configured: true,
routes_configured: false,
ready: false,
},
});
await expect(runByedpiCheck()).resolves.toBeUndefined();
const result = mocks.updateCheckStore.mock.calls.at(-1)?.[0];
expect(result).toMatchObject({
state: 'success',
description: 'Checks passed',
});
expect(
result.items.some((item: { key: string }) =>
item.key.includes('route rules'),
),
).toBe(false);
});
});
@@ -6367,6 +6367,26 @@ async function runFakeIPCheck() {
});
}
// src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts
function getCheckItemsMeta(items) {
if (items.some((item) => item.state === "error")) {
return {
state: "error",
description: _("Checks failed")
};
}
if (items.some((item) => item.state === "warning")) {
return {
state: "warning",
description: _("Issues detected")
};
}
return {
state: "success",
description: _("Checks passed")
};
}
// src/podkop/tabs/diagnostic/checks/runZapretCheck.ts
async function runZapretCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.ZAPRET;
@@ -6394,7 +6414,6 @@ async function runZapretCheck() {
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 queueOverlap = Boolean(data.queue_overlap);
const standaloneServiceRunning = Boolean(data.standalone_service_running);
const standaloneConflict = hasZapretRules && standaloneServiceRunning;
@@ -6403,29 +6422,12 @@ async function runZapretCheck() {
const supervisorProcesses = Number(data.supervisor_process_count || 0);
const podkopRuntimeReady = !hasZapretRules || runningProcesses === expectedProcesses && supervisorProcesses === expectedProcesses;
const unexpectedRuntime = !hasZapretRules && (runningProcesses > 0 || supervisorProcesses > 0);
let state = "success";
let description = _("Checks passed");
if (hasZapretRules && !providerAvailable) {
state = "error";
description = _("Checks failed");
} else if (hasZapretRules && !ready) {
state = "error";
description = _("Checks failed");
} else if (queueOverlap) {
state = "error";
description = _("Checks failed");
} else if (!hasZapretRules && !providerAvailable) {
state = "warning";
description = _("Issues detected");
} else if (standaloneConflict) {
state = "warning";
description = _("Issues detected");
}
const outboundsConfigured = Boolean(data.outbounds_configured);
const items = [
{
state: providerAvailable ? "success" : hasZapretRules ? "error" : "warning",
key: providerAvailable ? _("Zapret provider binary is available") : _("Zapret provider binary is not available"),
value: ""
value: data.provider_path || ""
},
{
state: packageInstalled ? "success" : hasZapretRules ? "error" : "warning",
@@ -6440,13 +6442,18 @@ async function runZapretCheck() {
{
state: unexpectedRuntime || !podkopRuntimeReady ? "error" : "success",
key: hasZapretRules ? podkopRuntimeReady ? _("Podkop Plus-managed nfqws runtime is ready") : _("Podkop Plus-managed nfqws runtime is not ready") : unexpectedRuntime ? _("Unexpected Podkop Plus-managed nfqws runtime is running") : _("Podkop Plus-managed nfqws runtime is not running"),
value: ""
value: hasZapretRules ? `${runningProcesses}/${expectedProcesses}` : ""
},
{
state: queueOverlap ? "error" : "success",
key: queueOverlap ? _("NFQUEUE range overlaps with another rule") : _("NFQUEUE range is available"),
value: `${Number(data.queue_base || 0)}-${Number(data.queue_range_end || 0)}`
},
{
state: !hasZapretRules || outboundsConfigured ? "success" : "error",
key: outboundsConfigured ? _("Zapret sing-box outbound is configured") : _("Zapret sing-box outbound is not configured"),
value: ""
},
{
state: standaloneConflict ? "warning" : "success",
key: standaloneServiceRunning ? hasZapretRules ? _(
@@ -6455,6 +6462,7 @@ async function runZapretCheck() {
value: ""
}
];
const { state, description } = getCheckItemsMeta(items);
updateCheckStore({
order,
code,
@@ -6492,7 +6500,6 @@ async function runZapret2Check() {
const providerAvailable = Boolean(data.provider_available ?? data.installed);
const packageInstalled = Boolean(data.package_installed);
const hasZapret2Rules = Number(data.enabled_rule_count || 0) > 0;
const ready = Boolean(data.ready);
const queueOverlap = Boolean(data.queue_overlap);
const expectedProcesses = Number(data.expected_process_count || 0);
const runningProcesses = Number(data.running_process_count || 0);
@@ -6500,34 +6507,15 @@ async function runZapret2Check() {
const podkopRuntimeReady = !hasZapret2Rules || runningProcesses === expectedProcesses && supervisorProcesses === expectedProcesses;
const unexpectedRuntime = !hasZapret2Rules && (runningProcesses > 0 || supervisorProcesses > 0);
const outboundsConfigured = Boolean(data.outbounds_configured);
const routesConfigured = Boolean(data.routes_configured);
const standaloneServiceEnabled = Boolean(data.standalone_service_enabled);
const standaloneServiceRunning = Boolean(data.standalone_service_running);
const standaloneConflict = hasZapret2Rules && standaloneServiceRunning;
const standaloneAutostartRisk = hasZapret2Rules && standaloneServiceEnabled && !standaloneServiceRunning;
let state = "success";
let description = _("Checks passed");
if (hasZapret2Rules && !providerAvailable) {
state = "error";
description = _("Checks failed");
} else if (hasZapret2Rules && !ready) {
state = "error";
description = _("Checks failed");
} else if (queueOverlap) {
state = "error";
description = _("Checks failed");
} else if (standaloneConflict) {
state = "error";
description = _("Checks failed");
} else if (standaloneAutostartRisk || !packageInstalled) {
state = "warning";
description = _("Issues detected");
}
const items = [
{
state: providerAvailable ? "success" : hasZapret2Rules ? "error" : "warning",
key: providerAvailable ? _("Zapret2 provider binary is available") : _("Zapret2 provider binary is not available"),
value: ""
value: data.provider_path || ""
},
{
state: packageInstalled ? "success" : hasZapret2Rules ? "error" : "warning",
@@ -6554,11 +6542,6 @@ async function runZapret2Check() {
key: outboundsConfigured ? _("Zapret2 sing-box outbound is configured") : _("Zapret2 sing-box outbound is not configured"),
value: ""
},
{
state: !hasZapret2Rules || routesConfigured ? "success" : "error",
key: routesConfigured ? _("Zapret2 route rules are configured") : _("Zapret2 route rules are not configured"),
value: ""
},
{
state: standaloneConflict ? "error" : standaloneAutostartRisk ? "warning" : "success",
key: standaloneServiceRunning ? hasZapret2Rules ? _(
@@ -6567,6 +6550,7 @@ async function runZapret2Check() {
value: ""
}
];
const { state, description } = getCheckItemsMeta(items);
updateCheckStore({
order,
code,
@@ -6604,7 +6588,6 @@ async function runByedpiCheck() {
const providerAvailable = Boolean(data.provider_available ?? data.installed);
const packageInstalled = Boolean(data.package_installed);
const hasByedpiRules = Number(data.enabled_rule_count || 0) > 0;
const ready = Boolean(data.ready);
const expectedProcesses = Number(data.expected_process_count || 0);
const runningProcesses = Number(data.running_process_count || 0);
const supervisorProcesses = Number(data.supervisor_process_count || 0);
@@ -6613,32 +6596,10 @@ async function runByedpiCheck() {
const podkopRuntimeReady = !hasByedpiRules || runningProcesses === expectedProcesses && supervisorProcesses === expectedProcesses;
const unexpectedRuntime = !hasByedpiRules && (runningProcesses > 0 || supervisorProcesses > 0);
const outboundsConfigured = Boolean(data.outbounds_configured);
const routesConfigured = Boolean(data.routes_configured);
const standaloneServiceEnabled = Boolean(data.standalone_service_enabled);
const standaloneServiceRunning = Boolean(data.standalone_service_running);
const standaloneConflict = hasByedpiRules && standaloneServiceRunning;
const standaloneAutostartRisk = hasByedpiRules && standaloneServiceEnabled && !standaloneServiceRunning;
let state = "success";
let description = _("Checks passed");
if (hasByedpiRules && !providerAvailable) {
state = "error";
description = _("Checks failed");
} else if (hasByedpiRules && !ready) {
state = "error";
description = _("Checks failed");
} else if (standaloneConflict) {
state = "error";
description = _("Checks failed");
} else if (runtimeUnstable) {
state = "warning";
description = _("Issues detected");
} else if (standaloneAutostartRisk) {
state = "warning";
description = _("Issues detected");
} else if (!packageInstalled) {
state = "warning";
description = _("Issues detected");
}
const items = [
{
state: providerAvailable ? "success" : hasByedpiRules ? "error" : "warning",
@@ -6665,11 +6626,6 @@ async function runByedpiCheck() {
key: outboundsConfigured ? _("ByeDPI sing-box outbound is configured") : _("ByeDPI sing-box outbound is not configured"),
value: `${data.listen_address}:${Number(data.port_base || 0)}`
},
{
state: !hasByedpiRules || routesConfigured ? "success" : "error",
key: routesConfigured ? _("ByeDPI route rules are configured") : _("ByeDPI route rules are not configured"),
value: ""
},
{
state: standaloneConflict ? "error" : standaloneAutostartRisk ? "warning" : "success",
key: standaloneServiceRunning ? hasByedpiRules ? _(
@@ -6678,6 +6634,7 @@ async function runByedpiCheck() {
value: ""
}
];
const { state, description } = getCheckItemsMeta(items);
updateCheckStore({
order,
code,
+8 -14
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-10 21:45+0300\n"
"PO-Revision-Date: 2026-06-10 21:45+0300\n"
"POT-Creation-Date: 2026-06-10 22:07+0300\n"
"PO-Revision-Date: 2026-06-10 22:07+0300\n"
"Last-Translator: ushan0v\n"
"Language-Team: none\n"
"Language: ru\n"
@@ -155,12 +155,6 @@ msgstr "Бинарный файл провайдера ByeDPI доступен"
msgid "ByeDPI provider binary is not available"
msgstr "Бинарный файл провайдера ByeDPI недоступен"
msgid "ByeDPI route rules are configured"
msgstr "Маршрутные правила ByeDPI настроены"
msgid "ByeDPI route rules are not configured"
msgstr "Маршрутные правила ByeDPI не настроены"
msgid "ByeDPI sing-box outbound is configured"
msgstr "Outbound ByeDPI в sing-box настроен"
@@ -1742,6 +1736,12 @@ msgstr "Бинарник провайдера Zapret доступен"
msgid "Zapret provider binary is not available"
msgstr "Бинарник провайдера Zapret недоступен"
msgid "Zapret sing-box outbound is configured"
msgstr "sing-box outbound для Zapret настроен"
msgid "Zapret sing-box outbound is not configured"
msgstr "sing-box outbound для Zapret не настроен"
msgid "Zapret2 hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS2 strategies."
msgstr "Шаблоны hostlist Zapret2 здесь не поддерживаются, потому что Podkop Plus не разворачивает их для per-rule стратегий NFQWS2."
@@ -1757,12 +1757,6 @@ msgstr "Бинарник провайдера Zapret2 доступен"
msgid "Zapret2 provider binary is not available"
msgstr "Бинарник провайдера Zapret2 недоступен"
msgid "Zapret2 route rules are configured"
msgstr "Правила маршрутизации Zapret2 настроены"
msgid "Zapret2 route rules are not configured"
msgstr "Правила маршрутизации Zapret2 не настроены"
msgid "Zapret2 sing-box outbound is configured"
msgstr "sing-box outbound для Zapret2 настроен"
+91 -117
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PODKOP PLUS\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-06-10 18:45+0300\n"
"PO-Revision-Date: 2026-06-10 18:45+0300\n"
"POT-Creation-Date: 2026-06-10 19:07+0300\n"
"PO-Revision-Date: 2026-06-10 19:07+0300\n"
"Last-Translator: ushan0v <ushanov2204@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@@ -21,13 +21,13 @@ msgstr ""
msgid "-- Select --"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:893
#: src/podkop/tabs/dashboard/initController.ts:904
#: src/podkop/tabs/dashboard/initController.ts:888
#: src/podkop/tabs/dashboard/initController.ts:899
msgid "✔ Running"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:894
#: src/podkop/tabs/dashboard/initController.ts:905
#: src/podkop/tabs/dashboard/initController.ts:889
#: src/podkop/tabs/dashboard/initController.ts:900
msgid "✘ Stopped"
msgstr ""
@@ -49,7 +49,7 @@ msgstr ""
msgid "Active"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:851
#: src/podkop/tabs/dashboard/initController.ts:846
msgid "Active Connections"
msgstr ""
@@ -195,35 +195,27 @@ msgstr ""
msgid "ByeDPI option requires a value: %s"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:97
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:71
msgid "ByeDPI package is installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:98
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:72
msgid "ByeDPI package is not installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:90
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:64
msgid "ByeDPI provider binary is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:91
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:65
msgid "ByeDPI provider binary is not available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:140
msgid "ByeDPI route rules are configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:141
msgid "ByeDPI route rules are not configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:133
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:107
msgid "ByeDPI sing-box outbound is configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:134
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:108
msgid "ByeDPI sing-box outbound is not configured"
msgstr ""
@@ -243,14 +235,14 @@ msgstr ""
msgid "Cache file path cannot be empty"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:27
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:26
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:27
#: src/podkop/tabs/diagnostic/checks/runInboundsCheck.ts:162
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:31
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:48
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:27
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:27
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:26
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:26
msgid "Cannot receive checks result"
msgstr ""
@@ -271,15 +263,15 @@ msgid "Check update"
msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:982
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:14
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runInboundsCheck.ts:150
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:17
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:34
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:15
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:14
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:14
msgid "Checking, please wait"
msgstr ""
@@ -287,24 +279,13 @@ msgstr ""
msgid "checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:64
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:67
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:70
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:63
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:66
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:69
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:72
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:58
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:64
#: src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:10
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
msgid "Checks failed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:60
#: src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:23
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:39
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:59
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:54
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
msgid "Checks passed"
msgstr ""
@@ -391,7 +372,7 @@ msgstr ""
msgid "Connections are unavailable"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:125
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:157
msgid "Connectivity probe failed"
msgstr ""
@@ -548,8 +529,8 @@ msgstr ""
msgid "Dont Touch My DHCP!"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:777
#: src/podkop/tabs/dashboard/initController.ts:815
#: src/podkop/tabs/dashboard/initController.ts:772
#: src/podkop/tabs/dashboard/initController.ts:810
msgid "Downlink"
msgstr ""
@@ -737,9 +718,7 @@ msgid "Fallback on unknown DC"
msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:313
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:77
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:78
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:90
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:113
msgid "Fastest"
msgstr ""
@@ -1115,12 +1094,7 @@ msgstr ""
msgid "IPs"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:73
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:76
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:79
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:75
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:67
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:70
#: src/podkop/tabs/diagnostic/checks/getCheckItemsMeta.ts:17
#: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
msgid "Issues detected"
msgstr ""
@@ -1227,7 +1201,7 @@ msgstr ""
msgid "Maximum response time delta in milliseconds"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:855
#: src/podkop/tabs/dashboard/initController.ts:850
msgid "Memory Usage"
msgstr ""
@@ -1263,13 +1237,13 @@ msgstr ""
msgid "Network Interface"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:123
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:118
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:100
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:97
msgid "NFQUEUE range is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:122
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:117
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:99
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:96
msgid "NFQUEUE range overlaps with another rule"
msgstr ""
@@ -1313,15 +1287,15 @@ msgstr ""
msgid "No public firewall port required"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:105
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:79
msgid "No rules use ByeDPI"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:100
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:79
msgid "No rules use Zapret"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:105
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:82
msgid "No rules use Zapret2"
msgstr ""
@@ -1361,10 +1335,10 @@ msgstr ""
msgid "Not required for this listen address"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:78
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:90
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:103
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:131
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:91
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:129
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:135
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:163
msgid "Not responding"
msgstr ""
@@ -1511,43 +1485,43 @@ msgstr ""
msgid "Podkop Plus will not modify your DHCP configuration"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:117
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:91
msgid "Podkop Plus-managed ciadpi runtime has restarted"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:120
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:94
msgid "Podkop Plus-managed ciadpi runtime is not ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:123
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:97
msgid "Podkop Plus-managed ciadpi runtime is not running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:119
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:93
msgid "Podkop Plus-managed ciadpi runtime is ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:108
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:87
msgid "Podkop Plus-managed nfqws runtime is not ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:111
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:90
msgid "Podkop Plus-managed nfqws runtime is not running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:107
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:86
msgid "Podkop Plus-managed nfqws runtime is ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:113
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:90
msgid "Podkop Plus-managed nfqws2 runtime is not ready"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:116
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:93
msgid "Podkop Plus-managed nfqws2 runtime is not running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:112
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:89
msgid "Podkop Plus-managed nfqws2 runtime is ready"
msgstr ""
@@ -1873,7 +1847,7 @@ msgstr ""
msgid "Service list"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:888
#: src/podkop/tabs/dashboard/initController.ts:883
msgid "Services info"
msgstr ""
@@ -1949,47 +1923,47 @@ msgstr ""
msgid "Specify local IP addresses or subnets whose traffic will always be routed through the configured route"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:157
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:124
msgid "Standalone ByeDPI autostart is enabled"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:152
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:119
msgid "Standalone ByeDPI is active together with Podkop Plus ByeDPI rules"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:155
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:122
msgid "Standalone ByeDPI service is active"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:158
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:125
msgid "Standalone ByeDPI service is inactive"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:125
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:111
msgid "Standalone Zapret is active together with Podkop Plus Zapret rules"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:128
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:114
msgid "Standalone Zapret service is active"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:129
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:115
msgid "Standalone Zapret service is inactive"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:153
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:123
msgid "Standalone Zapret2 autostart is enabled"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:148
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:118
msgid "Standalone Zapret2 is active together with Podkop Plus Zapret2 rules"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:151
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:121
msgid "Standalone Zapret2 service is active"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:154
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:124
msgid "Standalone Zapret2 service is inactive"
msgstr ""
@@ -2035,7 +2009,7 @@ msgstr ""
msgid "Successfully copied!"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:848
#: src/podkop/tabs/dashboard/initController.ts:843
msgid "System info"
msgstr ""
@@ -2082,15 +2056,15 @@ 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/runByedpiCheck.ts:104
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:78
msgid "There are rules using ByeDPI"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:99
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:78
msgid "There are rules using Zapret"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:104
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:81
msgid "There are rules using Zapret2"
msgstr ""
@@ -2149,12 +2123,12 @@ msgstr ""
msgid "tiny"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:774
#: src/podkop/tabs/dashboard/initController.ts:769
#: src/podkop/tabs/dashboard/partials/renderSections.ts:216
msgid "Traffic"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:808
#: src/podkop/tabs/dashboard/initController.ts:803
msgid "Traffic Total"
msgstr ""
@@ -2224,15 +2198,15 @@ msgstr ""
msgid "Unexpected ByeDPI strategy argument: %s"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:122
#: src/podkop/tabs/diagnostic/checks/runByedpiCheck.ts:96
msgid "Unexpected Podkop Plus-managed ciadpi runtime is running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:110
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:89
msgid "Unexpected Podkop Plus-managed nfqws runtime is running"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:115
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:92
msgid "Unexpected Podkop Plus-managed nfqws2 runtime is running"
msgstr ""
@@ -2299,8 +2273,8 @@ msgstr ""
msgid "Update subscriptions"
msgstr ""
#: src/podkop/tabs/dashboard/initController.ts:776
#: src/podkop/tabs/dashboard/initController.ts:811
#: src/podkop/tabs/dashboard/initController.ts:771
#: src/podkop/tabs/dashboard/initController.ts:806
msgid "Uplink"
msgstr ""
@@ -2495,54 +2469,54 @@ msgstr ""
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:92
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:71
msgid "Zapret package is installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:93
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:72
msgid "Zapret package is not installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:81
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:60
msgid "Zapret provider binary is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:82
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:61
msgid "Zapret provider binary is not available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:103
msgid "Zapret sing-box outbound is configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapretCheck.ts:104
msgid "Zapret sing-box outbound is not configured"
msgstr ""
#: ../luci-app-podkop-plus/htdocs/luci-static/resources/view/podkop/section.js:2135
msgid "Zapret2 hostlist templates are not supported here because Podkop Plus does not expand them for per-rule NFQWS2 strategies."
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:97
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:74
msgid "Zapret2 package is installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:98
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:75
msgid "Zapret2 package is not installed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:86
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:63
msgid "Zapret2 provider binary is available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:87
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:64
msgid "Zapret2 provider binary is not available"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:136
msgid "Zapret2 route rules are configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:137
msgid "Zapret2 route rules are not configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:129
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:106
msgid "Zapret2 sing-box outbound is configured"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:130
#: src/podkop/tabs/diagnostic/checks/runZapret2Check.ts:107
msgid "Zapret2 sing-box outbound is not configured"
msgstr ""