diff --git a/backend/package.json b/backend/package.json index af7d797..a0a95ea 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.19.10", + "version": "2.19.11", "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 5c26da0..b2cd9f2 100644 --- a/backend/src/core/proxy-utils/processors/index.js +++ b/backend/src/core/proxy-utils/processors/index.js @@ -284,7 +284,7 @@ function SortOperator(order = 'asc') { } // sort by regex -function RegexSortOperator(expressions) { +function RegexSortOperator(expressions, order = 'asc') { return { name: 'Regex Sort Operator', func: (proxies) => { @@ -295,8 +295,13 @@ function RegexSortOperator(expressions) { if (oA && !oB) return -1; if (oB && !oA) return 1; if (oA && oB) return oA < oB ? -1 : 1; - if ((!oA && !oB) || (oA && oB && oA === oB)) - return a.name < b.name ? -1 : 1; // fallback to normal sort + if (order === 'original') { + return 0; + } else if (order === 'desc') { + return a.name < b.name ? 1 : -1; + } else { + return a.name < b.name ? -1 : 1; + } }); }, };