From 917db5d3e48f10688116b76f95817a7b3982e62c Mon Sep 17 00:00:00 2001 From: Shawn <45581750+KOP-XIAO@users.noreply.github.com> Date: Mon, 3 Apr 2023 14:00:36 +0800 Subject: [PATCH] Update resource-parser.js --- Scripts/resource-parser.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index 7b85d4f..69d8108 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2023-03-30 19:00⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2023-04-03 14:00⟧ ---------------------------------------------------------- 🛠 发现 𝐁𝐔𝐆 请反馈: https://t.me/Shawn_Parser_Bot ⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API @@ -1058,6 +1058,8 @@ function SCP2QX(subs) { //$notify("Script","",subs) for (var i = 0; i < subs.length; i++) { try { + //$notify(i,"",subs[i]) + subs[i] = subs[i].replace("^http","http") // 去掉 ^ , 以方便去重 if (subs[i].slice(0, 8) == "hostname") { hn = subs[i].replace(/\%.*\%/g, "").replace(/\:\d*/g,"") nrw.push(hn) @@ -1113,6 +1115,9 @@ function SCP2QX(subs) { } else if(subs[i].indexOf(" - reject") != -1 ) { //shadowrocket reject rw = subs[i].replace(" - ", " url ") nrw.push(rw) + } else if(/\s(reject)$/.test(subs[i])){ // loon 类型? http://xxx/yyy reject + rw = subs[i].replace(" reject", " url reject") + nrw.push(rw) } else if (subs[i].indexOf("script-path") != -1) { //surge js 旧写法 type = subs[i].replace(/\s+/g," ").split(" ")[0] js = subs[i].split("script-path")[1].split("=")[1].split(",")[0] @@ -2194,7 +2199,7 @@ function isQuanXRewrite(content) { if (cnti.indexOf("pattern")!=-1 && cnti.indexOf("type")!=-1 || cnti.indexOf("http-r")!=-1) { cnti=SGMD2QX(cnti)[0]? SGMD2QX(cnti)[0]:"" //console.log(cnti) - }else if ((cnti.indexOf(" 302")!=-1 || cnti.indexOf(" 307")!=-1) && cnti.indexOf(" url ")==-1){ + }else if ((cnti.indexOf(" 302")!=-1 || cnti.indexOf(" 307")!=-1 || (/\s(_|-)\sreject/.test(cnti)) || (/\sreject$/.test(cnti))) && cnti.indexOf(" url ")==-1 ){ cnti=SGMD2QX(cnti)[0]? SGMD2QX(cnti)[0]:"" //console.log("sss",cnti) }else if(cnti.indexOf(" data=")!=-1){ @@ -2803,7 +2808,7 @@ function yamlcheck(cnt){ } } - if (cnt.indexOf(":")!=-1) { + if (/(:|-)/.test(cnt)) { return cnt } }