From ac7ca67cefd4dfcc0c924ea2558f37bdba3d06a6 Mon Sep 17 00:00:00 2001 From: Shawn <45581750+KOP-XIAO@users.noreply.github.com> Date: Mon, 22 Nov 2021 14:15:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=B1=BB=E5=9E=8B=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Scripts/resource-parser.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index 68523d7..a292ebb 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-11-14 10:15⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-11-22 13:15⟧ ---------------------------------------------------------- 🛠 发现 𝐁𝐔𝐆 请反馈: @ShawnKOP_bot ⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API @@ -417,7 +417,7 @@ function Type_Check(subs) { var QuanXK = ["shadowsocks=", "trojan=", "vmess=", "http="]; var SurgeK = ["=ss,", "=vmess,", "=trojan,", "=http,", "=custom,", "=https,", "=shadowsocks", "=shadowsocksr"]; var ClashK = ["proxies:"] - var SubK = ["dm1lc3M", "c3NyOi8v", "CnNzOi8", "dHJvamFu", "c3M6Ly", "c3NkOi8v", "c2hhZG93",,"aHR0c"]; + var SubK = ["dm1lc3M", "c3NyOi8v", "CnNzOi8", "dHJvamFu", "c3M6Ly", "c3NkOi8v", "c2hhZG93",,"aHR0c", "CnRyb2phbjo"]; var RewriteK = [" url "] var SubK2 = ["ss://", "vmess://", "ssr://", "trojan://", "ssd://", "https://"]; var ModuleK = ["[Script]", "[Rule]", "[URL Rewrite]", "[Map Local]", "[MITM]", "\nhttp-r"] @@ -425,6 +425,7 @@ function Type_Check(subs) { var subi = subs.replace(/ /g, "") const RuleCheck = (item) => subi.toLowerCase().indexOf(item) != -1; const NodeCheck = (item) => subi.toLowerCase().indexOf(item.toLowerCase()) != -1; + const NodeCheck1 = (item) => subi.toLowerCase().indexOf(item.toLowerCase()) != -1; //b64加密的订阅类型 const RewriteCheck = (item) => subs.indexOf(item) != -1; var subsn = subs.split("\n") if (subs.indexOf(html) != -1 && link0.indexOf("github.com" == -1)) { @@ -444,10 +445,10 @@ function Type_Check(subs) { } else if ((DomainK.some(RuleCheck) || typeU == "domain-set") && subs.indexOf("[Proxy]") == -1 && typeU != "nodes") { type = (typeQ == "unsupported" || typeQ =="filter")? "Rule":"wrong-field"; content0 = Domain2Rule(content0) // 转换 domain-set + } else if (typeQ == "filter") { // 纯 list类型? + type = "Rule" } else if (subsn.length >= 1 && SubK2.some(NodeCheck) && !/\[(Proxy|filter_local)\]/.test(subs)) { //未b64加密的多行URI 组合订阅 type = (typeQ == "unsupported" || typeQ =="server"||typeQ =="uri") ? "Subs":"wrong-field" - } else if (SubK.some(NodeCheck)) { //b64加密的订阅类型 - type = (typeQ == "unsupported" || typeQ =="server")? "Subs-B64Encode":"wrong-field" } else if ((subi.indexOf("tag=") != -1 && QuanXK.some(NodeCheck) && !/\[(Proxy|filter_local)\]/.test(subs)) || typeU =="list") { type = (typeQ == "unsupported" || typeQ =="server")? "Subs":"wrong-field" // QuanX list } else if (subs.indexOf("[Proxy]") != -1) { @@ -462,6 +463,8 @@ function Type_Check(subs) { //type = "QuanX" type = (typeQ == "unsupported" || typeQ =="server")? "Subs":"wrong-field" content0 = SIP2QuanX(content0) + } else if (SubK.some(NodeCheck1)) { //b64加密的订阅类型 + type = (typeQ == "unsupported" || typeQ =="server")? "Subs-B64Encode":"wrong-field" } // 用于通知判断类型,debug if(typeU == "X"){ @@ -2169,7 +2172,7 @@ function LoonSSR2QX(cnt) { function YAMLFix(cnt){ cnt = cnt.replace(/\[/g,"yaml@bug1") if (cnt.indexOf("{") != -1){ - cnt = cnt.replace(/(^|\n)- /g, "$1 - ").replace(/ - /g," - ").replace(/:(?!\s)/g,": ").replace(/\,\"/g,", \"").replace(/: {/g, ": {, ").replace(/, (Host|host|path|tls|mux|skip)/g,", $1") + cnt = cnt.replace(/(^|\n)- /g, "$1 - ").replace(/ - /g," - ").replace(/:(?!\s)/g,": ").replace(/\,\"/g,", \"").replace(/: {/g, ": {, ").replace(/, (Host|host|path|tls|mux|skip)/g,", $1") //console.log(cnt) cnt = cnt.replace(/{\s*name: /g,"{name: \"").replace(/, server:/g,"\", server:") cnt = cnt.replace(/{|}/g,"").replace(/,/g,"\n ")