sub fixed

This commit is contained in:
Shawn
2020-07-08 14:00:19 +08:00
parent 38703323ac
commit b8a189ad4d

View File

@@ -1,5 +1,5 @@
/**
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-07 17:39⟧
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-08 14:39⟧
----------------------------------------------------------
🚫 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
@@ -74,14 +74,32 @@ PS. 隐藏参数 ntf=0/1, 用于关闭/打开资源解析器的提示通知
var content0=$resource.content;
var link0=$resource.link;
//debug
//const $notify=console.log
//const $resource={}
//const $done=function(snt){return snt}
const $notify=console.log
const $resource={}
const $done=function(snt){return snt}
//parameters
var para=(link0.indexOf("http")!=-1 && link0.indexOf("://")!=-1)? link0:link0+content0.split("\n")[0];
var para1=para.slice(para.indexOf("#")+1) //防止参数中其它位置也存在"#"
var mark0=para.indexOf("#")!=-1? true:false;
var type0=Type_Check(content0);
para1=para.slice(para.indexOf("#")+1) //防止参数中其它位置也存在"#"
const subinfo=$resource.info;
const subtag=$resource.tag!=undefined? $resource.tag:"";
var Pinfo=mark0 && para1.indexOf("info=")!=-1? para1.split("info=")[1].split("&")[0]:0;
var ntf_flow=0;
//常用量
const Base64=new Base64Code();
const escapeRegExp = str => str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); //处理特殊符号以便正则匹配使用
const qxpng="https://raw.githubusercontent.com/crossutility/Quantumult-X/master/quantumult-x.png"
const subinfo_link = {"open-url": "https://t.me/QuanX_API", "media-url" :"https://shrtm.nu/ebAr"};
const rwrite_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/x3o2"}
const rwhost_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/0n5J"}
const rule_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/cpHD"}
const nan_link={"open-url":link0.split("#")[0], "media-url": qxpng}
const sub_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/ebAr"}
const subinfo_link1={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/uo13"}
SubFlow() //流量通知
var type0=Type_Check(content0); // 类型
//$notify(type0)
var Pin0=mark0 && para1.indexOf("in=")!=-1? (para1.split("in=")[1].split("&")[0].split("+")).map(decodeURIComponent):null;
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正则过滤参数
@@ -91,7 +109,6 @@ var Phout0=mark0 && para1.indexOf("outhn=")!=-1? (para1.split("outhn=")[1].split
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;
var Pinfo=mark0 && para1.indexOf("info=")!=-1? para1.split("info=")[1].split("&")[0]:0;
var Prname=mark0 && para1.indexOf("rename=")!=-1? para1.split("rename=")[1].split("&")[0].split("+"):null;
var Prrname=mark0 && para1.indexOf("rrname=")!=-1? para1.split("rrname=")[1].split("&")[0].split("+"):null;
var Ppolicy=mark0 && para1.indexOf("policy=")!=-1? decodeURIComponent(para1.split("policy=")[1].split("&")[0]):"Shawn";
@@ -107,21 +124,9 @@ var pfihn=Phin0? "inhn="+Phin0.join(", ")+", ":""
var pfohn=Phout0? "outhn="+Phout0.join(", "):""
var flow="";
var exptime="";
var ntf_flow=0;
const subinfo=$resource.info;
const subtag=$resource.tag!=undefined? $resource.tag:"";
const Base64=new Base64Code();
const escapeRegExp = str => str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); //处理特殊符号以便正则匹配使用
const qxpng="https://raw.githubusercontent.com/crossutility/Quantumult-X/master/quantumult-x.png"
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/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"}
//响应头流量处理部分
function SubFlow(){
if(Pinfo==1 && subinfo){
var sinfo=subinfo.replace(/ /g,"").toLowerCase();
var total="总流量: "+(parseFloat(sinfo.split("total=")[1].split(",")[0])/(1024**3)).toFixed(2)+"GB";
@@ -140,6 +145,7 @@ if(Pinfo==1 && subinfo){
ntf_flow=1;
$notify("流量信息: ⟦"+subtag+"⟧", epr, message,subinfo_link)
}
}
if(type0=="Subs-B64Encode"){
total=SubsEd2QX(content0,Pudp0,Ptfo0,Pcert0,PTls13);
@@ -217,12 +223,13 @@ if(flag==3){
}
total=TagCheck_QX(total)
total=total.join("\n");
$notify("Final","test",total)
if(flag==1){
total=Base64.encode(total)} //强制 base64
$done({content : total});
}
//flowcheck
//flowcheck-fake-server
function flowcheck(cnt){
for(var i=0;i<cnt.length;i++){
var item=cnt[i];
@@ -586,7 +593,7 @@ function SubsEd2QX(subs,Pudp,Ptfo,Pcert,Ptls13){
node = SS2QX(list0[i],Pudp,Ptfo)
}else if(type=="trojan"){
node = TJ2QX(list0[i],Pudp,Ptfo,Pcert,Ptls13)
}else if(type=="https"){ //subs,Ptfo,Pcert,Ptls13
}else if(type=="https"&&listi.indexOf("@")!=-1){ //subs,Ptfo,Pcert,Ptls13
node = HPS2QX(list0[i],Ptfo,Pcert,Ptls13)
}else if(QuanXK.some(QuanXCheck)){
node = list0[i]
@@ -636,7 +643,7 @@ function Subs2QX(subs,Pudp,Ptfo,Pcert,Ptls13){
node = SSD2QX(list0[i],Pudp,Ptfo)
}else if(type=="trojan"){
node = TJ2QX(list0[i],Pudp,Ptfo,Pcert,Ptls13)
}else if(type=="https"){
}else if(type=="https"&&listi.indexOf("@")!=-1){
node = HPS2QX(list0[i],Ptfo,Pcert,Ptls13)
}else if(QuanXK.some(QuanXCheck)){
//$notify("QX")
@@ -703,7 +710,6 @@ function TagCheck_QX(content){
//http=example.com:443, username=name, password=pwd, over-tls=true, tls-host=example.com, tls-verification=true, tls13=true, fast-open=false, udp-relay=false, tag=http-tls-02
//HTTPS 类型 URI 转换成 QUANX 格式
function HPS2QX(subs,Ptfo,Pcert,Ptls13){
var server=Base64.decode(subs.replace("https://","")).trim().split("\u0000")[0];
var nss=[]
if(server!=""){