ip-asn support

This commit is contained in:
Shawn
2022-08-03 23:24:07 +08:00
parent 16cb37cda2
commit e0c1d0708b

View File

@@ -1,5 +1,5 @@
/**
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2022-07-31 08:20⟧
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2022-08-03 23:20⟧
----------------------------------------------------------
🛠 发现 𝐁𝐔𝐆 请反馈: https://t.me/Shawn_Parser_Bot
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
@@ -542,7 +542,7 @@ function RegCheck(total, typen, paraname,regpara) {
//判断订阅类型
function Type_Check(subs) {
var type = "unknown"
var RuleK = ["host,", "-suffix,", "domain,", "-keyword,", "ip-cidr,", "ip-cidr6,", "geoip,", "user-agent,", "ip6-cidr,"];
var RuleK = ["host,", "-suffix,", "domain,", "-keyword,", "ip-cidr,", "ip-cidr6,", "geoip,", "user-agent,", "ip6-cidr,", "ip-asn"];
var DomainK = ["domain-set,"]
var QuanXK = ["shadowsocks=", "trojan=", "vmess=", "http=", "socks5="];
var SurgeK = ["=ss,", "=vmess,", "=trojan,", "=http,", "=custom,", "=https,", "=shadowsocks", "=shadowsocksr", "=sock5", "=sock5-tls"];
@@ -1165,7 +1165,7 @@ function Rule_Handle(subs, Pout, Pin) {
ply = Ppolicy; //策略组
var nlist = []
var RuleK = ["//", "#", ";","[","^"]; //排除项目
var RuleK2 = ["host,", "-suffix,", "domain,", "-keyword,", "ip-cidr,", "ip-cidr6,", "geoip,", "user-agent,", "ip6-cidr,"];
var RuleK2 = ["host,", "-suffix,", "domain,", "-keyword,", "ip-cidr,", "ip-cidr6,", "geoip,", "user-agent,", "ip6-cidr,", "ip-asn"];
if (Tout != "" && Tout != null) { // 有 out 参数时
var dlist = [];
for (var i = 0; i < cnt.length; i++) {
@@ -1242,14 +1242,14 @@ function Rule_Handle(subs, Pout, Pin) {
}
nlist=nlist.map(item=>item.replace(/:\d*\s*,/g,",")) //去除端口号部分
//$notify("nlist","",nlist)
return nlist
}
function Rule_Policy(content) { //增加、替换 policy
var cnt = content.replace(/^\s*\-\s/g,"").replace(/REJECT-TINYGIF/gi,"reject").trim().split("//")[0].trim().split(",");
var RuleK = ["//", "#", ";","[","/", "hostname","no-ipv6","no-system","<","{","}","]","^"];
var RuleK1 = ["host", "domain", "ip-cidr", "geoip", "user-agent", "ip6-cidr"];
var RuleK1 = ["host", "domain", "ip-cidr", "geoip", "user-agent", "ip6-cidr", "ip-asn"];
const RuleCheck = (item) => cnt[0].trim().toLowerCase().indexOf(item) == 0; //无视注释行
const RuleCheck1 = (item) => cnt[0].trim().toLowerCase().indexOf(item) == 0 ; //无视 quanx 不支持的规则类别&排除 hostname
if (RuleK1.some(RuleCheck1) && !RuleK.some(RuleCheck) ) {
@@ -2007,7 +2007,7 @@ function isQuanX(content) {
function isQuanXRewrite(content) {
cnt = content
cnt0=[]
var RuleK = ["host,", "-suffix,", "domain,", "-keyword,", "ip-cidr,", "ip-cidr6,", "geoip,", "user-agent,", "ip6-cidr,","force-http"];
var RuleK = ["host,", "-suffix,", "domain,", "-keyword,", "ip-cidr,", "ip-cidr6,", "geoip,", "user-agent,", "ip6-cidr,","force-http", "ip-asn"];
for (var i = 0; i< cnt.length; i++){
if(cnt[i]){
@@ -2240,7 +2240,7 @@ function get_emoji(emojip, sname) {
"🇸🇬": ["SG", "Singapore","SINGAPORE", "新加坡", "狮城", "沪新", "京新", "泉新", "穗新", "深新", "杭新", "广新","廣新","滬新"],
"🇺🇸": ["US", "USA", "America", "United States", "美国", "美", "京美", "波特兰", "达拉斯", "俄勒冈", "凤凰城", "费利蒙", "硅谷", "矽谷", "拉斯维加斯", "洛杉矶", "圣何塞", "圣荷西", "圣克拉拉", "西雅图", "芝加哥", "沪美", "哥伦布", "纽约"],
"🇹🇼": ["TW", "Taiwan","TAIWAN", "台湾", "台北", "台中", "新北", "彰化", "CHT", "台", "HINET"],
"🇮🇩": ["ID ", "Indonesia", "印尼", "印度尼西亚", "雅加达"],
"🇮🇩": ["ID ", "IDN ", "Indonesia", "印尼", "印度尼西亚", "雅加达"],
"🇮🇪": ["Ireland", "IRELAND", "爱尔兰", "愛爾蘭", "都柏林"],
"🇮🇱": ["Israel", "以色列"],
"🇮🇳": ["India", "IND", "INDIA","印度", "孟买", "Mumbai","IN "],