From 0b424ee78626a16845c76184f72d6134b71a6af3 Mon Sep 17 00:00:00 2001 From: Shawn <45581750+KOP-XIAO@users.noreply.github.com> Date: Fri, 22 Oct 2021 15:29:27 +0800 Subject: [PATCH] minor bug fixed --- Scripts/resource-parser.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index d2a80d0..cd33408 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-10-19 17:05⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-10-22 17:05⟧ ---------------------------------------------------------- 🛠 发现 𝐁𝐔𝐆 请反馈: @ShawnKOP_bot ⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API @@ -172,6 +172,8 @@ var Pdel = mark0 && para1.indexOf("del=") != -1 ? para1.split("del=")[1].split(" var typeU = para1.indexOf("type=") != -1 ? para1.split("type=")[1].split("&")[0] : ""; var Pfcr = para1.indexOf("fcr=") != -1 ? para1.split("fcr=")[1].split("&")[0] : ""; // force-cellular 参数 +var typeQ = $resource.type //返回 field 类型参数 + //花漾字 pattern var pat=[] pat[0] = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","k","r","s","t","u","v","w","x","y","z"] @@ -926,9 +928,9 @@ function Rule_Handle(subs, Pout, Pin) { for (var i = 0; i < cnt.length; i++) { cc = cnt[i].replace(/^\s*\-\s/g,"").trim() const exclude = (item) => cc.indexOf(item) != -1; // 删除项 - const RuleCheck = (item) => cc.indexOf(item) != -1; //无视注释行 - if (Tout.some(exclude) && !RuleK.some(RuleCheck)) { - dlist.push(Rule_Policy("-" + cc)) + const RuleCheck = (item) => cc.toLowerCase().indexOf(item) != -1; //无视注释行 + if (Tout.some(exclude) && !RuleK.some(RuleCheck) && RuleK2.some(RuleCheck)) { + dlist.push("-" + cc) } else if (!RuleK.some(RuleCheck) && cc) { //if Pout.some, 不操作注释项 dd = Rule_Policy(cc); if (Tin != "" && Tin != null) { @@ -994,11 +996,11 @@ function Rule_Handle(subs, Pout, Pin) { function Rule_Policy(content) { //增加、替换 policy var cnt = content.replace(/^\s*\-\s/g,"").replace(/REJECT-TINYGIF/gi,"reject").trim().split("//")[0].split(","); - var RuleK = ["//", "#", ";","[","/"]; + var RuleK = ["//", "#", ";","[","/", "hostname"]; var RuleK1 = ["host", "domain", "ip-cidr", "geoip", "user-agent", "ip6-cidr"]; const RuleCheck = (item) => cnt[0].trim().toLowerCase().indexOf(item) == 0; //无视注释行 - const RuleCheck1 = (item) => cnt[0].trim().toLowerCase().indexOf(item) == 0; //无视 quanx 不支持的规则类别 - if (RuleK1.some(RuleCheck1) && !RuleK.some(RuleCheck)) { + const RuleCheck1 = (item) => cnt[0].trim().toLowerCase().indexOf(item) == 0 ; //无视 quanx 不支持的规则类别&排除 hostname + if (RuleK1.some(RuleCheck1) && !RuleK.some(RuleCheck) ) { if (cnt.length == 3 && cnt.indexOf("no-resolve") == -1) { ply0 = Ppolicy != "Shawn" ? Ppolicy : cnt[2] nn = cnt[0] + ", " + cnt[1] + ", " + ply0