diff --git a/backend/package.json b/backend/package.json index b5524d4b9..c2a2d1879 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.418", + "version": "2.14.419", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/utils/flow.js b/backend/src/utils/flow.js index 014175479..4cff0503f 100644 --- a/backend/src/utils/flow.js +++ b/backend/src/utils/flow.js @@ -5,10 +5,21 @@ import $ from '@/core/app'; import headersResourceCache from '@/utils/headers-resource-cache'; export function getFlowField(headers) { - const subkey = Object.keys(headers).filter((k) => - /SUBSCRIPTION-USERINFO/i.test(k), - )[0]; - return headers[subkey]; + let subKey = ''; + let webPageKey = ''; + + Object.keys(headers).some((k) => { + if (/SUBSCRIPTION-USERINFO/i.test(k)) { + subKey = k; + } else if (/PROFILE-WEB-PAGE-URL/i.test(k)) { + webPageKey = k; + } + return subKey && webPageKey; + }); + + return `${headers[subKey] || ''}${ + webPageKey ? `;app_url=${headers[webPageKey]}` : '' + }`; } export async function getFlowHeaders( rawUrl,