Skip to content

Commit 6d43961

Browse files
committed
feat: Node.js 支持使用环境变量 SUB_STORE_BACKEND_DEFAULT_PROXY 设置默认代理; ProxyUtils 增加 download 方法
1 parent f3200ae commit 6d43961

File tree

6 files changed

+18
-5
lines changed

6 files changed

+18
-5
lines changed

backend/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sub-store",
3-
"version": "2.14.388",
3+
"version": "2.14.389",
44
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.",
55
"main": "src/main.js",
66
"scripts": {

backend/src/core/proxy-utils/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ export const ProxyUtils = {
292292
getISO,
293293
MMDB,
294294
Gist,
295+
download,
295296
};
296297

297298
function tryParse(parser, line) {

backend/src/utils/download.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ export default async function download(
4545
const { isNode, isStash, isLoon, isShadowRocket, isQX } = ENV();
4646
const { defaultProxy, defaultUserAgent, defaultTimeout, cacheThreshold } =
4747
$.read(SETTINGS_KEY);
48-
const proxy = customProxy || defaultProxy;
48+
let proxy = customProxy || defaultProxy;
49+
if ($.env.isNode) {
50+
proxy = proxy || eval('process.env.SUB_STORE_BACKEND_DEFAULT_PROXY');
51+
}
4952
const userAgent = ua || defaultUserAgent || 'clash.meta';
5053
const requestTimeout = timeout || defaultTimeout;
5154
const id = hex_md5(userAgent + url);

backend/src/utils/flow.js

+5-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ export async function getFlowHeaders(
4949
} else {
5050
const { defaultProxy, defaultFlowUserAgent, defaultTimeout } =
5151
$.read(SETTINGS_KEY);
52-
const proxy = customProxy || defaultProxy;
52+
let proxy = customProxy || defaultProxy;
53+
if ($.env.isNode) {
54+
proxy =
55+
proxy || eval('process.env.SUB_STORE_BACKEND_DEFAULT_PROXY');
56+
}
5357
const userAgent =
5458
ua ||
5559
defaultFlowUserAgent ||

backend/src/utils/gist.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,12 @@ import { SETTINGS_KEY } from '@/constants';
99
export default class Gist {
1010
constructor({ token, key, syncPlatform }) {
1111
const { isStash, isLoon, isShadowRocket, isQX } = ENV();
12-
const { defaultProxy: proxy, defaultTimeout: timeout } =
13-
$.read(SETTINGS_KEY);
12+
const { defaultProxy, defaultTimeout: timeout } = $.read(SETTINGS_KEY);
13+
let proxy = defaultProxy;
14+
if ($.env.isNode) {
15+
proxy =
16+
proxy || eval('process.env.SUB_STORE_BACKEND_DEFAULT_PROXY');
17+
}
1418

1519
if (syncPlatform === 'gitlab') {
1620
this.headers = {

scripts/demo.js

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ function operator(proxies = [], targetPlatform, context) {
6666
// removeFlag, // 移除 emoji 旗帜
6767
// getISO, // 获取 ISO 3166-1 alpha-2 代码
6868
// Gist, // Gist 类
69+
// download, // 内部的下载方法, 见 backend/src/utils/download.js
6970
// }
7071

7172
// 如果只是为了快速修改或者筛选 可以参考 脚本操作支持节点快捷脚本 https://t.me/zhetengsha/970 和 脚本筛选支持节点快捷脚本 https://t.me/zhetengsha/1009

0 commit comments

Comments
 (0)