diff --git a/src/server/gatewayPresence.js b/src/server/gatewayPresence.js index 0c5a957..f43c1bd 100644 --- a/src/server/gatewayPresence.js +++ b/src/server/gatewayPresence.js @@ -27,7 +27,7 @@ function subscriptionSecret(subscriptionUrl) { pathSegments.at(-1), ] .map((value) => String(value || '').trim()) - .filter((value) => value.length >= 24); + .filter((value) => value.length >= 16); if (!candidates.length) return ''; url.hash = ''; diff --git a/test/server/gateway-presence.test.js b/test/server/gateway-presence.test.js index 5a2580d..e688cfd 100644 --- a/test/server/gateway-presence.test.js +++ b/test/server/gateway-presence.test.js @@ -52,6 +52,13 @@ test('Gateway presence is authenticated by the shared subscription secret', asyn nonce, }).available, false); + assert.equal(buildGatewayPresence({ + appMode: 'gateway', + subscriptionUrl: 'https://subscription.example/0123456789abcdef', + gatewayId: 'gateway-1', + nonce, + }).available, true); + const sharedPublicValue = 'https://public.example/sing-box-configuration-v1'; const firstUrl = `${subscriptionUrl}?redirect=${encodeURIComponent(sharedPublicValue)}`; const secondUrl = `https://subscription.example/fedcba9876543210fedcba9876543210?redirect=${encodeURIComponent(sharedPublicValue)}`;