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