From 497bc264e3f1a1e91bf430750a35071933298ff3 Mon Sep 17 00:00:00 2001 From: xream Date: Tue, 22 Aug 2023 18:21:34 +0800 Subject: [PATCH] fix: servername/sni priority over wss host --- backend/package.json | 2 +- backend/src/core/proxy-utils/parsers/index.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/package.json b/backend/package.json index a6a9912..cc617cd 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.20", + "version": "2.14.21", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/core/proxy-utils/parsers/index.js b/backend/src/core/proxy-utils/parsers/index.js index 5d30a1f..0a5faca 100644 --- a/backend/src/core/proxy-utils/parsers/index.js +++ b/backend/src/core/proxy-utils/parsers/index.js @@ -295,6 +295,16 @@ function Clash_All() { if (proxy.type === 'vmess') { proxy.sni = proxy.servername; delete proxy.servername; + if (proxy.tls && !proxy.sni) { + if (proxy.network === 'ws') { + proxy.sni = proxy['ws-opts']?.headers?.Host; + } else if (proxy.network === 'http') { + let httpHost = proxy['http-opts']?.headers?.Host; + proxy.sni = Array.isArray(httpHost) + ? httpHost[0] + : httpHost; + } + } } return proxy;