feat: actualize json outbound validation

This commit is contained in:
divocat
2025-10-26 14:46:39 +02:00
parent 288b8d4cc2
commit fb54d62a7f
7 changed files with 29 additions and 62 deletions

View File

@@ -526,7 +526,8 @@
"call": "Fastest", "call": "Fastest",
"key": "Fastest", "key": "Fastest",
"places": [ "places": [
"src/podkop/methods/custom/getDashboardSections.ts:117" "src/podkop/methods/custom/getDashboardSections.ts:117",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:58"
] ]
}, },
{ {
@@ -611,7 +612,7 @@
"call": "Invalid JSON format", "call": "Invalid JSON format",
"key": "Invalid JSON format", "key": "Invalid JSON format",
"places": [ "places": [
"src/validators/validateOutboundJson.ts:19" "src/validators/validateOutboundJson.ts:9"
] ]
}, },
{ {
@@ -884,8 +885,9 @@
"call": "Not responding", "call": "Not responding",
"key": "Not responding", "key": "Not responding",
"places": [ "places": [
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59", "src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:74",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:79" "src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:80",
"src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:99"
] ]
}, },
{ {
@@ -920,13 +922,6 @@
"../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64" "../luci-app-podkop/htdocs/luci-static/resources/view/podkop/section.js:64"
] ]
}, },
{
"call": "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields",
"key": "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields",
"places": [
"src/validators/validateOutboundJson.ts:11"
]
},
{ {
"call": "Outdated", "call": "Outdated",
"key": "Outdated", "key": "Outdated",
@@ -1588,7 +1583,7 @@
"src/validators/validateDomain.ts:13", "src/validators/validateDomain.ts:13",
"src/validators/validateDomain.ts:30", "src/validators/validateDomain.ts:30",
"src/validators/validateIp.ts:8", "src/validators/validateIp.ts:8",
"src/validators/validateOutboundJson.ts:17", "src/validators/validateOutboundJson.ts:7",
"src/validators/validatePath.ts:16", "src/validators/validatePath.ts:16",
"src/validators/validateShadowsocksUrl.ts:95", "src/validators/validateShadowsocksUrl.ts:95",
"src/validators/validateSocksUrl.ts:80", "src/validators/validateSocksUrl.ts:80",

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-25 22:08+0300\n" "POT-Creation-Date: 2025-10-26 12:45+0200\n"
"PO-Revision-Date: 2025-10-25 22:08+0300\n" "PO-Revision-Date: 2025-10-26 12:45+0200\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"
@@ -324,6 +324,7 @@ msgid "Failed to execute!"
msgstr "" msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:117 #: src/podkop/methods/custom/getDashboardSections.ts:117
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:58
msgid "Fastest" msgid "Fastest"
msgstr "" msgstr ""
@@ -372,7 +373,7 @@ msgstr ""
msgid "Invalid IP address" msgid "Invalid IP address"
msgstr "" msgstr ""
#: src/validators/validateOutboundJson.ts:19 #: src/validators/validateOutboundJson.ts:9
msgid "Invalid JSON format" msgid "Invalid JSON format"
msgstr "" msgstr ""
@@ -528,8 +529,9 @@ msgstr ""
msgid "Not implement yet" msgid "Not implement yet"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59 #: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:74
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:79 #: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:80
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:99
msgid "Not responding" msgid "Not responding"
msgstr "" msgstr ""
@@ -553,10 +555,6 @@ msgstr ""
msgid "Outbound Configuration" msgid "Outbound Configuration"
msgstr "" msgstr ""
#: src/validators/validateOutboundJson.ts:11
msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields"
msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:443 #: src/podkop/tabs/diagnostic/initController.ts:443
msgid "Outdated" msgid "Outdated"
msgstr "" msgstr ""
@@ -941,7 +939,7 @@ msgstr ""
#: src/validators/validateDomain.ts:13 #: src/validators/validateDomain.ts:13
#: src/validators/validateDomain.ts:30 #: src/validators/validateDomain.ts:30
#: src/validators/validateIp.ts:8 #: src/validators/validateIp.ts:8
#: src/validators/validateOutboundJson.ts:17 #: src/validators/validateOutboundJson.ts:7
#: src/validators/validatePath.ts:16 #: src/validators/validatePath.ts:16
#: src/validators/validateShadowsocksUrl.ts:95 #: src/validators/validateShadowsocksUrl.ts:95
#: src/validators/validateSocksUrl.ts:80 #: src/validators/validateSocksUrl.ts:80

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-25 01:08+0300\n" "POT-Creation-Date: 2025-10-26 14:45+0200\n"
"PO-Revision-Date: 2025-10-25 01:08+0300\n" "PO-Revision-Date: 2025-10-26 14:45+0200\n"
"Last-Translator: divocat\n" "Last-Translator: divocat\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: ru\n" "Language: ru\n"
@@ -401,9 +401,6 @@ msgstr "Конфигурация Outbound"
msgid "Outbound Configuration" msgid "Outbound Configuration"
msgstr "Конфигурация исходящего соединения" msgstr "Конфигурация исходящего соединения"
msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields"
msgstr "JSON должен содержать поля \"type\", \"server\" и \"server_port\""
msgid "Outdated" msgid "Outdated"
msgstr "Устаревшая" msgstr "Устаревшая"

View File

@@ -1,18 +1,8 @@
import { ValidationResult } from './types'; import { ValidationResult } from './types';
// TODO refactor current validation and add tests
export function validateOutboundJson(value: string): ValidationResult { export function validateOutboundJson(value: string): ValidationResult {
try { try {
const parsed = JSON.parse(value); JSON.parse(value);
if (!parsed.type || !parsed.server || !parsed.server_port) {
return {
valid: false,
message: _(
'Outbound JSON must contain at least "type", "server" and "server_port" fields',
),
};
}
return { valid: true, message: _('Valid') }; return { valid: true, message: _('Valid') };
} catch { } catch {

View File

@@ -323,15 +323,7 @@ function validateVlessUrl(url) {
// src/validators/validateOutboundJson.ts // src/validators/validateOutboundJson.ts
function validateOutboundJson(value) { function validateOutboundJson(value) {
try { try {
const parsed = JSON.parse(value); JSON.parse(value);
if (!parsed.type || !parsed.server || !parsed.server_port) {
return {
valid: false,
message: _(
'Outbound JSON must contain at least "type", "server" and "server_port" fields'
)
};
}
return { valid: true, message: _("Valid") }; return { valid: true, message: _("Valid") };
} catch { } catch {
return { valid: false, message: _("Invalid JSON format") }; return { valid: false, message: _("Invalid JSON format") };

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-25 01:08+0300\n" "POT-Creation-Date: 2025-10-26 14:45+0200\n"
"PO-Revision-Date: 2025-10-25 01:08+0300\n" "PO-Revision-Date: 2025-10-26 14:45+0200\n"
"Last-Translator: divocat\n" "Last-Translator: divocat\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: ru\n" "Language: ru\n"
@@ -401,9 +401,6 @@ msgstr "Конфигурация Outbound"
msgid "Outbound Configuration" msgid "Outbound Configuration"
msgstr "Конфигурация исходящего соединения" msgstr "Конфигурация исходящего соединения"
msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields"
msgstr "JSON должен содержать поля \"type\", \"server\" и \"server_port\""
msgid "Outdated" msgid "Outdated"
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-25 22:08+0300\n" "POT-Creation-Date: 2025-10-26 12:45+0200\n"
"PO-Revision-Date: 2025-10-25 22:08+0300\n" "PO-Revision-Date: 2025-10-26 12:45+0200\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"
@@ -324,6 +324,7 @@ msgid "Failed to execute!"
msgstr "" msgstr ""
#: src/podkop/methods/custom/getDashboardSections.ts:117 #: src/podkop/methods/custom/getDashboardSections.ts:117
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:58
msgid "Fastest" msgid "Fastest"
msgstr "" msgstr ""
@@ -372,7 +373,7 @@ msgstr ""
msgid "Invalid IP address" msgid "Invalid IP address"
msgstr "" msgstr ""
#: src/validators/validateOutboundJson.ts:19 #: src/validators/validateOutboundJson.ts:9
msgid "Invalid JSON format" msgid "Invalid JSON format"
msgstr "" msgstr ""
@@ -528,8 +529,9 @@ msgstr ""
msgid "Not implement yet" msgid "Not implement yet"
msgstr "" msgstr ""
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:59 #: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:74
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:79 #: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:80
#: src/podkop/tabs/diagnostic/checks/runSectionsCheck.ts:99
msgid "Not responding" msgid "Not responding"
msgstr "" msgstr ""
@@ -553,10 +555,6 @@ msgstr ""
msgid "Outbound Configuration" msgid "Outbound Configuration"
msgstr "" msgstr ""
#: src/validators/validateOutboundJson.ts:11
msgid "Outbound JSON must contain at least \"type\", \"server\" and \"server_port\" fields"
msgstr ""
#: src/podkop/tabs/diagnostic/initController.ts:443 #: src/podkop/tabs/diagnostic/initController.ts:443
msgid "Outdated" msgid "Outdated"
msgstr "" msgstr ""
@@ -941,7 +939,7 @@ msgstr ""
#: src/validators/validateDomain.ts:13 #: src/validators/validateDomain.ts:13
#: src/validators/validateDomain.ts:30 #: src/validators/validateDomain.ts:30
#: src/validators/validateIp.ts:8 #: src/validators/validateIp.ts:8
#: src/validators/validateOutboundJson.ts:17 #: src/validators/validateOutboundJson.ts:7
#: src/validators/validatePath.ts:16 #: src/validators/validatePath.ts:16
#: src/validators/validateShadowsocksUrl.ts:95 #: src/validators/validateShadowsocksUrl.ts:95
#: src/validators/validateSocksUrl.ts:80 #: src/validators/validateSocksUrl.ts:80