diff --git a/backend/package.json b/backend/package.json index e3e06f8..d282207 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.388", + "version": "2.14.389", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/core/proxy-utils/index.js b/backend/src/core/proxy-utils/index.js index ce8155f..97405c5 100644 --- a/backend/src/core/proxy-utils/index.js +++ b/backend/src/core/proxy-utils/index.js @@ -292,6 +292,7 @@ export const ProxyUtils = { getISO, MMDB, Gist, + download, }; function tryParse(parser, line) { diff --git a/backend/src/utils/download.js b/backend/src/utils/download.js index 95b1eb5..685d255 100644 --- a/backend/src/utils/download.js +++ b/backend/src/utils/download.js @@ -45,7 +45,10 @@ export default async function download( const { isNode, isStash, isLoon, isShadowRocket, isQX } = ENV(); const { defaultProxy, defaultUserAgent, defaultTimeout, cacheThreshold } = $.read(SETTINGS_KEY); - const proxy = customProxy || defaultProxy; + let proxy = customProxy || defaultProxy; + if ($.env.isNode) { + proxy = proxy || eval('process.env.SUB_STORE_BACKEND_DEFAULT_PROXY'); + } const userAgent = ua || defaultUserAgent || 'clash.meta'; const requestTimeout = timeout || defaultTimeout; const id = hex_md5(userAgent + url); diff --git a/backend/src/utils/flow.js b/backend/src/utils/flow.js index 46c8f77..9e0296c 100644 --- a/backend/src/utils/flow.js +++ b/backend/src/utils/flow.js @@ -49,7 +49,11 @@ export async function getFlowHeaders( } else { const { defaultProxy, defaultFlowUserAgent, defaultTimeout } = $.read(SETTINGS_KEY); - const proxy = customProxy || defaultProxy; + let proxy = customProxy || defaultProxy; + if ($.env.isNode) { + proxy = + proxy || eval('process.env.SUB_STORE_BACKEND_DEFAULT_PROXY'); + } const userAgent = ua || defaultFlowUserAgent || diff --git a/backend/src/utils/gist.js b/backend/src/utils/gist.js index 317603e..3157b62 100644 --- a/backend/src/utils/gist.js +++ b/backend/src/utils/gist.js @@ -9,8 +9,12 @@ import { SETTINGS_KEY } from '@/constants'; export default class Gist { constructor({ token, key, syncPlatform }) { const { isStash, isLoon, isShadowRocket, isQX } = ENV(); - const { defaultProxy: proxy, defaultTimeout: timeout } = - $.read(SETTINGS_KEY); + const { defaultProxy, defaultTimeout: timeout } = $.read(SETTINGS_KEY); + let proxy = defaultProxy; + if ($.env.isNode) { + proxy = + proxy || eval('process.env.SUB_STORE_BACKEND_DEFAULT_PROXY'); + } if (syncPlatform === 'gitlab') { this.headers = { diff --git a/scripts/demo.js b/scripts/demo.js index 57e7dad..4326e54 100644 --- a/scripts/demo.js +++ b/scripts/demo.js @@ -66,6 +66,7 @@ function operator(proxies = [], targetPlatform, context) { // removeFlag, // 移除 emoji 旗帜 // getISO, // 获取 ISO 3166-1 alpha-2 代码 // Gist, // Gist 类 + // download, // 内部的下载方法, 见 backend/src/utils/download.js // } // 如果只是为了快速修改或者筛选 可以参考 脚本操作支持节点快捷脚本 https://t.me/zhetengsha/970 和 脚本筛选支持节点快捷脚本 https://t.me/zhetengsha/1009