feat: update checks displaying

This commit is contained in:
divocat
2025-10-23 18:59:23 +03:00
parent c4078c8242
commit 8301f4c271
13 changed files with 280 additions and 551 deletions

View File

@@ -38,7 +38,7 @@
"call": "Additional marking rules found", "call": "Additional marking rules found",
"key": "Additional marking rules found", "key": "Additional marking rules found",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:106"
] ]
}, },
{ {
@@ -73,7 +73,7 @@
"call": "Bootsrap DNS", "call": "Bootsrap DNS",
"key": "Bootsrap DNS", "key": "Bootsrap DNS",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72" "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:65"
] ]
}, },
{ {
@@ -87,14 +87,14 @@
"call": "Browser is not using FakeIP", "call": "Browser is not using FakeIP",
"key": "Browser is not using FakeIP", "key": "Browser is not using FakeIP",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81" "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:58"
] ]
}, },
{ {
"call": "Browser is using FakeIP correctly", "call": "Browser is using FakeIP correctly",
"key": "Browser is using FakeIP correctly", "key": "Browser is using FakeIP correctly",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80" "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57"
] ]
}, },
{ {
@@ -112,52 +112,50 @@
] ]
}, },
{ {
"call": "Cannot receive DNS checks result", "call": "Cannot receive checks result",
"key": "Cannot receive DNS checks result", "key": "Cannot receive checks result",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26" "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:27",
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28",
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25"
] ]
}, },
{ {
"call": "Cannot receive nftables checks result", "call": "Checking, please wait",
"key": "Cannot receive nftables checks result", "key": "Checking, please wait",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27" "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:15",
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:15",
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13",
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13"
] ]
}, },
{ {
"call": "Cannot receive Sing-box checks result", "call": "checks",
"key": "Cannot receive Sing-box checks result", "key": "checks",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24" "src/podkop/tabs/diagnostic/helpers/getCheckTitle.ts:2"
] ]
}, },
{ {
"call": "Checking dns, please wait", "call": "Checks failed",
"key": "Checking dns, please wait", "key": "Checks failed",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14" "src/podkop/tabs/diagnostic/helpers/getMeta.ts:26"
] ]
}, },
{ {
"call": "Checking FakeIP, please wait", "call": "Checks partially passed",
"key": "Checking FakeIP, please wait", "key": "Checks partially passed",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14" "src/podkop/tabs/diagnostic/helpers/getMeta.ts:20"
] ]
}, },
{ {
"call": "Checking nftables, please wait", "call": "Checks passed",
"key": "Checking nftables, please wait", "key": "Checks passed",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12" "src/podkop/tabs/diagnostic/helpers/getMeta.ts:13"
]
},
{
"call": "Checking sing-box, please wait",
"key": "Checking sing-box, please wait",
"places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12"
] ]
}, },
{ {
@@ -262,7 +260,7 @@
"call": "DHCP has DNS server", "call": "DHCP has DNS server",
"key": "DHCP has DNS server", "key": "DHCP has DNS server",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89" "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:82"
] ]
}, },
{ {
@@ -301,25 +299,11 @@
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:382"
] ]
}, },
{
"call": "DNS checks",
"key": "DNS checks",
"places": [
"src/podkop/tabs/diagnostic/checks/contstants.ts:14"
]
},
{
"call": "DNS checks passed",
"key": "DNS checks passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64"
]
},
{ {
"call": "DNS on router", "call": "DNS on router",
"key": "DNS on router", "key": "DNS on router",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84" "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:77"
] ]
}, },
{ {
@@ -524,34 +508,6 @@
"src/helpers/copyToClipboard.ts:12" "src/helpers/copyToClipboard.ts:12"
] ]
}, },
{
"call": "FakeIP checks",
"key": "FakeIP checks",
"places": [
"src/podkop/tabs/diagnostic/checks/contstants.ts:29"
]
},
{
"call": "FakeIP checks failed",
"key": "FakeIP checks failed",
"places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57"
]
},
{
"call": "FakeIP checks partially passed",
"key": "FakeIP checks partially passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51"
]
},
{
"call": "FakeIP checks passed",
"key": "FakeIP checks passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44"
]
},
{ {
"call": "Fastest", "call": "Fastest",
"key": "Fastest", "key": "Fastest",
@@ -816,7 +772,7 @@
"call": "Invalid VLESS URL: parsing failed", "call": "Invalid VLESS URL: parsing failed",
"key": "Invalid VLESS URL: parsing failed", "key": "Invalid VLESS URL: parsing failed",
"places": [ "places": [
"src/validators/validateVlessUrl.ts:109" "src/validators/validateVlessUrl.ts:110"
] ]
}, },
{ {
@@ -858,7 +814,7 @@
"call": "Main DNS", "call": "Main DNS",
"key": "Main DNS", "key": "Main DNS",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79" "src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72"
] ]
}, },
{ {
@@ -889,32 +845,11 @@
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:120"
] ]
}, },
{
"call": "Nftables checks",
"key": "Nftables checks",
"places": [
"src/podkop/tabs/diagnostic/checks/contstants.ts:24"
]
},
{
"call": "Nftables checks partially passed",
"key": "Nftables checks partially passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75"
]
},
{
"call": "Nftables checks passed",
"key": "Nftables checks passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74"
]
},
{ {
"call": "No other marking rules found", "call": "No other marking rules found",
"key": "No other marking rules found", "key": "No other marking rules found",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105"
] ]
}, },
{ {
@@ -1036,14 +971,14 @@
"call": "Proxy traffic is not routed via FakeIP", "call": "Proxy traffic is not routed via FakeIP",
"key": "Proxy traffic is not routed via FakeIP", "key": "Proxy traffic is not routed via FakeIP",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89" "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:66"
] ]
}, },
{ {
"call": "Proxy traffic is routed via FakeIP", "call": "Proxy traffic is routed via FakeIP",
"key": "Proxy traffic is routed via FakeIP", "key": "Proxy traffic is routed via FakeIP",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88" "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:65"
] ]
}, },
{ {
@@ -1088,14 +1023,14 @@
"call": "Router DNS is not routed through sing-box", "call": "Router DNS is not routed through sing-box",
"key": "Router DNS is not routed through sing-box", "key": "Router DNS is not routed through sing-box",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74" "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51"
] ]
}, },
{ {
"call": "Router DNS is routed through sing-box", "call": "Router DNS is routed through sing-box",
"key": "Router DNS is routed through sing-box", "key": "Router DNS is routed through sing-box",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73" "src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:50"
] ]
}, },
{ {
@@ -1109,42 +1044,42 @@
"call": "Rules mangle counters", "call": "Rules mangle counters",
"key": "Rules mangle counters", "key": "Rules mangle counters",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:79"
] ]
}, },
{ {
"call": "Rules mangle exist", "call": "Rules mangle exist",
"key": "Rules mangle exist", "key": "Rules mangle exist",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74"
] ]
}, },
{ {
"call": "Rules mangle output counters", "call": "Rules mangle output counters",
"key": "Rules mangle output counters", "key": "Rules mangle output counters",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:89"
] ]
}, },
{ {
"call": "Rules mangle output exist", "call": "Rules mangle output exist",
"key": "Rules mangle output exist", "key": "Rules mangle output exist",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:84"
] ]
}, },
{ {
"call": "Rules proxy counters", "call": "Rules proxy counters",
"key": "Rules proxy counters", "key": "Rules proxy counters",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:99"
] ]
}, },
{ {
"call": "Rules proxy exist", "call": "Rules proxy exist",
"key": "Rules proxy exist", "key": "Rules proxy exist",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:94"
] ]
}, },
{ {
@@ -1307,56 +1242,42 @@
"call": "Sing-box autostart disabled", "call": "Sing-box autostart disabled",
"key": "Sing-box autostart disabled", "key": "Sing-box autostart disabled",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86" "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:77"
]
},
{
"call": "Sing-box checks",
"key": "Sing-box checks",
"places": [
"src/podkop/tabs/diagnostic/checks/contstants.ts:19"
]
},
{
"call": "Sing-box checks passed",
"key": "Sing-box checks passed",
"places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66"
] ]
}, },
{ {
"call": "Sing-box installed", "call": "Sing-box installed",
"key": "Sing-box installed", "key": "Sing-box installed",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71" "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:62"
] ]
}, },
{ {
"call": "Sing-box listening ports", "call": "Sing-box listening ports",
"key": "Sing-box listening ports", "key": "Sing-box listening ports",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96" "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:87"
] ]
}, },
{ {
"call": "Sing-box process running", "call": "Sing-box process running",
"key": "Sing-box process running", "key": "Sing-box process running",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91" "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:82"
] ]
}, },
{ {
"call": "Sing-box service exist", "call": "Sing-box service exist",
"key": "Sing-box service exist", "key": "Sing-box service exist",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81" "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:72"
] ]
}, },
{ {
"call": "Sing-box version >= 1.12.4", "call": "Sing-box version >= 1.12.4",
"key": "Sing-box version >= 1.12.4", "key": "Sing-box version >= 1.12.4",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76" "src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:67"
] ]
}, },
{ {
@@ -1441,7 +1362,7 @@
"call": "Table exist", "call": "Table exist",
"key": "Table exist", "key": "Table exist",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80" "src/podkop/tabs/diagnostic/checks/runNftCheck.ts:69"
] ]
}, },
{ {
@@ -1636,7 +1557,7 @@
"src/validators/validateSubnet.ts:38", "src/validators/validateSubnet.ts:38",
"src/validators/validateTrojanUrl.ts:59", "src/validators/validateTrojanUrl.ts:59",
"src/validators/validateUrl.ts:16", "src/validators/validateUrl.ts:16",
"src/validators/validateVlessUrl.ts:107" "src/validators/validateVlessUrl.ts:108"
] ]
}, },
{ {

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-23 15:27+0300\n" "POT-Creation-Date: 2025-10-23 15:55+0300\n"
"PO-Revision-Date: 2025-10-23 15:27+0300\n" "PO-Revision-Date: 2025-10-23 15:55+0300\n"
"Last-Translator: divocat <divocatt@gmail.com>\n" "Last-Translator: divocat <divocatt@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n" "Language: \n"
@@ -36,7 +36,7 @@ msgstr ""
msgid "Active Connections" msgid "Active Connections"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:106
msgid "Additional marking rules found" msgid "Additional marking rules found"
msgstr "" msgstr ""
@@ -56,7 +56,7 @@ msgstr ""
msgid "Available actions" msgid "Available actions"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:65
msgid "Bootsrap DNS" msgid "Bootsrap DNS"
msgstr "" msgstr ""
@@ -64,11 +64,11 @@ msgstr ""
msgid "Bootstrap DNS server" msgid "Bootstrap DNS server"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:58
msgid "Browser is not using FakeIP" msgid "Browser is not using FakeIP"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57
msgid "Browser is using FakeIP correctly" msgid "Browser is using FakeIP correctly"
msgstr "" msgstr ""
@@ -80,32 +80,33 @@ msgstr ""
msgid "Cache file path cannot be empty" msgid "Cache file path cannot be empty"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:27
msgid "Cannot receive DNS checks result" #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25
msgid "Cannot receive checks result"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:15
msgid "Cannot receive nftables checks result" #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13
msgid "Checking, please wait"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24 #: src/podkop/tabs/diagnostic/helpers/getCheckTitle.ts:2
msgid "Cannot receive Sing-box checks result" msgid "checks"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14 #: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
msgid "Checking dns, please wait" msgid "Checks failed"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14 #: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
msgid "Checking FakeIP, please wait" msgid "Checks partially passed"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12 #: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
msgid "Checking nftables, please wait" msgid "Checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12
msgid "Checking sing-box, please wait"
msgstr "" msgstr ""
#: src/validators/validateSubnet.ts:33 #: src/validators/validateSubnet.ts:33
@@ -164,7 +165,7 @@ msgstr ""
msgid "Delay value cannot be empty" msgid "Delay value cannot be empty"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:82
msgid "DHCP has DNS server" msgid "DHCP has DNS server"
msgstr "" msgstr ""
@@ -189,15 +190,7 @@ msgstr ""
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:14 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:77
msgid "DNS checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64
msgid "DNS checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84
msgid "DNS on router" msgid "DNS on router"
msgstr "" msgstr ""
@@ -319,22 +312,6 @@ msgstr ""
msgid "Failed to copy!" msgid "Failed to copy!"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:29
msgid "FakeIP checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57
msgid "FakeIP checks failed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51
msgid "FakeIP checks partially passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44
msgid "FakeIP checks passed"
msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:117 #: src/podkop/methods/custom/getDashboardSections.ts:117
msgid "Fastest" msgid "Fastest"
msgstr "" msgstr ""
@@ -484,7 +461,7 @@ msgstr ""
msgid "Invalid URL format" msgid "Invalid URL format"
msgstr "" msgstr ""
#: src/validators/validateVlessUrl.ts:109 #: src/validators/validateVlessUrl.ts:110
msgid "Invalid VLESS URL: parsing failed" msgid "Invalid VLESS URL: parsing failed"
msgstr "" msgstr ""
@@ -508,7 +485,7 @@ msgstr ""
msgid "Local Subnet Lists" msgid "Local Subnet Lists"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72
msgid "Main DNS" msgid "Main DNS"
msgstr "" msgstr ""
@@ -528,19 +505,7 @@ msgstr ""
msgid "Network Interface" msgid "Network Interface"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:24 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105
msgid "Nftables checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75
msgid "Nftables checks partially passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74
msgid "Nftables checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116
msgid "No other marking rules found" msgid "No other marking rules found"
msgstr "" msgstr ""
@@ -611,11 +576,11 @@ msgstr ""
msgid "Proxy Configuration URL" msgid "Proxy Configuration URL"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:66
msgid "Proxy traffic is not routed via FakeIP" msgid "Proxy traffic is not routed via FakeIP"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:65
msgid "Proxy traffic is routed via FakeIP" msgid "Proxy traffic is routed via FakeIP"
msgstr "" msgstr ""
@@ -642,11 +607,11 @@ msgstr ""
msgid "Restart podkop" msgid "Restart podkop"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51
msgid "Router DNS is not routed through sing-box" msgid "Router DNS is not routed through sing-box"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:50
msgid "Router DNS is routed through sing-box" msgid "Router DNS is routed through sing-box"
msgstr "" msgstr ""
@@ -654,27 +619,27 @@ msgstr ""
msgid "Routing Excluded IPs" msgid "Routing Excluded IPs"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:79
msgid "Rules mangle counters" msgid "Rules mangle counters"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74
msgid "Rules mangle exist" msgid "Rules mangle exist"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:89
msgid "Rules mangle output counters" msgid "Rules mangle output counters"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:84
msgid "Rules mangle output exist" msgid "Rules mangle output exist"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:99
msgid "Rules proxy counters" msgid "Rules proxy counters"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:94
msgid "Rules proxy exist" msgid "Rules proxy exist"
msgstr "" msgstr ""
@@ -768,35 +733,27 @@ msgstr ""
msgid "Sing-box" msgid "Sing-box"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:77
msgid "Sing-box autostart disabled" msgid "Sing-box autostart disabled"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:19 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:62
msgid "Sing-box checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66
msgid "Sing-box checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71
msgid "Sing-box installed" msgid "Sing-box installed"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:87
msgid "Sing-box listening ports" msgid "Sing-box listening ports"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:82
msgid "Sing-box process running" msgid "Sing-box process running"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:72
msgid "Sing-box service exist" msgid "Sing-box service exist"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:67
msgid "Sing-box version >= 1.12.4" msgid "Sing-box version >= 1.12.4"
msgstr "" msgstr ""
@@ -845,7 +802,7 @@ msgstr ""
msgid "System information" msgid "System information"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:69
msgid "Table exist" msgid "Table exist"
msgstr "" msgstr ""
@@ -965,7 +922,7 @@ msgstr ""
#: src/validators/validateSubnet.ts:38 #: src/validators/validateSubnet.ts:38
#: src/validators/validateTrojanUrl.ts:59 #: src/validators/validateTrojanUrl.ts:59
#: src/validators/validateUrl.ts:16 #: src/validators/validateUrl.ts:16
#: src/validators/validateVlessUrl.ts:107 #: src/validators/validateVlessUrl.ts:108
msgid "Valid" msgid "Valid"
msgstr "" msgstr ""

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-23 18:27+0300\n" "POT-Creation-Date: 2025-10-23 18:55+0300\n"
"PO-Revision-Date: 2025-10-23 18:27+0300\n" "PO-Revision-Date: 2025-10-23 18:55+0300\n"
"Last-Translator: divocat\n" "Last-Translator: divocat\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: ru\n" "Language: ru\n"
@@ -65,26 +65,23 @@ msgstr "Путь к файлу кэша"
msgid "Cache file path cannot be empty" msgid "Cache file path cannot be empty"
msgstr "Путь к файлу кэша не может быть пустым" msgstr "Путь к файлу кэша не может быть пустым"
msgid "Cannot receive DNS checks result" msgid "Cannot receive checks result"
msgstr "Не удалось получить результаты проверки DNS" msgstr "Не удалось получить результаты проверки"
msgid "Cannot receive nftables checks result" msgid "Checking, please wait"
msgstr "Не удалось получить результаты проверки nftables" msgstr "Проверяем, пожалуйста подождите"
msgid "Cannot receive Sing-box checks result" msgid "checks"
msgstr "Не удалось получить результаты проверки Sing-box" msgstr "проверки"
msgid "Checking dns, please wait" msgid "Checks failed"
msgstr "Проверка dns, пожалуйста подождите" msgstr "Проверки не пройдены"
msgid "Checking FakeIP, please wait" msgid "Checks partially passed"
msgstr "Проверка FakeIP, пожалуйста подождите" msgstr "Проверки пройдены частично"
msgid "Checking nftables, please wait" msgid "Checks passed"
msgstr "Проверка nftables, пожалуйста подождите" msgstr "Проверки пройдены"
msgid "Checking sing-box, please wait"
msgstr "Проверка sing-box, пожалуйста подождите"
msgid "CIDR must be between 0 and 32" msgid "CIDR must be between 0 and 32"
msgstr "CIDR должен быть между 0 и 32" msgstr "CIDR должен быть между 0 и 32"
@@ -146,12 +143,6 @@ msgstr "Отключить QUIC протокол для улучшения со
msgid "Disabled" msgid "Disabled"
msgstr "Отключено" msgstr "Отключено"
msgid "DNS checks"
msgstr "DNS проверки"
msgid "DNS checks passed"
msgstr "DNS проверки успешно завершены"
msgid "DNS on router" msgid "DNS on router"
msgstr "DNS на роутере" msgstr "DNS на роутере"
@@ -239,18 +230,6 @@ msgstr "Исключите трафик протокола NTP из туннел
msgid "Failed to copy!" msgid "Failed to copy!"
msgstr "Не удалось скопировать!" msgstr "Не удалось скопировать!"
msgid "FakeIP checks"
msgstr "Проверка FakeIP"
msgid "FakeIP checks failed"
msgstr "Проверки FakeIP не пройдены"
msgid "FakeIP checks partially passed"
msgstr "Проверка FakeIP частично пройдена"
msgid "FakeIP checks passed"
msgstr "Проверки FakeIP пройдены"
msgid "Fastest" msgid "Fastest"
msgstr "Самый быстрый" msgstr "Самый быстрый"
@@ -395,15 +374,6 @@ msgstr "Наблюдаемые интерфейсы"
msgid "Network Interface" msgid "Network Interface"
msgstr "Сетевой интерфейс" msgstr "Сетевой интерфейс"
msgid "Nftables checks"
msgstr "Проверки Nftables"
msgid "Nftables checks partially passed"
msgstr "Проверки Nftables частично пройдена"
msgid "Nftables checks passed"
msgstr "Nftables проверки успешно завершены"
msgid "No other marking rules found" msgid "No other marking rules found"
msgstr "Другие правила маркировки не найдены" msgstr "Другие правила маркировки не найдены"
@@ -572,12 +542,6 @@ msgstr "Sing-box"
msgid "Sing-box autostart disabled" msgid "Sing-box autostart disabled"
msgstr "Автостарт sing-box отключен" msgstr "Автостарт sing-box отключен"
msgid "Sing-box checks"
msgstr "Sing-box проверки"
msgid "Sing-box checks passed"
msgstr "Sing-box проверки успешно завершены"
msgid "Sing-box installed" msgid "Sing-box installed"
msgstr "Sing-box установлен" msgstr "Sing-box установлен"

View File

@@ -1,3 +1,5 @@
import { getCheckTitle } from '../helpers/getCheckTitle';
export enum DIAGNOSTICS_CHECKS { export enum DIAGNOSTICS_CHECKS {
DNS = 'DNS', DNS = 'DNS',
SINGBOX = 'SINGBOX', SINGBOX = 'SINGBOX',
@@ -11,22 +13,22 @@ export const DIAGNOSTICS_CHECKS_MAP: Record<
> = { > = {
[DIAGNOSTICS_CHECKS.DNS]: { [DIAGNOSTICS_CHECKS.DNS]: {
order: 1, order: 1,
title: _('DNS checks'), title: getCheckTitle('DNS'),
code: DIAGNOSTICS_CHECKS.DNS, code: DIAGNOSTICS_CHECKS.DNS,
}, },
[DIAGNOSTICS_CHECKS.SINGBOX]: { [DIAGNOSTICS_CHECKS.SINGBOX]: {
order: 2, order: 2,
title: _('Sing-box checks'), title: getCheckTitle('Sing-box'),
code: DIAGNOSTICS_CHECKS.SINGBOX, code: DIAGNOSTICS_CHECKS.SINGBOX,
}, },
[DIAGNOSTICS_CHECKS.NFT]: { [DIAGNOSTICS_CHECKS.NFT]: {
order: 3, order: 3,
title: _('Nftables checks'), title: getCheckTitle('Nftables'),
code: DIAGNOSTICS_CHECKS.NFT, code: DIAGNOSTICS_CHECKS.NFT,
}, },
[DIAGNOSTICS_CHECKS.FAKEIP]: { [DIAGNOSTICS_CHECKS.FAKEIP]: {
order: 4, order: 4,
title: _('FakeIP checks'), title: getCheckTitle('FakeIP'),
code: DIAGNOSTICS_CHECKS.FAKEIP, code: DIAGNOSTICS_CHECKS.FAKEIP,
}, },
}; };

View File

@@ -3,6 +3,7 @@ import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { PodkopShellMethods } from '../../../methods'; import { PodkopShellMethods } from '../../../methods';
import { IDiagnosticsChecksItem } from '../../../services'; import { IDiagnosticsChecksItem } from '../../../services';
import { updateCheckStore } from './updateCheckStore'; import { updateCheckStore } from './updateCheckStore';
import { getMeta } from '../helpers/getMeta';
export async function runDnsCheck() { export async function runDnsCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.DNS; const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.DNS;
@@ -11,7 +12,7 @@ export async function runDnsCheck() {
order, order,
code, code,
title, title,
description: _('Checking dns, please wait'), description: _('Checking, please wait'),
state: 'loading', state: 'loading',
items: [], items: [],
}); });
@@ -23,7 +24,7 @@ export async function runDnsCheck() {
order, order,
code, code,
title, title,
description: _('Cannot receive DNS checks result'), description: _('Cannot receive checks result'),
state: 'error', state: 'error',
items: [], items: [],
}); });
@@ -45,27 +46,19 @@ export async function runDnsCheck() {
Boolean(data.bootstrap_dns_status) || Boolean(data.bootstrap_dns_status) ||
Boolean(data.dns_status); Boolean(data.dns_status);
function getStatus() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return 'success';
}
if (atLeastOneGood) {
return 'warning';
}
return 'error';
}
updateCheckStore({ updateCheckStore({
order, order,
code, code,
title, title,
description: _('DNS checks passed'), description,
state: getStatus(), state,
items: [ items: [
...insertIf<IDiagnosticsChecksItem>( ...insertIf<IDiagnosticsChecksItem>(
data.dns_type === 'doh' || data.dns_type === 'dot', data.dns_type === 'doh' ||
data.dns_type === 'dot' ||
!data.bootstrap_dns_status,
[ [
{ {
state: data.bootstrap_dns_status ? 'success' : 'error', state: data.bootstrap_dns_status ? 'success' : 'error',

View File

@@ -3,6 +3,7 @@ import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { PodkopShellMethods, RemoteFakeIPMethods } from '../../../methods'; import { PodkopShellMethods, RemoteFakeIPMethods } from '../../../methods';
import { IDiagnosticsChecksItem } from '../../../services'; import { IDiagnosticsChecksItem } from '../../../services';
import { updateCheckStore } from './updateCheckStore'; import { updateCheckStore } from './updateCheckStore';
import { getMeta } from '../helpers/getMeta';
export async function runFakeIPCheck() { export async function runFakeIPCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.FAKEIP; const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.FAKEIP;
@@ -11,7 +12,7 @@ export async function runFakeIPCheck() {
order, order,
code, code,
title, title,
description: _('Checking FakeIP, please wait'), description: _('Checking, please wait'),
state: 'loading', state: 'loading',
items: [], items: [],
}); });
@@ -34,31 +35,7 @@ export async function runFakeIPCheck() {
const atLeastOneGood = const atLeastOneGood =
checks.router && checks.browserFakeIP && checks.differentIP; checks.router && checks.browserFakeIP && checks.differentIP;
function getMeta(): { const { state, description } = getMeta({ atLeastOneGood, allGood });
description: string;
state: 'loading' | 'warning' | 'success' | 'error' | 'skipped';
} {
if (allGood) {
return {
state: 'success',
description: _('FakeIP checks passed'),
};
}
if (atLeastOneGood) {
return {
state: 'warning',
description: _('FakeIP checks partially passed'),
};
}
return {
state: 'error',
description: _('FakeIP checks failed'),
};
}
const { state, description } = getMeta();
updateCheckStore({ updateCheckStore({
order, order,

View File

@@ -1,6 +1,7 @@
import { DIAGNOSTICS_CHECKS_MAP } from './contstants'; import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { RemoteFakeIPMethods, PodkopShellMethods } from '../../../methods'; import { RemoteFakeIPMethods, PodkopShellMethods } from '../../../methods';
import { updateCheckStore } from './updateCheckStore'; import { updateCheckStore } from './updateCheckStore';
import { getMeta } from '../helpers/getMeta';
export async function runNftCheck() { export async function runNftCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.NFT; const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.NFT;
@@ -9,7 +10,7 @@ export async function runNftCheck() {
order, order,
code, code,
title, title,
description: _('Checking nftables, please wait'), description: _('Checking, please wait'),
state: 'loading', state: 'loading',
items: [], items: [],
}); });
@@ -24,7 +25,7 @@ export async function runNftCheck() {
order, order,
code, code,
title, title,
description: _('Cannot receive nftables checks result'), description: _('Cannot receive checks result'),
state: 'error', state: 'error',
items: [], items: [],
}); });
@@ -54,26 +55,14 @@ export async function runNftCheck() {
Boolean(data.rules_proxy_counters) || Boolean(data.rules_proxy_counters) ||
!data.rules_other_mark_exist; !data.rules_other_mark_exist;
function getStatus() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return 'success';
}
if (atLeastOneGood) {
return 'warning';
}
return 'error';
}
updateCheckStore({ updateCheckStore({
order, order,
code, code,
title, title,
description: allGood description,
? _('Nftables checks passed') state,
: _('Nftables checks partially passed'),
state: getStatus(),
items: [ items: [
{ {
state: data.table_exist ? 'success' : 'error', state: data.table_exist ? 'success' : 'error',

View File

@@ -1,6 +1,7 @@
import { DIAGNOSTICS_CHECKS_MAP } from './contstants'; import { DIAGNOSTICS_CHECKS_MAP } from './contstants';
import { PodkopShellMethods } from '../../../methods'; import { PodkopShellMethods } from '../../../methods';
import { updateCheckStore } from './updateCheckStore'; import { updateCheckStore } from './updateCheckStore';
import { getMeta } from '../helpers/getMeta';
export async function runSingBoxCheck() { export async function runSingBoxCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.SINGBOX; const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.SINGBOX;
@@ -9,7 +10,7 @@ export async function runSingBoxCheck() {
order, order,
code, code,
title, title,
description: _('Checking sing-box, please wait'), description: _('Checking, please wait'),
state: 'loading', state: 'loading',
items: [], items: [],
}); });
@@ -21,7 +22,7 @@ export async function runSingBoxCheck() {
order, order,
code, code,
title, title,
description: _('Cannot receive Sing-box checks result'), description: _('Cannot receive checks result'),
state: 'error', state: 'error',
items: [], items: [],
}); });
@@ -47,24 +48,14 @@ export async function runSingBoxCheck() {
Boolean(data.sing_box_process_running) || Boolean(data.sing_box_process_running) ||
Boolean(data.sing_box_ports_listening); Boolean(data.sing_box_ports_listening);
function getStatus() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return 'success';
}
if (atLeastOneGood) {
return 'warning';
}
return 'error';
}
updateCheckStore({ updateCheckStore({
order, order,
code, code,
title, title,
description: _('Sing-box checks passed'), description,
state: getStatus(), state,
items: [ items: [
{ {
state: data.sing_box_installed ? 'success' : 'error', state: data.sing_box_installed ? 'success' : 'error',

View File

@@ -0,0 +1,3 @@
export function getCheckTitle(name: string) {
return `${name} ${_('checks')}`;
}

View File

@@ -0,0 +1,28 @@
interface IGetMetaProps {
allGood: boolean;
atLeastOneGood: boolean;
}
export function getMeta({ allGood, atLeastOneGood }: IGetMetaProps): {
description: string;
state: 'loading' | 'warning' | 'success' | 'error' | 'skipped';
} {
if (allGood) {
return {
state: 'success',
description: _('Checks passed'),
};
}
if (atLeastOneGood) {
return {
state: 'warning',
description: _('Checks partially passed'),
};
}
return {
state: 'error',
description: _('Checks failed'),
};
}

View File

@@ -979,26 +979,31 @@ var TabService = class _TabService {
}; };
var TabServiceInstance = TabService.getInstance(); var TabServiceInstance = TabService.getInstance();
// src/podkop/tabs/diagnostic/helpers/getCheckTitle.ts
function getCheckTitle(name) {
return `${name} ${_("checks")}`;
}
// src/podkop/tabs/diagnostic/checks/contstants.ts // src/podkop/tabs/diagnostic/checks/contstants.ts
var DIAGNOSTICS_CHECKS_MAP = { var DIAGNOSTICS_CHECKS_MAP = {
["DNS" /* DNS */]: { ["DNS" /* DNS */]: {
order: 1, order: 1,
title: _("DNS checks"), title: getCheckTitle("DNS"),
code: "DNS" /* DNS */ code: "DNS" /* DNS */
}, },
["SINGBOX" /* SINGBOX */]: { ["SINGBOX" /* SINGBOX */]: {
order: 2, order: 2,
title: _("Sing-box checks"), title: getCheckTitle("Sing-box"),
code: "SINGBOX" /* SINGBOX */ code: "SINGBOX" /* SINGBOX */
}, },
["NFT" /* NFT */]: { ["NFT" /* NFT */]: {
order: 3, order: 3,
title: _("Nftables checks"), title: getCheckTitle("Nftables"),
code: "NFT" /* NFT */ code: "NFT" /* NFT */
}, },
["FAKEIP" /* FAKEIP */]: { ["FAKEIP" /* FAKEIP */]: {
order: 4, order: 4,
title: _("FakeIP checks"), title: getCheckTitle("FakeIP"),
code: "FAKEIP" /* FAKEIP */ code: "FAKEIP" /* FAKEIP */
} }
}; };
@@ -2356,6 +2361,26 @@ function updateCheckStore(check, minified) {
}); });
} }
// src/podkop/tabs/diagnostic/helpers/getMeta.ts
function getMeta({ allGood, atLeastOneGood }) {
if (allGood) {
return {
state: "success",
description: _("Checks passed")
};
}
if (atLeastOneGood) {
return {
state: "warning",
description: _("Checks partially passed")
};
}
return {
state: "error",
description: _("Checks failed")
};
}
// src/podkop/tabs/diagnostic/checks/runDnsCheck.ts // src/podkop/tabs/diagnostic/checks/runDnsCheck.ts
async function runDnsCheck() { async function runDnsCheck() {
const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.DNS; const { order, title, code } = DIAGNOSTICS_CHECKS_MAP.DNS;
@@ -2363,7 +2388,7 @@ async function runDnsCheck() {
order, order,
code, code,
title, title,
description: _("Checking dns, please wait"), description: _("Checking, please wait"),
state: "loading", state: "loading",
items: [] items: []
}); });
@@ -2373,7 +2398,7 @@ async function runDnsCheck() {
order, order,
code, code,
title, title,
description: _("Cannot receive DNS checks result"), description: _("Cannot receive checks result"),
state: "error", state: "error",
items: [] items: []
}); });
@@ -2382,24 +2407,16 @@ async function runDnsCheck() {
const data = dnsChecks.data; const data = dnsChecks.data;
const allGood = Boolean(data.dns_on_router) && Boolean(data.dhcp_config_status) && Boolean(data.bootstrap_dns_status) && Boolean(data.dns_status); const allGood = Boolean(data.dns_on_router) && Boolean(data.dhcp_config_status) && Boolean(data.bootstrap_dns_status) && Boolean(data.dns_status);
const atLeastOneGood = Boolean(data.dns_on_router) || Boolean(data.dhcp_config_status) || Boolean(data.bootstrap_dns_status) || Boolean(data.dns_status); const atLeastOneGood = Boolean(data.dns_on_router) || Boolean(data.dhcp_config_status) || Boolean(data.bootstrap_dns_status) || Boolean(data.dns_status);
function getStatus() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return "success";
}
if (atLeastOneGood) {
return "warning";
}
return "error";
}
updateCheckStore({ updateCheckStore({
order, order,
code, code,
title, title,
description: _("DNS checks passed"), description,
state: getStatus(), state,
items: [ items: [
...insertIf( ...insertIf(
data.dns_type === "doh" || data.dns_type === "dot", data.dns_type === "doh" || data.dns_type === "dot" || !data.bootstrap_dns_status,
[ [
{ {
state: data.bootstrap_dns_status ? "success" : "error", state: data.bootstrap_dns_status ? "success" : "error",
@@ -2437,7 +2454,7 @@ async function runSingBoxCheck() {
order, order,
code, code,
title, title,
description: _("Checking sing-box, please wait"), description: _("Checking, please wait"),
state: "loading", state: "loading",
items: [] items: []
}); });
@@ -2447,7 +2464,7 @@ async function runSingBoxCheck() {
order, order,
code, code,
title, title,
description: _("Cannot receive Sing-box checks result"), description: _("Cannot receive checks result"),
state: "error", state: "error",
items: [] items: []
}); });
@@ -2456,21 +2473,13 @@ async function runSingBoxCheck() {
const data = singBoxChecks.data; const data = singBoxChecks.data;
const allGood = Boolean(data.sing_box_installed) && Boolean(data.sing_box_version_ok) && Boolean(data.sing_box_service_exist) && Boolean(data.sing_box_autostart_disabled) && Boolean(data.sing_box_process_running) && Boolean(data.sing_box_ports_listening); const allGood = Boolean(data.sing_box_installed) && Boolean(data.sing_box_version_ok) && Boolean(data.sing_box_service_exist) && Boolean(data.sing_box_autostart_disabled) && Boolean(data.sing_box_process_running) && Boolean(data.sing_box_ports_listening);
const atLeastOneGood = Boolean(data.sing_box_installed) || Boolean(data.sing_box_version_ok) || Boolean(data.sing_box_service_exist) || Boolean(data.sing_box_autostart_disabled) || Boolean(data.sing_box_process_running) || Boolean(data.sing_box_ports_listening); const atLeastOneGood = Boolean(data.sing_box_installed) || Boolean(data.sing_box_version_ok) || Boolean(data.sing_box_service_exist) || Boolean(data.sing_box_autostart_disabled) || Boolean(data.sing_box_process_running) || Boolean(data.sing_box_ports_listening);
function getStatus() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return "success";
}
if (atLeastOneGood) {
return "warning";
}
return "error";
}
updateCheckStore({ updateCheckStore({
order, order,
code, code,
title, title,
description: _("Sing-box checks passed"), description,
state: getStatus(), state,
items: [ items: [
{ {
state: data.sing_box_installed ? "success" : "error", state: data.sing_box_installed ? "success" : "error",
@@ -2516,7 +2525,7 @@ async function runNftCheck() {
order, order,
code, code,
title, title,
description: _("Checking nftables, please wait"), description: _("Checking, please wait"),
state: "loading", state: "loading",
items: [] items: []
}); });
@@ -2528,7 +2537,7 @@ async function runNftCheck() {
order, order,
code, code,
title, title,
description: _("Cannot receive nftables checks result"), description: _("Cannot receive checks result"),
state: "error", state: "error",
items: [] items: []
}); });
@@ -2537,21 +2546,13 @@ async function runNftCheck() {
const data = nftablesChecks.data; const data = nftablesChecks.data;
const allGood = Boolean(data.table_exist) && Boolean(data.rules_mangle_exist) && Boolean(data.rules_mangle_counters) && Boolean(data.rules_mangle_output_exist) && Boolean(data.rules_mangle_output_counters) && Boolean(data.rules_proxy_exist) && Boolean(data.rules_proxy_counters) && !data.rules_other_mark_exist; const allGood = Boolean(data.table_exist) && Boolean(data.rules_mangle_exist) && Boolean(data.rules_mangle_counters) && Boolean(data.rules_mangle_output_exist) && Boolean(data.rules_mangle_output_counters) && Boolean(data.rules_proxy_exist) && Boolean(data.rules_proxy_counters) && !data.rules_other_mark_exist;
const atLeastOneGood = Boolean(data.table_exist) || Boolean(data.rules_mangle_exist) || Boolean(data.rules_mangle_counters) || Boolean(data.rules_mangle_output_exist) || Boolean(data.rules_mangle_output_counters) || Boolean(data.rules_proxy_exist) || Boolean(data.rules_proxy_counters) || !data.rules_other_mark_exist; const atLeastOneGood = Boolean(data.table_exist) || Boolean(data.rules_mangle_exist) || Boolean(data.rules_mangle_counters) || Boolean(data.rules_mangle_output_exist) || Boolean(data.rules_mangle_output_counters) || Boolean(data.rules_proxy_exist) || Boolean(data.rules_proxy_counters) || !data.rules_other_mark_exist;
function getStatus() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return "success";
}
if (atLeastOneGood) {
return "warning";
}
return "error";
}
updateCheckStore({ updateCheckStore({
order, order,
code, code,
title, title,
description: allGood ? _("Nftables checks passed") : _("Nftables checks partially passed"), description,
state: getStatus(), state,
items: [ items: [
{ {
state: data.table_exist ? "success" : "error", state: data.table_exist ? "success" : "error",
@@ -2607,7 +2608,7 @@ async function runFakeIPCheck() {
order, order,
code, code,
title, title,
description: _("Checking FakeIP, please wait"), description: _("Checking, please wait"),
state: "loading", state: "loading",
items: [] items: []
}); });
@@ -2621,25 +2622,7 @@ async function runFakeIPCheck() {
}; };
const allGood = checks.router || checks.browserFakeIP || checks.differentIP; const allGood = checks.router || checks.browserFakeIP || checks.differentIP;
const atLeastOneGood = checks.router && checks.browserFakeIP && checks.differentIP; const atLeastOneGood = checks.router && checks.browserFakeIP && checks.differentIP;
function getMeta() { const { state, description } = getMeta({ atLeastOneGood, allGood });
if (allGood) {
return {
state: "success",
description: _("FakeIP checks passed")
};
}
if (atLeastOneGood) {
return {
state: "warning",
description: _("FakeIP checks partially passed")
};
}
return {
state: "error",
description: _("FakeIP checks failed")
};
}
const { state, description } = getMeta();
updateCheckStore({ updateCheckStore({
order, order,
code, code,

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-23 18:27+0300\n" "POT-Creation-Date: 2025-10-23 18:55+0300\n"
"PO-Revision-Date: 2025-10-23 18:27+0300\n" "PO-Revision-Date: 2025-10-23 18:55+0300\n"
"Last-Translator: divocat\n" "Last-Translator: divocat\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: ru\n" "Language: ru\n"
@@ -45,7 +45,7 @@ msgid "At least one valid subnet or IP must be specified. Comments-only content
msgstr "Необходимо указать хотя бы одну действительную подсеть или IP. Только комментарии недопустимы." msgstr "Необходимо указать хотя бы одну действительную подсеть или IP. Только комментарии недопустимы."
msgid "Available actions" msgid "Available actions"
msgstr "" msgstr "Доступные действия"
msgid "Bootsrap DNS" msgid "Bootsrap DNS"
msgstr "Bootstrap DNS" msgstr "Bootstrap DNS"
@@ -65,26 +65,23 @@ msgstr "Путь к файлу кэша"
msgid "Cache file path cannot be empty" msgid "Cache file path cannot be empty"
msgstr "Путь к файлу кэша не может быть пустым" msgstr "Путь к файлу кэша не может быть пустым"
msgid "Cannot receive DNS checks result" msgid "Cannot receive checks result"
msgstr "Не удалось получить результаты проверки DNS" msgstr "Не удалось получить результаты проверки"
msgid "Cannot receive nftables checks result" msgid "Checking, please wait"
msgstr "Не удалось получить результаты проверки nftables" msgstr "Проверяем, пожалуйста подождите"
msgid "Cannot receive Sing-box checks result" msgid "checks"
msgstr "Не удалось получить результаты проверки Sing-box" msgstr "проверки"
msgid "Checking dns, please wait" msgid "Checks failed"
msgstr "Проверка dns, пожалуйста подождите" msgstr "Проверки не пройдены"
msgid "Checking FakeIP, please wait" msgid "Checks partially passed"
msgstr "Проверка FakeIP, пожалуйста подождите" msgstr "Проверки пройдены частично"
msgid "Checking nftables, please wait" msgid "Checks passed"
msgstr "Проверка nftables, пожалуйста подождите" msgstr "Проверки пройдены"
msgid "Checking sing-box, please wait"
msgstr "Проверка sing-box, пожалуйста подождите"
msgid "CIDR must be between 0 and 32" msgid "CIDR must be between 0 and 32"
msgstr "CIDR должен быть между 0 и 32" msgstr "CIDR должен быть между 0 и 32"
@@ -146,12 +143,6 @@ msgstr "Отключить QUIC протокол для улучшения со
msgid "Disabled" msgid "Disabled"
msgstr "Отключено" msgstr "Отключено"
msgid "DNS checks"
msgstr "DNS проверки"
msgid "DNS checks passed"
msgstr "DNS проверки успешно завершены"
msgid "DNS on router" msgid "DNS on router"
msgstr "DNS на роутере" msgstr "DNS на роутере"
@@ -239,18 +230,6 @@ msgstr "Исключите трафик протокола NTP из туннел
msgid "Failed to copy!" msgid "Failed to copy!"
msgstr "Не удалось скопировать!" msgstr "Не удалось скопировать!"
msgid "FakeIP checks"
msgstr "Проверка FakeIP"
msgid "FakeIP checks failed"
msgstr "Проверки FakeIP не пройдены"
msgid "FakeIP checks partially passed"
msgstr "Проверка FakeIP частично пройдена"
msgid "FakeIP checks passed"
msgstr "Проверки FakeIP пройдены"
msgid "Fastest" msgid "Fastest"
msgstr "Самый быстрый" msgstr "Самый быстрый"
@@ -395,15 +374,6 @@ msgstr "Наблюдаемые интерфейсы"
msgid "Network Interface" msgid "Network Interface"
msgstr "Сетевой интерфейс" msgstr "Сетевой интерфейс"
msgid "Nftables checks"
msgstr "Проверки Nftables"
msgid "Nftables checks partially passed"
msgstr "Проверки Nftables частично пройдена"
msgid "Nftables checks passed"
msgstr "Nftables проверки успешно завершены"
msgid "No other marking rules found" msgid "No other marking rules found"
msgstr "Другие правила маркировки не найдены" msgstr "Другие правила маркировки не найдены"
@@ -572,12 +542,6 @@ msgstr "Sing-box"
msgid "Sing-box autostart disabled" msgid "Sing-box autostart disabled"
msgstr "Автостарт sing-box отключен" msgstr "Автостарт sing-box отключен"
msgid "Sing-box checks"
msgstr "Sing-box проверки"
msgid "Sing-box checks passed"
msgstr "Sing-box проверки успешно завершены"
msgid "Sing-box installed" msgid "Sing-box installed"
msgstr "Sing-box установлен" msgstr "Sing-box установлен"
@@ -624,7 +588,7 @@ msgid "System info"
msgstr "Системная информация" msgstr "Системная информация"
msgid "System information" msgid "System information"
msgstr "" msgstr "Системная информация"
msgid "Table exist" msgid "Table exist"
msgstr "Таблица существует" msgstr "Таблица существует"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PODKOP\n" "Project-Id-Version: PODKOP\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-23 15:27+0300\n" "POT-Creation-Date: 2025-10-23 15:55+0300\n"
"PO-Revision-Date: 2025-10-23 15:27+0300\n" "PO-Revision-Date: 2025-10-23 15:55+0300\n"
"Last-Translator: divocat <divocatt@gmail.com>\n" "Last-Translator: divocat <divocatt@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n" "Language: \n"
@@ -36,7 +36,7 @@ msgstr ""
msgid "Active Connections" msgid "Active Connections"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:117 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:106
msgid "Additional marking rules found" msgid "Additional marking rules found"
msgstr "" msgstr ""
@@ -56,7 +56,7 @@ msgstr ""
msgid "Available actions" msgid "Available actions"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:65
msgid "Bootsrap DNS" msgid "Bootsrap DNS"
msgstr "" msgstr ""
@@ -64,11 +64,11 @@ msgstr ""
msgid "Bootstrap DNS server" msgid "Bootstrap DNS server"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:81 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:58
msgid "Browser is not using FakeIP" msgid "Browser is not using FakeIP"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:80 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57
msgid "Browser is using FakeIP correctly" msgid "Browser is using FakeIP correctly"
msgstr "" msgstr ""
@@ -80,32 +80,33 @@ msgstr ""
msgid "Cache file path cannot be empty" msgid "Cache file path cannot be empty"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:26 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:27
msgid "Cannot receive DNS checks result" #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:28
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:25
msgid "Cannot receive checks result"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:27 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:15
msgid "Cannot receive nftables checks result" #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:15
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:13
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:13
msgid "Checking, please wait"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:24 #: src/podkop/tabs/diagnostic/helpers/getCheckTitle.ts:2
msgid "Cannot receive Sing-box checks result" msgid "checks"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:14 #: src/podkop/tabs/diagnostic/helpers/getMeta.ts:26
msgid "Checking dns, please wait" msgid "Checks failed"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:14 #: src/podkop/tabs/diagnostic/helpers/getMeta.ts:20
msgid "Checking FakeIP, please wait" msgid "Checks partially passed"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:12 #: src/podkop/tabs/diagnostic/helpers/getMeta.ts:13
msgid "Checking nftables, please wait" msgid "Checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:12
msgid "Checking sing-box, please wait"
msgstr "" msgstr ""
#: src/validators/validateSubnet.ts:33 #: src/validators/validateSubnet.ts:33
@@ -164,7 +165,7 @@ msgstr ""
msgid "Delay value cannot be empty" msgid "Delay value cannot be empty"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:89 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:82
msgid "DHCP has DNS server" msgid "DHCP has DNS server"
msgstr "" msgstr ""
@@ -189,15 +190,7 @@ msgstr ""
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:14 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:77
msgid "DNS checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:64
msgid "DNS checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:84
msgid "DNS on router" msgid "DNS on router"
msgstr "" msgstr ""
@@ -319,22 +312,6 @@ msgstr ""
msgid "Failed to copy!" msgid "Failed to copy!"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:29
msgid "FakeIP checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:57
msgid "FakeIP checks failed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51
msgid "FakeIP checks partially passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:44
msgid "FakeIP checks passed"
msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:117 #: src/podkop/methods/custom/getDashboardSections.ts:117
msgid "Fastest" msgid "Fastest"
msgstr "" msgstr ""
@@ -484,7 +461,7 @@ msgstr ""
msgid "Invalid URL format" msgid "Invalid URL format"
msgstr "" msgstr ""
#: src/validators/validateVlessUrl.ts:109 #: src/validators/validateVlessUrl.ts:110
msgid "Invalid VLESS URL: parsing failed" msgid "Invalid VLESS URL: parsing failed"
msgstr "" msgstr ""
@@ -508,7 +485,7 @@ msgstr ""
msgid "Local Subnet Lists" msgid "Local Subnet Lists"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:79 #: src/podkop/tabs/diagnostic/checks/runDnsCheck.ts:72
msgid "Main DNS" msgid "Main DNS"
msgstr "" msgstr ""
@@ -528,19 +505,7 @@ msgstr ""
msgid "Network Interface" msgid "Network Interface"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:24 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105
msgid "Nftables checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:75
msgid "Nftables checks partially passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74
msgid "Nftables checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:116
msgid "No other marking rules found" msgid "No other marking rules found"
msgstr "" msgstr ""
@@ -611,11 +576,11 @@ msgstr ""
msgid "Proxy Configuration URL" msgid "Proxy Configuration URL"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:89 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:66
msgid "Proxy traffic is not routed via FakeIP" msgid "Proxy traffic is not routed via FakeIP"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:88 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:65
msgid "Proxy traffic is routed via FakeIP" msgid "Proxy traffic is routed via FakeIP"
msgstr "" msgstr ""
@@ -642,11 +607,11 @@ msgstr ""
msgid "Restart podkop" msgid "Restart podkop"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:74 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:51
msgid "Router DNS is not routed through sing-box" msgid "Router DNS is not routed through sing-box"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:73 #: src/podkop/tabs/diagnostic/checks/runFakeIPCheck.ts:50
msgid "Router DNS is routed through sing-box" msgid "Router DNS is routed through sing-box"
msgstr "" msgstr ""
@@ -654,27 +619,27 @@ msgstr ""
msgid "Routing Excluded IPs" msgid "Routing Excluded IPs"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:90 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:79
msgid "Rules mangle counters" msgid "Rules mangle counters"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:85 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:74
msgid "Rules mangle exist" msgid "Rules mangle exist"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:100 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:89
msgid "Rules mangle output counters" msgid "Rules mangle output counters"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:95 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:84
msgid "Rules mangle output exist" msgid "Rules mangle output exist"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:110 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:99
msgid "Rules proxy counters" msgid "Rules proxy counters"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:105 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:94
msgid "Rules proxy exist" msgid "Rules proxy exist"
msgstr "" msgstr ""
@@ -768,35 +733,27 @@ msgstr ""
msgid "Sing-box" msgid "Sing-box"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:86 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:77
msgid "Sing-box autostart disabled" msgid "Sing-box autostart disabled"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/contstants.ts:19 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:62
msgid "Sing-box checks"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:66
msgid "Sing-box checks passed"
msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:71
msgid "Sing-box installed" msgid "Sing-box installed"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:96 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:87
msgid "Sing-box listening ports" msgid "Sing-box listening ports"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:91 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:82
msgid "Sing-box process running" msgid "Sing-box process running"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:81 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:72
msgid "Sing-box service exist" msgid "Sing-box service exist"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:76 #: src/podkop/tabs/diagnostic/checks/runSingBoxCheck.ts:67
msgid "Sing-box version >= 1.12.4" msgid "Sing-box version >= 1.12.4"
msgstr "" msgstr ""
@@ -845,7 +802,7 @@ msgstr ""
msgid "System information" msgid "System information"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:80 #: src/podkop/tabs/diagnostic/checks/runNftCheck.ts:69
msgid "Table exist" msgid "Table exist"
msgstr "" msgstr ""
@@ -965,7 +922,7 @@ msgstr ""
#: src/validators/validateSubnet.ts:38 #: src/validators/validateSubnet.ts:38
#: src/validators/validateTrojanUrl.ts:59 #: src/validators/validateTrojanUrl.ts:59
#: src/validators/validateUrl.ts:16 #: src/validators/validateUrl.ts:16
#: src/validators/validateVlessUrl.ts:107 #: src/validators/validateVlessUrl.ts:108
msgid "Valid" msgid "Valid"
msgstr "" msgstr ""