mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-26 01:35:09 +00:00
delreg参数
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-03 14:59⟧
|
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-04 17:59⟧
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
🚫 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
🚫 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
||||||
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
||||||
@@ -12,7 +12,7 @@ A. 将各格式的服务器订阅解析成 𝐐𝐮𝐚𝐧𝐭𝐮𝐦𝐮𝐥
|
|||||||
B. rewrite(重写) /filter(分流) 的转换&筛选
|
B. rewrite(重写) /filter(分流) 的转换&筛选
|
||||||
✔︎ 用于禁用远程引用中某(几)项 rewrite/hostname/filter
|
✔︎ 用于禁用远程引用中某(几)项 rewrite/hostname/filter
|
||||||
✔︎ Surge 类型规则 list(不含策略组)的解析与使用
|
✔︎ Surge 类型规则 list(不含策略组)的解析与使用
|
||||||
✔︎ Surge 模块/配置内 URL-REGEX、302(7) 复写、Script 的解析
|
✔︎ Surge 模块/配置 URL-REGEX、302(7) 复写、Script 的解析
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
0️⃣ ⟦原始订阅链接⟧ 后加 "#" , 不同参数用 "&" 连接:
|
0️⃣ ⟦原始订阅链接⟧ 后加 "#" , 不同参数用 "&" 连接:
|
||||||
⚠️ ☞ https://mysub.com#in=香港+台湾&emoji=1&tfo=1
|
⚠️ ☞ https://mysub.com#in=香港+台湾&emoji=1&tfo=1
|
||||||
@@ -34,6 +34,8 @@ B. rewrite(重写) /filter(分流) 的转换&筛选
|
|||||||
⦿ rename 重命名、删除字段, "旧名@新名", "删除字段1.删除字段2☠️", 以及 "前缀@", "@后缀",用 "+" 连接多个参数;
|
⦿ rename 重命名、删除字段, "旧名@新名", "删除字段1.删除字段2☠️", 以及 "前缀@", "@后缀",用 "+" 连接多个参数;
|
||||||
❖ 如 "rename=香港@HK+[SS]@+@[1X]+倍率.流量☠️"
|
❖ 如 "rename=香港@HK+[SS]@+@[1X]+倍率.流量☠️"
|
||||||
❖ 如想删除 ".", 请用"rename=.@點+點☠️" 类似操作
|
❖ 如想删除 ".", 请用"rename=.@點+點☠️" 类似操作
|
||||||
|
⦿ delreg, 利用正则参数来删除节点名中的字段(⚠️ 慎用)
|
||||||
|
❖ 如 "delreg=(标准|高级).*HKT"
|
||||||
⦿ sort=1, -1, x,分别根据节点名 正序/逆序/随机 排序;
|
⦿ sort=1, -1, x,分别根据节点名 正序/逆序/随机 排序;
|
||||||
|
|
||||||
2⃣️ ⟦rewrite 重写⟧/⟦filter 分流⟧ ➠ 参数说明:
|
2⃣️ ⟦rewrite 重写⟧/⟦filter 分流⟧ ➠ 参数说明:
|
||||||
@@ -75,6 +77,7 @@ para1=para.slice(para.indexOf("#")+1) //防止参数中其它位置也存在"#"
|
|||||||
var Pin0=mark0 && para1.indexOf("in=")!=-1? (para1.split("in=")[1].split("&")[0].split("+")).map(decodeURIComponent):null;
|
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 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 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)
|
//$notify(link0,"type0",type0)
|
||||||
var Phin0=mark0 && para1.indexOf("inhn=")!=-1? (para1.split("inhn=")[1].split("&")[0].split("+")).map(decodeURIComponent):null; //hostname
|
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
|
var Phout0=mark0 && para1.indexOf("outhn=")!=-1? (para1.split("outhn=")[1].split("&")[0].split("+")).map(decodeURIComponent):null; //hostname
|
||||||
@@ -194,6 +197,10 @@ if(flag==3){
|
|||||||
var Prn=Prname;
|
var Prn=Prname;
|
||||||
total=total.map(Rename);
|
total=total.map(Rename);
|
||||||
}
|
}
|
||||||
|
if(Pregdel){
|
||||||
|
var delreg=Pregdel
|
||||||
|
total=total.map(DelReg)
|
||||||
|
}
|
||||||
if(Psort0==1 || Psort0==-1){
|
if(Psort0==1 || Psort0==-1){
|
||||||
total=QXSort(total,Psort0);
|
total=QXSort(total,Psort0);
|
||||||
}else if(Psort0=="x"){
|
}else if(Psort0=="x"){
|
||||||
@@ -872,10 +879,12 @@ function SSR2QX(subs,Pudp,Ptfo){
|
|||||||
ptfo= Ptfo==1? "fast-open=true":"fast-open=false";
|
ptfo= Ptfo==1? "fast-open=true":"fast-open=false";
|
||||||
nssr.push(type+ip,pwd,mtd,obfs+obfshost+oparam+ssrp,pudp,ptfo,tag)
|
nssr.push(type+ip,pwd,mtd,obfs+obfshost+oparam+ssrp,pudp,ptfo,tag)
|
||||||
QX=nssr.join(", ")
|
QX=nssr.join(", ")
|
||||||
}
|
}else {QX=""}
|
||||||
return QX;
|
return QX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//Trojan 类型 URI 转换成 QX
|
//Trojan 类型 URI 转换成 QX
|
||||||
function TJ2QX(subs,Pudp,Ptfo,Pcert,Ptls13){
|
function TJ2QX(subs,Pudp,Ptfo,Pcert,Ptls13){
|
||||||
var ntrojan=[]
|
var ntrojan=[]
|
||||||
@@ -1011,6 +1020,14 @@ function ToTagR(elem1,elem2){
|
|||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//正则删除节点名内的字符
|
||||||
|
function DelReg(content){
|
||||||
|
delreg=RegExp(delreg,"gmi")
|
||||||
|
cnt0=content.split("tag=")[0]
|
||||||
|
cnt1=content.split("tag=")[1]
|
||||||
|
cnt=cnt0+"tag="+cnt1.replace(delreg,"")
|
||||||
|
return cnt
|
||||||
|
}
|
||||||
|
|
||||||
//节点重命名
|
//节点重命名
|
||||||
function Rename(str){
|
function Rename(str){
|
||||||
@@ -1023,7 +1040,7 @@ function Rename(str){
|
|||||||
oname=Prn[i].split("@")[0]? decodeURIComponent(Prn[i].split("@")[0]):Prn[i].split("@")[0];
|
oname=Prn[i].split("@")[0]? decodeURIComponent(Prn[i].split("@")[0]):Prn[i].split("@")[0];
|
||||||
if(oname&&nname){ //重命名
|
if(oname&&nname){ //重命名
|
||||||
var rn=escapeRegExp(oname)
|
var rn=escapeRegExp(oname)
|
||||||
name=name.replace(new RegExp(rn,"gm"),nname)
|
name=name.replace(new RegExp(rn,"gmi"),nname)
|
||||||
}else if(oname && nname==""){//前缀
|
}else if(oname && nname==""){//前缀
|
||||||
var nemoji=emoji_del(name)
|
var nemoji=emoji_del(name)
|
||||||
if(Pemoji==1 || Pemoji==2){ //判断是否有重复 emoji,有则删除旧有
|
if(Pemoji==1 || Pemoji==2){ //判断是否有重复 emoji,有则删除旧有
|
||||||
@@ -1035,7 +1052,7 @@ function Rename(str){
|
|||||||
hh=oname.slice(0,oname.length-2).split(".")
|
hh=oname.slice(0,oname.length-2).split(".")
|
||||||
for(j=0;j<hh.length;j++){
|
for(j=0;j<hh.length;j++){
|
||||||
var nn=escapeRegExp(hh[j])
|
var nn=escapeRegExp(hh[j])
|
||||||
var del=new RegExp(nn,"gm");
|
var del=new RegExp(nn,"gmi");
|
||||||
name=name.replace(del,"")
|
name=name.replace(del,"")
|
||||||
}
|
}
|
||||||
}else if(oname=="" && nname==""){ //删除@符号
|
}else if(oname=="" && nname==""){ //删除@符号
|
||||||
|
|||||||
Reference in New Issue
Block a user