From 5310680dbd20a5ad1c19caffc77d5f152a26ede1 Mon Sep 17 00:00:00 2001 From: diamond261 Date: Sun, 17 May 2026 14:30:04 +0800 Subject: [PATCH] Fix feature request #4445: add Hysteria2 allow insecure client setting --- frontend/src/models/outbound.js | 9 +++++++-- frontend/src/pages/xray/OutboundFormModal.vue | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/frontend/src/models/outbound.js b/frontend/src/models/outbound.js index 8277590e..52730692 100644 --- a/frontend/src/models/outbound.js +++ b/frontend/src/models/outbound.js @@ -570,6 +570,7 @@ export class TlsStreamSettings extends CommonClass { alpn = [], fingerprint = '', echConfigList = '', + allowInsecure = false, verifyPeerCertByName = '', pinnedPeerCertSha256 = '', ) { @@ -578,6 +579,7 @@ export class TlsStreamSettings extends CommonClass { this.alpn = alpn; this.fingerprint = fingerprint; this.echConfigList = echConfigList; + this.allowInsecure = allowInsecure; this.verifyPeerCertByName = verifyPeerCertByName; this.pinnedPeerCertSha256 = pinnedPeerCertSha256; } @@ -588,6 +590,7 @@ export class TlsStreamSettings extends CommonClass { json.alpn, json.fingerprint, json.echConfigList, + json.allowInsecure, json.verifyPeerCertByName, json.pinnedPeerCertSha256, ); @@ -599,6 +602,7 @@ export class TlsStreamSettings extends CommonClass { alpn: this.alpn, fingerprint: this.fingerprint, echConfigList: this.echConfigList, + allowInsecure: this.allowInsecure, verifyPeerCertByName: this.verifyPeerCertByName, pinnedPeerCertSha256: this.pinnedPeerCertSha256 }; @@ -1540,7 +1544,8 @@ export class Outbound extends CommonClass { let alpn = urlParams.get('alpn'); let sni = urlParams.get('sni') ?? ''; let ech = urlParams.get('ech') ?? ''; - stream.tls = new TlsStreamSettings(sni, alpn ? alpn.split(',') : [], fp, ech); + const insecure = ['1', 'true'].includes((urlParams.get('insecure') ?? '').toLowerCase()); + stream.tls = new TlsStreamSettings(sni, alpn ? alpn.split(',') : [], fp, ech, insecure); } // Set hysteria stream settings @@ -2292,4 +2297,4 @@ Outbound.HysteriaSettings = class extends CommonClass { version: this.version }; } -}; \ No newline at end of file +}; diff --git a/frontend/src/pages/xray/OutboundFormModal.vue b/frontend/src/pages/xray/OutboundFormModal.vue index 0ba0908d..051ab060 100644 --- a/frontend/src/pages/xray/OutboundFormModal.vue +++ b/frontend/src/pages/xray/OutboundFormModal.vue @@ -894,6 +894,9 @@ function regenerateWgKeys() { + + +