diff --git a/fe-app-podkop/locales/calls.json b/fe-app-podkop/locales/calls.json index f80bfea..970e80e 100644 --- a/fe-app-podkop/locales/calls.json +++ b/fe-app-podkop/locales/calls.json @@ -641,7 +641,7 @@ "call": "Invalid HY2 URL: insecure must be 0 or 1", "key": "Invalid HY2 URL: insecure must be 0 or 1", "places": [ - "src/validators/validateHysteriaUrl.ts:73" + "src/validators/validateHysteriaUrl.ts:76" ] }, { @@ -700,18 +700,32 @@ "src/validators/validateHysteriaUrl.ts:12" ] }, + { + "call": "Invalid HY2 URL: obfs-password required when obfs is set", + "key": "Invalid HY2 URL: obfs-password required when obfs is set", + "places": [ + "src/validators/validateHysteriaUrl.ts:99" + ] + }, { "call": "Invalid HY2 URL: parsing failed", "key": "Invalid HY2 URL: parsing failed", "places": [ - "src/validators/validateHysteriaUrl.ts:103" + "src/validators/validateHysteriaUrl.ts:113" + ] + }, + { + "call": "Invalid HY2 URL: sni cannot be empty", + "key": "Invalid HY2 URL: sni cannot be empty", + "places": [ + "src/validators/validateHysteriaUrl.ts:106" ] }, { "call": "Invalid HY2 URL: unsupported obfs type", "key": "Invalid HY2 URL: unsupported obfs type", "places": [ - "src/validators/validateHysteriaUrl.ts:82" + "src/validators/validateHysteriaUrl.ts:88" ] }, { @@ -1648,8 +1662,8 @@ ] }, { - "call": "URL must start with vless://, ss://, trojan://, or socks4/5://", - "key": "URL must start with vless://, ss://, trojan://, or socks4/5://", + "call": "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://", + "key": "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://", "places": [ "src/validators/validateProxyUrl.ts:37" ] @@ -1746,7 +1760,7 @@ "src/validators/validateDns.ts:18", "src/validators/validateDomain.ts:13", "src/validators/validateDomain.ts:30", - "src/validators/validateHysteriaUrl.ts:101", + "src/validators/validateHysteriaUrl.ts:111", "src/validators/validateIp.ts:8", "src/validators/validateOutboundJson.ts:7", "src/validators/validatePath.ts:16", diff --git a/fe-app-podkop/locales/podkop.pot b/fe-app-podkop/locales/podkop.pot index 00c0264..542bfbe 100644 --- a/fe-app-podkop/locales/podkop.pot +++ b/fe-app-podkop/locales/podkop.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-30 16:34+0200\n" -"PO-Revision-Date: 2025-11-30 16:34+0200\n" +"POT-Creation-Date: 2025-12-01 14:30+0200\n" +"PO-Revision-Date: 2025-12-01 14:30+0200\n" "Last-Translator: divocat \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -390,7 +390,7 @@ msgstr "" msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" msgstr "" -#: src/validators/validateHysteriaUrl.ts:73 +#: src/validators/validateHysteriaUrl.ts:76 msgid "Invalid HY2 URL: insecure must be 0 or 1" msgstr "" @@ -426,11 +426,19 @@ msgstr "" msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://" msgstr "" -#: src/validators/validateHysteriaUrl.ts:103 +#: src/validators/validateHysteriaUrl.ts:99 +msgid "Invalid HY2 URL: obfs-password required when obfs is set" +msgstr "" + +#: src/validators/validateHysteriaUrl.ts:113 msgid "Invalid HY2 URL: parsing failed" msgstr "" -#: src/validators/validateHysteriaUrl.ts:82 +#: src/validators/validateHysteriaUrl.ts:106 +msgid "Invalid HY2 URL: sni cannot be empty" +msgstr "" + +#: src/validators/validateHysteriaUrl.ts:88 msgid "Invalid HY2 URL: unsupported obfs type" msgstr "" @@ -978,7 +986,7 @@ msgid "Uplink" msgstr "" #: src/validators/validateProxyUrl.ts:37 -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" +msgid "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://" msgstr "" #: src/validators/validateUrl.ts:17 @@ -1033,7 +1041,7 @@ msgstr "" #: src/validators/validateDns.ts:18 #: src/validators/validateDomain.ts:13 #: src/validators/validateDomain.ts:30 -#: src/validators/validateHysteriaUrl.ts:101 +#: src/validators/validateHysteriaUrl.ts:111 #: src/validators/validateIp.ts:8 #: src/validators/validateOutboundJson.ts:7 #: src/validators/validatePath.ts:16 diff --git a/fe-app-podkop/locales/podkop.ru.po b/fe-app-podkop/locales/podkop.ru.po index 60c47a0..fab7459 100644 --- a/fe-app-podkop/locales/podkop.ru.po +++ b/fe-app-podkop/locales/podkop.ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-30 18:34+0200\n" -"PO-Revision-Date: 2025-11-30 18:34+0200\n" +"POT-Creation-Date: 2025-12-01 16:30+0200\n" +"PO-Revision-Date: 2025-12-01 16:30+0200\n" "Last-Translator: divocat\n" "Language-Team: none\n" "Language: ru\n" @@ -308,9 +308,15 @@ msgstr "Неверный URL Hysteria2: не должен содержать п msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://" msgstr "Неверный URL Hysteria2: должен начинаться с hysteria2:// или hy2://" +msgid "Invalid HY2 URL: obfs-password required when obfs is set" +msgstr "Неверный URL Hysteria2: требуется obfs-password, когда установлен obfs" + msgid "Invalid HY2 URL: parsing failed" msgstr "Неверный URL Hysteria2: ошибка разбора" +msgid "Invalid HY2 URL: sni cannot be empty" +msgstr "Неверный URL Hysteria2: sni не может быть пустым" + msgid "Invalid HY2 URL: unsupported obfs type" msgstr "Неверный URL Hysteria2: неподдерживаемый тип obfs" @@ -704,8 +710,8 @@ msgstr "Неизвестная ошибка" msgid "Uplink" msgstr "Исходящий" -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "URL должен начинаться с vless://, ss://, trojan:// или socks4/5://" +msgid "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://" +msgstr "URL должен начинаться с vless://, ss://, trojan://, socks4/5:// или hysteria2:// hy2://" msgid "URL must use one of the following protocols:" msgstr "URL должен использовать один из следующих протоколов:" diff --git a/fe-app-podkop/src/validators/validateHysteriaUrl.ts b/fe-app-podkop/src/validators/validateHysteriaUrl.ts index 53c7530..464f16d 100644 --- a/fe-app-podkop/src/validators/validateHysteriaUrl.ts +++ b/fe-app-podkop/src/validators/validateHysteriaUrl.ts @@ -96,14 +96,16 @@ export function validateHysteria2Url(url: string): ValidationResult { ) { return { valid: false, - message: 'Invalid HY2 URL: obfs-password required when obfs is set', + message: _( + 'Invalid HY2 URL: obfs-password required when obfs is set', + ), }; } if (paramsKeys.includes('sni') && !params.sni) { return { valid: false, - message: 'Invalid HY2 URL: sni cannot be empty', + message: _('Invalid HY2 URL: sni cannot be empty'), }; } } diff --git a/fe-app-podkop/src/validators/validateProxyUrl.ts b/fe-app-podkop/src/validators/validateProxyUrl.ts index 24b0c19..d0be83d 100644 --- a/fe-app-podkop/src/validators/validateProxyUrl.ts +++ b/fe-app-podkop/src/validators/validateProxyUrl.ts @@ -35,7 +35,7 @@ export function validateProxyUrl(url: string): ValidationResult { return { valid: false, message: _( - 'URL must start with vless://, ss://, trojan://, or socks4/5://', + 'URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://', ), }; } diff --git a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js index 986070c..f5204dc 100644 --- a/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js +++ b/luci-app-podkop/htdocs/luci-static/resources/view/podkop/main.js @@ -516,13 +516,15 @@ function validateHysteria2Url(url) { if (paramsKeys.includes("obfs") && params.obfs !== "none" && !params["obfs-password"]) { return { valid: false, - message: "Invalid HY2 URL: obfs-password required when obfs is set" + message: _( + "Invalid HY2 URL: obfs-password required when obfs is set" + ) }; } if (paramsKeys.includes("sni") && !params.sni) { return { valid: false, - message: "Invalid HY2 URL: sni cannot be empty" + message: _("Invalid HY2 URL: sni cannot be empty") }; } } @@ -553,7 +555,7 @@ function validateProxyUrl(url) { return { valid: false, message: _( - "URL must start with vless://, ss://, trojan://, or socks4/5://" + "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://" ) }; } diff --git a/luci-app-podkop/po/ru/podkop.po b/luci-app-podkop/po/ru/podkop.po index 60c47a0..fab7459 100644 --- a/luci-app-podkop/po/ru/podkop.po +++ b/luci-app-podkop/po/ru/podkop.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-30 18:34+0200\n" -"PO-Revision-Date: 2025-11-30 18:34+0200\n" +"POT-Creation-Date: 2025-12-01 16:30+0200\n" +"PO-Revision-Date: 2025-12-01 16:30+0200\n" "Last-Translator: divocat\n" "Language-Team: none\n" "Language: ru\n" @@ -308,9 +308,15 @@ msgstr "Неверный URL Hysteria2: не должен содержать п msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://" msgstr "Неверный URL Hysteria2: должен начинаться с hysteria2:// или hy2://" +msgid "Invalid HY2 URL: obfs-password required when obfs is set" +msgstr "Неверный URL Hysteria2: требуется obfs-password, когда установлен obfs" + msgid "Invalid HY2 URL: parsing failed" msgstr "Неверный URL Hysteria2: ошибка разбора" +msgid "Invalid HY2 URL: sni cannot be empty" +msgstr "Неверный URL Hysteria2: sni не может быть пустым" + msgid "Invalid HY2 URL: unsupported obfs type" msgstr "Неверный URL Hysteria2: неподдерживаемый тип obfs" @@ -704,8 +710,8 @@ msgstr "Неизвестная ошибка" msgid "Uplink" msgstr "Исходящий" -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" -msgstr "URL должен начинаться с vless://, ss://, trojan:// или socks4/5://" +msgid "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://" +msgstr "URL должен начинаться с vless://, ss://, trojan://, socks4/5:// или hysteria2:// hy2://" msgid "URL must use one of the following protocols:" msgstr "URL должен использовать один из следующих протоколов:" diff --git a/luci-app-podkop/po/templates/podkop.pot b/luci-app-podkop/po/templates/podkop.pot index 00c0264..542bfbe 100644 --- a/luci-app-podkop/po/templates/podkop.pot +++ b/luci-app-podkop/po/templates/podkop.pot @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PODKOP\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-30 16:34+0200\n" -"PO-Revision-Date: 2025-11-30 16:34+0200\n" +"POT-Creation-Date: 2025-12-01 14:30+0200\n" +"PO-Revision-Date: 2025-12-01 14:30+0200\n" "Last-Translator: divocat \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -390,7 +390,7 @@ msgstr "" msgid "Invalid format. Use X.X.X.X or X.X.X.X/Y" msgstr "" -#: src/validators/validateHysteriaUrl.ts:73 +#: src/validators/validateHysteriaUrl.ts:76 msgid "Invalid HY2 URL: insecure must be 0 or 1" msgstr "" @@ -426,11 +426,19 @@ msgstr "" msgid "Invalid HY2 URL: must start with hysteria2:// or hy2://" msgstr "" -#: src/validators/validateHysteriaUrl.ts:103 +#: src/validators/validateHysteriaUrl.ts:99 +msgid "Invalid HY2 URL: obfs-password required when obfs is set" +msgstr "" + +#: src/validators/validateHysteriaUrl.ts:113 msgid "Invalid HY2 URL: parsing failed" msgstr "" -#: src/validators/validateHysteriaUrl.ts:82 +#: src/validators/validateHysteriaUrl.ts:106 +msgid "Invalid HY2 URL: sni cannot be empty" +msgstr "" + +#: src/validators/validateHysteriaUrl.ts:88 msgid "Invalid HY2 URL: unsupported obfs type" msgstr "" @@ -978,7 +986,7 @@ msgid "Uplink" msgstr "" #: src/validators/validateProxyUrl.ts:37 -msgid "URL must start with vless://, ss://, trojan://, or socks4/5://" +msgid "URL must start with vless://, ss://, trojan://, socks4/5://, or hysteria2://hy2://" msgstr "" #: src/validators/validateUrl.ts:17 @@ -1033,7 +1041,7 @@ msgstr "" #: src/validators/validateDns.ts:18 #: src/validators/validateDomain.ts:13 #: src/validators/validateDomain.ts:30 -#: src/validators/validateHysteriaUrl.ts:101 +#: src/validators/validateHysteriaUrl.ts:111 #: src/validators/validateIp.ts:8 #: src/validators/validateOutboundJson.ts:7 #: src/validators/validatePath.ts:16