fix: 非 tls, 有 ws/http 传输层, 使用域名的节点, 将设置传输层 Host 防止之后域名解析后丢失域名(不覆盖现有的 Host)

This commit is contained in:
xream 2023-08-28 20:34:22 +08:00
parent 4f2c95f6ab
commit f5aea14904
No known key found for this signature in database
GPG Key ID: 1D2C5225471789F9
2 changed files with 5 additions and 3 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "sub-store", "name": "sub-store",
"version": "2.14.38", "version": "2.14.39",
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
"main": "src/main.js", "main": "src/main.js",
"scripts": { "scripts": {

View File

@ -205,16 +205,18 @@ function lastParse(proxy) {
proxy.sni = proxy.server; proxy.sni = proxy.server;
} }
} }
// 非 tls, 有 ws/http 传输层, 使用域名的节点, 将设置传输层 Host 防止之后域名解析后丢失域名 // 非 tls, 有 ws/http 传输层, 使用域名的节点, 将设置传输层 Host 防止之后域名解析后丢失域名(不覆盖现有的 Host)
if ( if (
!proxy.tls && !proxy.tls &&
['ws', 'http'].includes(proxy.network) && ['ws', 'http'].includes(proxy.network) &&
!proxy[`${proxy.network}-opts`]?.headers?.Host &&
!isIP(proxy.server) !isIP(proxy.server)
) { ) {
proxy[`${proxy.network}-opts`] = proxy[`${proxy.network}-opts`] || {}; proxy[`${proxy.network}-opts`] = proxy[`${proxy.network}-opts`] || {};
proxy[`${proxy.network}-opts`].headers = proxy[`${proxy.network}-opts`].headers =
proxy[`${proxy.network}-opts`].headers || {}; proxy[`${proxy.network}-opts`].headers || {};
proxy[`${proxy.network}-opts`].headers.Host = proxy.server; proxy[`${proxy.network}-opts`].headers.Host =
proxy.network === 'http' ? [proxy.server] : proxy.server;
} }
return proxy; return proxy;
} }