mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-25 17:15:09 +00:00
优化类型判断逻辑
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-11-14 10:15⟧
|
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-11-22 13:15⟧
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
🛠 发现 𝐁𝐔𝐆 请反馈: @ShawnKOP_bot
|
🛠 发现 𝐁𝐔𝐆 请反馈: @ShawnKOP_bot
|
||||||
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
||||||
@@ -417,7 +417,7 @@ function Type_Check(subs) {
|
|||||||
var QuanXK = ["shadowsocks=", "trojan=", "vmess=", "http="];
|
var QuanXK = ["shadowsocks=", "trojan=", "vmess=", "http="];
|
||||||
var SurgeK = ["=ss,", "=vmess,", "=trojan,", "=http,", "=custom,", "=https,", "=shadowsocks", "=shadowsocksr"];
|
var SurgeK = ["=ss,", "=vmess,", "=trojan,", "=http,", "=custom,", "=https,", "=shadowsocks", "=shadowsocksr"];
|
||||||
var ClashK = ["proxies:"]
|
var ClashK = ["proxies:"]
|
||||||
var SubK = ["dm1lc3M", "c3NyOi8v", "CnNzOi8", "dHJvamFu", "c3M6Ly", "c3NkOi8v", "c2hhZG93",,"aHR0c"];
|
var SubK = ["dm1lc3M", "c3NyOi8v", "CnNzOi8", "dHJvamFu", "c3M6Ly", "c3NkOi8v", "c2hhZG93",,"aHR0c", "CnRyb2phbjo"];
|
||||||
var RewriteK = [" url "]
|
var RewriteK = [" url "]
|
||||||
var SubK2 = ["ss://", "vmess://", "ssr://", "trojan://", "ssd://", "https://"];
|
var SubK2 = ["ss://", "vmess://", "ssr://", "trojan://", "ssd://", "https://"];
|
||||||
var ModuleK = ["[Script]", "[Rule]", "[URL Rewrite]", "[Map Local]", "[MITM]", "\nhttp-r"]
|
var ModuleK = ["[Script]", "[Rule]", "[URL Rewrite]", "[Map Local]", "[MITM]", "\nhttp-r"]
|
||||||
@@ -425,6 +425,7 @@ function Type_Check(subs) {
|
|||||||
var subi = subs.replace(/ /g, "")
|
var subi = subs.replace(/ /g, "")
|
||||||
const RuleCheck = (item) => subi.toLowerCase().indexOf(item) != -1;
|
const RuleCheck = (item) => subi.toLowerCase().indexOf(item) != -1;
|
||||||
const NodeCheck = (item) => subi.toLowerCase().indexOf(item.toLowerCase()) != -1;
|
const NodeCheck = (item) => subi.toLowerCase().indexOf(item.toLowerCase()) != -1;
|
||||||
|
const NodeCheck1 = (item) => subi.toLowerCase().indexOf(item.toLowerCase()) != -1; //b64加密的订阅类型
|
||||||
const RewriteCheck = (item) => subs.indexOf(item) != -1;
|
const RewriteCheck = (item) => subs.indexOf(item) != -1;
|
||||||
var subsn = subs.split("\n")
|
var subsn = subs.split("\n")
|
||||||
if (subs.indexOf(html) != -1 && link0.indexOf("github.com" == -1)) {
|
if (subs.indexOf(html) != -1 && link0.indexOf("github.com" == -1)) {
|
||||||
@@ -444,10 +445,10 @@ function Type_Check(subs) {
|
|||||||
} else if ((DomainK.some(RuleCheck) || typeU == "domain-set") && subs.indexOf("[Proxy]") == -1 && typeU != "nodes") {
|
} else if ((DomainK.some(RuleCheck) || typeU == "domain-set") && subs.indexOf("[Proxy]") == -1 && typeU != "nodes") {
|
||||||
type = (typeQ == "unsupported" || typeQ =="filter")? "Rule":"wrong-field";
|
type = (typeQ == "unsupported" || typeQ =="filter")? "Rule":"wrong-field";
|
||||||
content0 = Domain2Rule(content0) // 转换 domain-set
|
content0 = Domain2Rule(content0) // 转换 domain-set
|
||||||
|
} else if (typeQ == "filter") { // 纯 list类型?
|
||||||
|
type = "Rule"
|
||||||
} else if (subsn.length >= 1 && SubK2.some(NodeCheck) && !/\[(Proxy|filter_local)\]/.test(subs)) { //未b64加密的多行URI 组合订阅
|
} else if (subsn.length >= 1 && SubK2.some(NodeCheck) && !/\[(Proxy|filter_local)\]/.test(subs)) { //未b64加密的多行URI 组合订阅
|
||||||
type = (typeQ == "unsupported" || typeQ =="server"||typeQ =="uri") ? "Subs":"wrong-field"
|
type = (typeQ == "unsupported" || typeQ =="server"||typeQ =="uri") ? "Subs":"wrong-field"
|
||||||
} else if (SubK.some(NodeCheck)) { //b64加密的订阅类型
|
|
||||||
type = (typeQ == "unsupported" || typeQ =="server")? "Subs-B64Encode":"wrong-field"
|
|
||||||
} else if ((subi.indexOf("tag=") != -1 && QuanXK.some(NodeCheck) && !/\[(Proxy|filter_local)\]/.test(subs)) || typeU =="list") {
|
} else if ((subi.indexOf("tag=") != -1 && QuanXK.some(NodeCheck) && !/\[(Proxy|filter_local)\]/.test(subs)) || typeU =="list") {
|
||||||
type = (typeQ == "unsupported" || typeQ =="server")? "Subs":"wrong-field" // QuanX list
|
type = (typeQ == "unsupported" || typeQ =="server")? "Subs":"wrong-field" // QuanX list
|
||||||
} else if (subs.indexOf("[Proxy]") != -1) {
|
} else if (subs.indexOf("[Proxy]") != -1) {
|
||||||
@@ -462,6 +463,8 @@ function Type_Check(subs) {
|
|||||||
//type = "QuanX"
|
//type = "QuanX"
|
||||||
type = (typeQ == "unsupported" || typeQ =="server")? "Subs":"wrong-field"
|
type = (typeQ == "unsupported" || typeQ =="server")? "Subs":"wrong-field"
|
||||||
content0 = SIP2QuanX(content0)
|
content0 = SIP2QuanX(content0)
|
||||||
|
} else if (SubK.some(NodeCheck1)) { //b64加密的订阅类型
|
||||||
|
type = (typeQ == "unsupported" || typeQ =="server")? "Subs-B64Encode":"wrong-field"
|
||||||
}
|
}
|
||||||
// 用于通知判断类型,debug
|
// 用于通知判断类型,debug
|
||||||
if(typeU == "X"){
|
if(typeU == "X"){
|
||||||
|
|||||||
Reference in New Issue
Block a user