From 49c7107d2001eb4fc4349672f477e8c5640b5b60 Mon Sep 17 00:00:00 2001 From: xream Date: Sun, 27 Aug 2023 18:17:30 +0800 Subject: [PATCH] fix: transport headers may have no Host --- backend/package.json | 2 +- backend/src/core/proxy-utils/producers/loon.js | 10 +++++----- backend/src/core/proxy-utils/producers/qx.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/package.json b/backend/package.json index bd4fabd..0877dc9 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.31", + "version": "2.14.32", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/core/proxy-utils/producers/loon.js b/backend/src/core/proxy-utils/producers/loon.js index 5956ec7..73f2e6e 100644 --- a/backend/src/core/proxy-utils/producers/loon.js +++ b/backend/src/core/proxy-utils/producers/loon.js @@ -101,7 +101,7 @@ function trojan(proxy) { 'ws-opts.path', ); result.appendIfPresent( - `,host=${proxy['ws-opts'].headers.Host}`, + `,host=${proxy['ws-opts']?.headers?.Host}`, 'ws-opts.headers.Host', ); } else { @@ -138,11 +138,11 @@ function vmess(proxy) { if (proxy.network === 'ws') { result.append(`,transport=ws`); result.appendIfPresent( - `,path=${proxy['ws-opts'].path}`, + `,path=${proxy['ws-opts']?.path}`, 'ws-opts.path', ); result.appendIfPresent( - `,host=${proxy['ws-opts'].headers.Host}`, + `,host=${proxy['ws-opts']?.headers?.Host}`, 'ws-opts.headers.Host', ); } else if (proxy.network === 'http') { @@ -205,11 +205,11 @@ function vless(proxy) { if (proxy.network === 'ws') { result.append(`,transport=ws`); result.appendIfPresent( - `,path=${proxy['ws-opts'].path}`, + `,path=${proxy['ws-opts']?.path}`, 'ws-opts.path', ); result.appendIfPresent( - `,host=${proxy['ws-opts'].headers.Host}`, + `,host=${proxy['ws-opts']?.headers?.Host}`, 'ws-opts.headers.Host', ); } else if (proxy.network === 'http') { diff --git a/backend/src/core/proxy-utils/producers/qx.js b/backend/src/core/proxy-utils/producers/qx.js index 4b2a851..b646d28 100644 --- a/backend/src/core/proxy-utils/producers/qx.js +++ b/backend/src/core/proxy-utils/producers/qx.js @@ -135,11 +135,11 @@ function trojan(proxy) { if (needTls(proxy)) append(`,obfs=wss`); else append(`,obfs=ws`); appendIfPresent( - `,obfs-uri=${proxy['ws-opts'].path}`, + `,obfs-uri=${proxy['ws-opts']?.path}`, 'ws-opts.path', ); appendIfPresent( - `,obfs-host=${proxy['ws-opts'].headers.Host}`, + `,obfs-host=${proxy['ws-opts']?.headers?.Host}`, 'ws-opts.headers.Host', ); } else {