This commit is contained in:
Shawn
2021-10-09 17:49:16 +08:00
parent 0e2af97c1c
commit 1a505cfc33

View File

@@ -1,5 +1,5 @@
/**
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-10-06 10:05⟧
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-10-09 18:05⟧
----------------------------------------------------------
🛠 发现 𝐁𝐔𝐆 请反馈: @ShawnKOP_bot
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
@@ -992,11 +992,11 @@ function Rule_Handle(subs, Pout, Pin) {
function Rule_Policy(content) { //增加、替换 policy
var cnt = content.replace(/^\s*\-\s/g,"").replace(/REJECT-TINYGIF/gi,"reject").trim().split("//")[0].split(",");
var RuleK = ["//", "#", ";"];
var RuleK = ["//", "#", ";","[","/"];
var RuleK1 = ["host", "domain", "ip-cidr", "geoip", "user-agent", "ip6-cidr"];
const RuleCheck = (item) => cnt[0].trim().toLowerCase().indexOf(item) == 0; //无视注释行
const RuleCheck1 = (item) => cnt[0].trim().toLowerCase().indexOf(item) != -1; //无视 quanx 不支持的规则类别
if (RuleK1.some(RuleCheck1)) {
if (RuleK1.some(RuleCheck1) && !RuleK.some(RuleCheck)) {
if (cnt.length == 3 && cnt.indexOf("no-resolve") == -1) {
ply0 = Ppolicy != "Shawn" ? Ppolicy : cnt[2]
nn = cnt[0] + ", " + cnt[1] + ", " + ply0
@@ -1017,9 +1017,26 @@ function Rule_Policy(content) { //增加、替换 policy
nn = ""
} else { nn = nn.replace("IP-CIDR6", "ip6-cidr") }
return nn
} else if (cnt.length == 1 && !RuleK.some(RuleCheck)) { // 纯域名/ip 列表
return rule_list_handle(cnt[0])
} else { return "" }//if RuleK1 check
}
// 处理纯列表
function rule_list_handle(cnt) {
if(cnt.indexOf(":")!=-1 && cnt.indexOf("/")!=-1) { // ip-v6?
cnt = "ip6-cidr, " + cnt
cnt = Ppolicy == "Shawn" ? cnt+", Shawn" : cnt+", "+Ppolicy
} else if (cnt.split("/").length == 2) {//ip-cide
cnt = "ip-cidr, " + cnt
cnt = Ppolicy == "Shawn" ? cnt+", Shawn" : cnt+", "+Ppolicy
} else if (cnt) { //host - suffix
cnt = "host-suffix, " + cnt
cnt = Ppolicy == "Shawn" ? cnt+", Shawn" : cnt+", "+Ppolicy
}
return cnt
}
// Domain-Set
function Domain2Rule(content) {
var cnt = content.split("\n");