From ca0d800bbbd0e11881a53876974e0887037291ec Mon Sep 17 00:00:00 2001 From: xream Date: Fri, 19 Jan 2024 12:54:40 +0800 Subject: [PATCH] release: backend version 2.14.184 --- backend/package.json | 2 +- backend/src/restful/parser.js | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/backend/package.json b/backend/package.json index ab189dc..920f9cb 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.183", + "version": "2.14.184", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/restful/parser.js b/backend/src/restful/parser.js index fc8233e..d5b1888 100644 --- a/backend/src/restful/parser.js +++ b/backend/src/restful/parser.js @@ -6,6 +6,12 @@ export default function register($app) { $app.route('/api/proxy/parse').post(proxy_parser); $app.route('/api/rule/parse').post(rule_parser); } + +/*** + * 感谢 izhangxm 的 PR! + * 目前没有节点操作, 没有支持完整参数, 以后再完善一下 + */ + /*** * 代理服务器协议转换接口。 * 请求方法为POST,数据为json。需要提供data和client字段。 @@ -14,14 +20,15 @@ export default function register($app) { * */ function proxy_parser(req, res) { - const { data, client } = req.body; + const { data, client, content, platform } = req.body; var result = {}; try { - var proxies = ProxyUtils.parse(data); - var par_res = ProxyUtils.produce(proxies, client); + var proxies = ProxyUtils.parse(data ?? content); + var par_res = ProxyUtils.produce(proxies, client ?? platform); result['par_res'] = par_res; } catch (err) { failed(res, err); + return; } success(res, result); } @@ -32,14 +39,15 @@ function proxy_parser(req, res) { * client: string, 目标平台名称,具体见backend/src/core/rule-utils/producers.js */ function rule_parser(req, res) { - const { data, client } = req.body; + const { data, client, content, platform } = req.body; var result = {}; try { - const rules = RuleUtils.parse(data); - var par_res = RuleUtils.produce(rules, client); + const rules = RuleUtils.parse(data ?? content); + var par_res = RuleUtils.produce(rules, client ?? platform); result['par_res'] = par_res; } catch (err) { failed(res, err); + return; } success(res, result);