From fa813a00402daa4b2b4022fb959103c34a075ff0 Mon Sep 17 00:00:00 2001 From: xream Date: Thu, 17 Apr 2025 09:57:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20Loon=20=E8=BE=93=E5=85=A5=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E6=AD=A3=E5=BC=8F=E6=94=AF=E6=8C=81=20VLESS=20XTLS/RE?= =?UTF-8?q?ALITY,=20VMess=20REALITY?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/package.json | 2 +- .../src/core/proxy-utils/producers/loon.js | 40 +++++-------------- 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/backend/package.json b/backend/package.json index 1345648..12bb139 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.19.23", + "version": "2.19.24", "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 ad2855f..bcf9bf1 100644 --- a/backend/src/core/proxy-utils/producers/loon.js +++ b/backend/src/core/proxy-utils/producers/loon.js @@ -151,7 +151,7 @@ function shadowsocks(proxy) { return result.toString(); } -function shadowsocksr(proxy, includeUnsupportedProxy) { +function shadowsocksr(proxy) { const result = new Result(proxy); result.append( `${proxy.name}=shadowsocksr,${proxy.server},${proxy.port},${proxy.cipher},"${proxy.password}"`, @@ -290,17 +290,9 @@ function trojan(proxy) { return result.toString(); } -function vmess(proxy, includeUnsupportedProxy) { - if (!includeUnsupportedProxy && proxy['reality-opts']) { - throw new Error(`VMess REALITY is not supported`); - } +function vmess(proxy) { + const isReality = !!proxy['reality-opts']; - let isReality = false; - if (includeUnsupportedProxy) { - if (proxy['reality-opts']) { - isReality = true; - } - } const result = new Result(proxy); result.append( `${proxy.name}=vmess,${proxy.server},${proxy.port},${proxy.cipher},"${proxy.uuid}"`, @@ -397,28 +389,18 @@ function vmess(proxy, includeUnsupportedProxy) { return result.toString(); } -function vless(proxy, includeUnsupportedProxy) { - if ( - !includeUnsupportedProxy && - (typeof proxy.flow !== 'undefined' || proxy['reality-opts']) - ) { - throw new Error(`VLESS XTLS/REALITY is not supported`); - } +function vless(proxy) { let isXtls = false; - let isReality = false; - if (includeUnsupportedProxy) { - if (proxy['reality-opts']) { - isReality = true; - } + const isReality = !!proxy['reality-opts']; - if (typeof proxy.flow !== 'undefined') { - if (['xtls-rprx-vision'].includes(proxy.flow)) { - isXtls = true; - } else { - throw new Error(`VLESS flow(${proxy.flow}) is not supported`); - } + if (typeof proxy.flow !== 'undefined') { + if (['xtls-rprx-vision'].includes(proxy.flow)) { + isXtls = true; + } else { + throw new Error(`VLESS flow(${proxy.flow}) is not supported`); } } + const result = new Result(proxy); result.append( `${proxy.name}=vless,${proxy.server},${proxy.port},"${proxy.uuid}"`,