From 4b19c31230725d8d4446843331be66eb2dba9766 Mon Sep 17 00:00:00 2001 From: Shawn <45581750+KOP-XIAO@users.noreply.github.com> Date: Fri, 19 Jun 2020 11:23:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=89=B9=E6=AE=8A=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E5=A4=84=E7=90=86=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Scripts/resource-parser.js | 43 ++++++++++---------------------------- 1 file changed, 11 insertions(+), 32 deletions(-) diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index f8c260f..fe97286 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-06-19 11:59⟧ +☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-06-19 12:59⟧ ---------------------------------------------------------- 🚫 发现𝐁𝐔𝐆请反馈: @Shawn_KOP_bot ⛳️ 关注🆃🅶相关频道: https://t.me/QuanX_API @@ -24,11 +24,11 @@ B. rewrite(重写) /filter(分流) 的转换&筛选 ⦿ udp=1, tfo=1, tls13=1, 分别开启 udp-relay/fast-open/tls1.3; ⦿ cert=0, 强制"tls-verification=false" 跳过证书验证; ⦿ in, out, 分别为 保留/删除 节点, 多参数用 "+" 连接(逻辑"或"), 逻辑"与"用 "." 连接; - ♦︎ 直接用中文, 空格用 "%20" 代替, "&" 用 "%26" 替代 + ♦︎ 可直接用中文, 特殊字符请 urlencode 替代,如 + ❖ "@"☞"%40", "+"☞"%2B",空格☞ "%20", "&"☞"%26" ♦︎ 如 "in=香港.IPLC.04+台湾&out=香港%20BGP" ⦿ rename 重命名、删除字段, "旧名@新名", "删除字段1.删除字段2☠️", 以及 "前缀@", "@后缀",用 "+" 连接多个参数; ♦︎ 如 "rename=香港@HK+[SS]@+@[1X]+倍率☠️" - ♦︎ rename=@ 可用于删除 “@” 符号本身 ⦿ sort=1, -1, 排序参数, 分别根据节点名 正序/逆序 排列; 2⃣️ ⟦rewrite 重写⟧/⟦filter 分流⟧ ➠ 参数说明: @@ -65,14 +65,14 @@ var type0=Type_Check(content0); //$notify(link0,"type",para) para1=para.slice(para.indexOf("#")+1) //防止参数中其它位置也存在"#" //$notify("para1","ss",para1) -var Pin0=mark0 && para.indexOf("in=")!=-1? decodeURIComponent(para1.split("in=")[1].split("&")[0]).split("+"):null; -var Pout0=mark0 && para.indexOf("out=")!=-1? decodeURIComponent(para1.split("out=")[1].split("&")[0]).split("+"):null; +var Pin0=mark0 && para.indexOf("in=")!=-1? para1.split("in=")[1].split("&")[0].split("+"):null; +var Pout0=mark0 && para.indexOf("out=")!=-1? para1.split("out=")[1].split("&")[0].split("+"):null; var Pemoji=mark0 && para.indexOf("emoji=")!=-1? para1.split("emoji=")[1].split("&")[0].split("+"):null; var Pudp0=mark0 && para.indexOf("udp=")!=-1? para1.split("udp=")[1].split("&")[0].split("+"):0; var Ptfo0=mark0 && para.indexOf("tfo=")!=-1? para1.split("tfo=")[1].split("&")[0].split("+"):0; var Pinfo=mark0 && para.indexOf("info=")!=-1? para1.split("info=")[1].split("&")[0].split("+"):0; -var Prname=mark0 && para.indexOf("rename=")!=-1? decodeURIComponent(para1.split("rename=")[1].split("&")[0]).split("+"):null; -var Prrname=mark0 && para.indexOf("rrname=")!=-1? decodeURIComponent(para1.split("rrname=")[1].split("&")[0]).split("+"):null; +var Prname=mark0 && para.indexOf("rename=")!=-1? para1.split("rename=")[1].split("&")[0].split("+"):null; +var Prrname=mark0 && para.indexOf("rrname=")!=-1? para1.split("rrname=")[1].split("&")[0].split("+"):null; var Ppolicy=mark0 && para.indexOf("policy=")!=-1? para1.split("policy=")[1].split("&")[0].split("+"):"Shawn"; var Pcert0=mark0 && para.indexOf("cert=")!=-1? para1.split("cert=")[1].split("&")[0].split("+"):1; var Psort0=mark0 && para.indexOf("sort=")!=-1? para1.split("sort=")[1].split("&")[0].split("+"):0; @@ -610,29 +610,6 @@ function Pobfs(jsonl,Pcert,Ptls13){ } } -////节点过滤,使用+连接多个关键词:in 为保留,out 为排除 -//function filter(Servers,Pin,Pout){ -// var NList=[]; -// for(var i=0;i name.indexOf(item.toUpperCase()) != -1; -// const exclude = (item) => name.indexOf(item.toUpperCase()) != -1; -// if(Pin){ -// if(Pin.some(include)&&Pout){ -// if(!Pout.some(exclude)){ -// NList.push(Servers[i]) -// } -// } else if(Pin.some(include)&&!Pout) {NList.push(Servers[i])} -// } else{ -// if(!Pout.some(exclude)){ -// NList.push(Servers[i]) -// } -// } -// } -// } -// return NList -//} // 判断节点过滤的函数 function Scheck(content,param){ @@ -655,6 +632,8 @@ function Scheck(content,param){ //节点过滤,使用+连接多个关键词(逻辑"或"):in 为保留,out 为排除, "与"逻辑请用符号"."连接 function filter(servers,Pin,Pout){ var Nlist=[]; + Pin=decodeURIComponent(Pin) // urldecode + Pout=decodeURIComponent(Pout) // urldecode for(var i=0;i