diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index 128aada..2845cb1 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-08-29 21:45⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-08-29 22:25⟧ ---------------------------------------------------------- 🛠 发现 𝐁𝐔𝐆 请反馈: @ShawnKOP_bot ⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API @@ -282,7 +282,7 @@ function ResourceParse() { //开始处理 if (flag == 1) { //server 类型统一处理 - total = total.filter(Boolean) + total = isQuanX(total.filter(Boolean).join("\n")) if (Pinfo == 1 && ntf_flow == 0) { //假节点类型的流量通知 flowcheck(total) } @@ -1563,20 +1563,15 @@ function QXFix(cntf) { return cnti } -// 用于过滤非节点部分(比如整份配置中其它内容),同时纠正部分不规范的写法(没有把 tag 写在最后) -function isQuanX(content) { - var cnts = content.split("\n"); - var nlist = [] - for (var i = 0; i < cnts.length; i++) { - var cnti = cnts[i]; - if (cnti.indexOf("=") != -1 && cnti.indexOf("tag") != -1) { - var cnt = cnti.split("=")[0].trim() - if (cnt == "http" || cnt == "shadowsocks" || cnt == "trojan" || cnt == "vmess") { - nlist.push(QXFix(cnti)) - } - } - } - return nlist +// 纠正部分不规范的写法(没有把 tag 写在最后) +function QXFix(cntf) { + //console.log("hh"+cntf) + var cnti = cntf.replace(/tag\s+\=/,"tag=").replace("chacha20-poly","chacha20-ietf-poly") + var hd = cnti.split("tag=")[0] + var tag = "tag="+cnti.split("tag=")[1].split(",")[0] + var tail = cnti.split(tag+",") + cnti = tail.length<=1? cntf : String(hd + tail[1].split("\r")[0] +"," + tag) + return cnti } //surge script/rewrite - > quanx