diff --git a/backend/package.json b/backend/package.json index 78636cf..1fd7ac5 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.254", + "version": "2.14.255", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/restful/download.js b/backend/src/restful/download.js index 45bd8e9..a5a6b0e 100644 --- a/backend/src/restful/download.js +++ b/backend/src/restful/download.js @@ -113,7 +113,7 @@ async function downloadSubscription(req, res) { // forward flow headers const flowInfo = await getFlowHeaders( url, - undefined, + $arguments.flowUserAgent, undefined, sub.proxy, ); @@ -250,7 +250,7 @@ async function downloadCollection(req, res) { if (!$arguments.noFlow) { const flowInfo = await getFlowHeaders( url, - undefined, + $arguments.flowUserAgent, undefined, sub.proxy, ); diff --git a/backend/src/restful/subscriptions.js b/backend/src/restful/subscriptions.js index 1a5b3a6..b5a5d33 100644 --- a/backend/src/restful/subscriptions.js +++ b/backend/src/restful/subscriptions.js @@ -115,7 +115,7 @@ async function getFlowInfo(req, res) { } else { const flowHeaders = await getFlowHeaders( url, - undefined, + $arguments.flowUserAgent, undefined, sub.proxy, ); diff --git a/backend/src/utils/download.js b/backend/src/utils/download.js index a8c8f72..2e41b3c 100644 --- a/backend/src/utils/download.js +++ b/backend/src/utils/download.js @@ -129,7 +129,12 @@ export default async function download(rawUrl, ua, timeout, proxy) { if ($arguments?.validCheck) { await validCheck( parseFlowHeaders( - await getFlowHeaders(url, undefined, undefined, proxy), + await getFlowHeaders( + url, + $arguments.flowUserAgent, + undefined, + proxy, + ), ), ); } diff --git a/backend/src/utils/flow.js b/backend/src/utils/flow.js index a2d5e1b..9e2b7cf 100644 --- a/backend/src/utils/flow.js +++ b/backend/src/utils/flow.js @@ -49,7 +49,11 @@ export async function getFlowHeaders(rawUrl, ua, timeout, proxy) { const requestTimeout = timeout || defaultTimeout; const http = HTTP(); try { - // $.info(`使用 HEAD 方法获取流量信息: ${url}`); + $.info( + `使用 HEAD 方法获取流量信息: ${url}, User-Agent: ${ + userAgent || '' + }`, + ); const { headers } = await http.head({ url: url .split(/[\r\n]+/) @@ -76,11 +80,17 @@ export async function getFlowHeaders(rawUrl, ua, timeout, proxy) { flowInfo = getFlowField(headers); } catch (e) { $.error( - `使用 HEAD 方法获取流量信息失败: ${url}: ${e.message ?? e}`, + `使用 HEAD 方法获取流量信息失败: ${url}, User-Agent: ${ + userAgent || '' + }: ${e.message ?? e}`, ); } if (!flowInfo) { - $.info(`使用 GET 方法获取流量信息: ${url}`); + $.info( + `使用 GET 方法获取流量信息: ${url}, User-Agent: ${ + userAgent || '' + }`, + ); const { headers } = await http.get({ url: url .split(/[\r\n]+/)