diff --git a/backend/package.json b/backend/package.json index 2bf9d2e..575558e 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.149", + "version": "2.14.150", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/core/proxy-utils/processors/index.js b/backend/src/core/proxy-utils/processors/index.js index ee04aac..edbc0b8 100644 --- a/backend/src/core/proxy-utils/processors/index.js +++ b/backend/src/core/proxy-utils/processors/index.js @@ -319,10 +319,10 @@ function ScriptOperator(script, targetPlatform, $arguments, source) { const operator = createDynamicFunction( 'operator', `async function operator(input = []) { - let proxies if (Array.isArray(input)) { + let proxies = input let list = [] - for await (let $server of input) { + for await (let $server of proxies) { ${script} list.push($server) } @@ -622,10 +622,16 @@ function ScriptFilter(script, targetPlatform, $arguments, source) { await (async function () { const filter = createDynamicFunction( 'filter', - `async function filter(proxies = []) { - return proxies.filter(($server = {}) => { - ${script} - }) + `async function filter(input = []) { + let proxies = input + let list = [] + const fn = async ($server) => { + ${script} + } + for await (let $server of proxies) { + list.push(await fn($server)) + } + return list }`, $arguments, );