diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index 898dad2..9542994 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-06 00:39⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-07 10:39⟧ ---------------------------------------------------------- 🚫 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot ⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API @@ -70,9 +70,12 @@ PS. 隐藏参数 ntf=0/1, 用于关闭/打开资源解析器的提示通知 ------------------------------ */ -//$notify("test",$resource.link) + var content0=$resource.content; var link0=$resource.link; +//const $notify=console.log +//const $resource={} +//const $done=function(snt){return snt} var para=(link0.indexOf("http")!=-1 && link0.indexOf("://")!=-1)? link0:link0+content0.split("\n")[0]; var mark0=para.indexOf("#")!=-1? true:false; var type0=Type_Check(content0); @@ -81,10 +84,8 @@ var Pin0=mark0 && para1.indexOf("in=")!=-1? (para1.split("in=")[1].split("&")[0] var Pout0=mark0 && para1.indexOf("out=")!=-1? (para1.split("out=")[1].split("&")[0].split("+")).map(decodeURIComponent):null; var Preg=mark0 && para1.indexOf("regex=")!=-1? decodeURIComponent(para1.split("regex=")[1].split("&")[0]):null; //server正则过滤参数 var Pregdel=mark0 && para1.indexOf("delreg=")!=-1? decodeURIComponent(para1.split("delreg=")[1].split("&")[0]):null; // 正则删除参数 -//$notify(link0,"type0",type0) var Phin0=mark0 && para1.indexOf("inhn=")!=-1? (para1.split("inhn=")[1].split("&")[0].split("+")).map(decodeURIComponent):null; //hostname var Phout0=mark0 && para1.indexOf("outhn=")!=-1? (para1.split("outhn=")[1].split("&")[0].split("+")).map(decodeURIComponent):null; //hostname -//$notify(link0,"type1",para) var Pemoji=mark0 && para1.indexOf("emoji=")!=-1? para1.split("emoji=")[1].split("&")[0]:null; var Pudp0=mark0 && para1.indexOf("udp=")!=-1? para1.split("udp=")[1].split("&")[0]:0; var Ptfo0=mark0 && para1.indexOf("tfo=")!=-1? para1.split("tfo=")[1].split("&")[0]:0; @@ -113,15 +114,11 @@ const qxpng="https://raw.githubusercontent.com/crossutility/Quantumult-X/master/ var subinfo_link = {"open-url": "https://t.me/QuanX_API", "media-url" :"https://shrtm.nu/ebAr"}; var rwrite_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/x3o2"} var rwhost_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/0n5J"} -var rule_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/tIHl"} +var rule_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/cpHD"} var nan_link={"open-url":link0.split("#")[0], "media-url": qxpng} var sub_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/ebAr"} var subinfo_link1={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/uo13"} - - -//$notify(link0,type0,content0) - //响应头流量处理部分 if(Pinfo==1 && subinfo){ var sinfo=subinfo.replace(/ /g,"").toLowerCase(); @@ -218,6 +215,7 @@ if(flag==3){ } total=TagCheck_QX(total) total=total.join("\n"); + //$notify(total) if(flag==1){ total=Base64.encode(total)} //强制 base64 $done({content : total}); @@ -225,7 +223,7 @@ if(flag==3){ //flowcheck function flowcheck(cnt){ - for(i=0;i subi.indexOf(item)==0 if(noteK.some(notecheck)){ // 注释项跳过 - //console.log("notion") - //Nlist.push(subs[i]) continue; }else if(hnc==0 && subii.indexOf("hostname=")==0){ //host name 部分 //console.log("hostname"); @@ -413,7 +407,7 @@ function HostNamecheck(content,parain,paraout){ var hname=content.replace(/ /g,"").split("=")[1].split(","); var nname=[]; var dname=[]; //删除项 - for(i=0;i dd.indexOf(item)!=-1; if(paraout && paraout!=""){ //存在 out 参数时 @@ -569,7 +563,7 @@ function SubsEd2QX(subs,Pudp,Ptfo,Pcert,Ptls13){ var QuanXK=["shadowsocks=","trojan=","vmess=","http="]; var SurgeK=["=ss","=vmess","=trojan","=http","=custom"]; var QXlist=[]; - for(i=0;i3){ var type=list0[i].split("://")[0].trim() @@ -597,7 +591,7 @@ function SubsEd2QX(subs,Pudp,Ptfo,Pcert,Ptls13){ node = list0[i] }else if(SurgeK.some(SurgeCheck)){ node = Surge2QX(list0[i]) - } + }else{} //$notify("Final","results",node) if(node!=""){ QXlist.push(node)} @@ -610,10 +604,11 @@ function SubsEd2QX(subs,Pudp,Ptfo,Pcert,Ptls13){ function Subs2QX(subs,Pudp,Ptfo,Pcert,Ptls13){ //$notify("start","cnt",subs) var list0=subs.split("\n"); + //$notify(list0,list0.length) var QuanXK=["shadowsocks=","trojan=","vmess=","http="]; var SurgeK=["=ss","=vmess","=trojan","=http"]; var QXlist=[]; - for(i=0;i3){ var type=list0[i].split("://")[0].trim() @@ -639,10 +634,12 @@ function Subs2QX(subs,Pudp,Ptfo,Pcert,Ptls13){ }else if(type=="https"){ node = HPS2QX(list0[i],Ptfo,Pcert,Ptls13) }else if(QuanXK.some(QuanXCheck)){ + //$notify("QX") node = list0[i] }else if(SurgeK.some(SurgeCheck)){ + //$notify("surge") node = Surge2QX(list0[i]) - } + }else {} if (node instanceof Array){ for (var j in node) { QXlist.push(node[j]) @@ -664,7 +661,7 @@ function TagCheck_QX(content){ var nulllist=[]; //记录空名字节点 var duplist=[]; //记录重名节点 var no=0; - for(i=0;i