From e0d447afe074d97f3d85fe24cd075f3288da7cd9 Mon Sep 17 00:00:00 2001 From: Shawn <45581750+KOP-XIAO@users.noreply.github.com> Date: Wed, 13 May 2020 12:21:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=20info=20=E4=B8=BA=E6=B5=81?= =?UTF-8?q?=E9=87=8F=E6=98=BE=E7=A4=BA=E5=8F=82=E6=95=B0=E3=80=82=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=99=A8=E9=80=9A=E7=9F=A5=E5=8F=82=E6=95=B0=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=20ntf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 12292 -> 12292 bytes Scripts/resource-parser.js | 36 +++++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/.DS_Store b/.DS_Store index d707d308597203ebd35b7feb694c7b509317a08d..eec05cba6ae0eb1b4a2a586277243780be4a4b08 100644 GIT binary patch delta 876 zcma)(OGs2v9LE1&O?vM|$1_e|M{;y<9MYQ1(aA?XQz;@%DNV&vXPjH!9LMsGuS^C) zA~GttC=|V+hXfI6t!hz0v}%*|+C)*C7C{kMxu`QURHPnQdF(F<~mQw^~7g`3q>iz*WI5HPjrBpdhWVeN#K3-ba=Tmp9 ziZ9~Gsd9!Ow1xHReudvrS#roLMdlG2HNHZ$#VW}uGEHpkQ3H#mYbBS!d}5Q|<5m1~ ztUf&6EfolCi`YD<^lNHgAUdO1DiKU@iY;Azy}e2xs72*+xl&+{h4%39T8|d2-=_rr ztW~2g#H%-eKnFVEMHhMy!~ljdf5++DKht;yluQVulg<>gCOwv4ljRu&dX5;JhP+zmG_E#r0!$0*FDBwJ*u zN~+OsnB?UaRz5`W#)(Fn=vlD^RM5} L7_z>^{-yi`0>;z! delta 388 zcmZokXi3;GL72(RWb%A6s0L-wEifNRXUkN(#tP9Lf$F3}68A>f{Hk8oX;5HZkmBIL>f_;WWdU$)apslb4Da zZ8j4qVC0t+mk@Js5S9GEQQg%s7Q{F5{xj|0RC%@o;higW(D= Q#3ZFuH?wGbVMh@G0QGxlMF0Q* diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index 5058691..5912c64 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1,5 +1,5 @@ /** -# Quantumult X 资源解析器 (2020-05-12: 23:59 ) +# Quantumult X 资源解析器 (2020-05-13: 12:59 ) 本资源解析器作者: Shawn(请勿私聊问怎么用),有bug请反馈: @Shawn_KOP_bot 更新请关注tg频道: https://t.me/QuanX_API @@ -18,13 +18,14 @@ - rename 重命名, rename=旧名@新名, 以及 "前缀@", "@后缀", 用 "+" 连接, 如 "rename=香港@HK+[SS]@+@[1X]"; - cert=0,跳过证书验证(vmess/trojan),即强制"tls-verification=false"; - tls13=1, 开启 "tls13=true"(vmess/trojan), 请自行确认服务端是否支持; -- sort=1 或 sort=-1, 排序参数,分别根据节点名 正序/逆序 排列 +- sort=1 或 sort=-1, 排序参数,分别根据节点名 正序/逆序 排列; +- info=1, 开启通知提示流量信息(前提:原订阅链接有返回该信息),默认关闭 2⃣️ "rewrite(重写)/filter(分流)"引用--参数说明: - 参数为 "out=xxx", 多个参数用 "+" 连接; - 分流规则额外支持 "policy=xx" 参数, 可用于直接指定策略组,或者为 Surge 格式的 rule-set 生成策略组(默认"Shawn"策略组) -3⃣️ 通用参数: info=1, 用于打开资源解析器的提示通知 (默认关闭), +3⃣️ 通用参数: ntf=1, 用于打开资源解析器的提示通知 (默认关闭), - rewrite/filter 类型则会强制在有 out 参数时开启通知提示被删除(禁用)的内容,以防止规则误删除 */ @@ -56,8 +57,29 @@ var Ppolicy=para.indexOf("policy=")!=-1? para.split("#")[1].split("policy=")[1]. var Pcert0=para.indexOf("cert=")!=-1? para.split("#")[1].split("cert=")[1].split("&")[0].split("+"):1; var Psort0=para.indexOf("sort=")!=-1? para.split("#")[1].split("sort=")[1].split("&")[0].split("+"):0; var PTls13=para.indexOf("tls13=")!=-1? para.split("#")[1].split("tls13=")[1].split("&")[0].split("+"):0; +var Pntf0= para.indexOf("ntf=")!=-1? para.split("#")[1].split("ntf=")[1].split("&")[0].split("+"):0; //$notify(type0) +//响应头流量处理部分 +var subinfo=$resource.info; +var subtag=$resource.tag; +if(Pinfo==1 && subinfo){ + var sinfo=subinfo.replace(/ /g,"").toLowerCase(); + var total="总流量: "+(parseFloat(sinfo.split("total=")[1].split(",")[0])/(1024**3)).toFixed(2)+"GB, "; + var usd="已用流量: "+((parseFloat(sinfo.split("upload=")[1].split(",")[0])+parseFloat(sinfo.split("download=")[1].split(",")[0]))/(1024**3)).toFixed(2)+"GB" + if(sinfo.indexOf("expire=")!=-1){ + var epr= new Date(parseFloat(sinfo.split("expire=")[1].split(",")[0])*1000); + var year=epr.getFullYear(); // 获取完整的年份(4位,1970) + var mth=epr.getMonth()+1 < 10 ? '0'+(epr.getMonth()+1):(epr.getMonth()+1); // 获取月份(0-11,0代表1月,用的时候记得加上1) + var day=epr.getDate()<10 ? "0"+(epr.getDate()):epr.getDate(); + epr=year+"-"+mth+"-"+day + } else{ + epr="" + } + var message=total+usd; + $notify("流量信息: "+subtag,"过期时间: "+epr, message) +} + if(type0=="Vmess"){ total=V2QX(content0,Pudp0,Ptfo0,Pcert0,PTls13); flag=1; @@ -95,20 +117,20 @@ if(flag==3){ $done({content:total.join("\n")}); }else if(flag==1){ if(Pin0||Pout0){ - if(Pinfo!=0){ + if(Pntf0!=0){ $notify("👥 开始转换节点,类型:"+type0,"🐶 您已添加节点筛选参数,如下","👍️ 保留的关键字:"+Pin0+"\n👎️ 排除的关键字:"+Pout0);} total=filter(total,Pin0,Pout0) } else { - if(Pinfo!=0){ + if(Pntf0!=0){ $notify("🐷 开始转换节点,类型:"+type0,"🐼️ 如需筛选节点请使用in/out及其他参数,可参考此示范:","👉 https://t.me/QuanXNews/110");} } if(Pemoji){ - if(Pinfo!=0){ + if(Pntf0!=0){ $notify("🏳️‍🌈 开始更改旗帜 emoji","清除emoji请用参数 -1, 国行设备添加emoji请使用参数 2","你当前所用的参数为 emoji="+Pemoji)}; total=emoji_handle(total,Pemoji); } if(Prname){ - if(Pinfo!=0){ + if(Pntf0!=0){ $notify("🏳️‍🌈 开始节点重命名","格式为 \"旧名字@新名字\"","你当前所用的参数为"+Prname);} var Prn=Prname; total=total.map(Rename);