From 25b20b6514d37afc24bb315e14f1bcd4b93bd4b3 Mon Sep 17 00:00:00 2001 From: ShadowsSide Date: Sat, 7 Mar 2026 15:15:21 -0800 Subject: [PATCH] fix(utils): prioritize common ALPN protocols and use a single ALPN for Tuic nodes in Surge configuration. --- src/utils/surge.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/utils/surge.ts b/src/utils/surge.ts index 010b10806..9bb08b015 100644 --- a/src/utils/surge.ts +++ b/src/utils/surge.ts @@ -538,7 +538,13 @@ function appendCommonConfig( if (nodeConfig.type === NodeTypeEnum.Tuic) { appendConfig.push( ...('alpn' in nodeConfig && Array.isArray(nodeConfig.alpn) - ? [`alpn=${nodeConfig.alpn.join(',')}`] + ? (() => { + const alpn = nodeConfig.alpn as string[] + const preferred = ['h3', 'h2', 'http/1.1'].find((a) => + alpn.includes(a), + ) + return [`alpn=${preferred ?? alpn[0]}`] + })() : []), ) }