Update resource-parser.js

This commit is contained in:
Shawn
2023-04-04 14:46:59 +08:00
parent 917db5d3e4
commit 232ea1060c

View File

@@ -1,5 +1,5 @@
/**
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2023-04-03 14:00⟧
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2023-04-04 14:30⟧
----------------------------------------------------------
🛠 发现 𝐁𝐔𝐆 请反馈: https://t.me/Shawn_Parser_Bot
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
@@ -1054,6 +1054,7 @@ function URX2QX(subs) {
function SCP2QX(subs) {
var nrw = []
var rw = ""
var RewriteK = [" url 302", " url 307", " url reject", " url script", " url req", " url res", " url echo", " url-and-header 302", " url-and-header 307", " url-and-header reject", " url-and-header script", " url-and-header req", " url-and-header res", " url-and-header echo"] // quantumult X 类型 rewrite
subs = subs.split("\n").map(x => x.trim().replace(/\s+/g," "))
//$notify("Script","",subs)
for (var i = 0; i < subs.length; i++) {
@@ -1068,7 +1069,8 @@ function SCP2QX(subs) {
var NoteK = ["//", "#", ";"]; //排除注释项
const sccheck = (item) => subs[i].indexOf(item) != -1
const notecheck = (item) => subs[i].indexOf(item) == 0
if (!NoteK.some(notecheck)){
const RewriteCheck = (item) => subs[i].indexOf(item) != -1 ; // quanx 重写判定
if (!NoteK.some(notecheck) && !RewriteK.some(RewriteCheck)){
if (SC.every(sccheck)) { // surge js 新格式
ptn = subs[i].replace(/\s/gi,"").split("pattern=")[1].split(",")[0]
js = subs[i].replace(/\s/gi,"").split("script-path=")[1].split(",")[0]
@@ -1115,7 +1117,7 @@ function SCP2QX(subs) {
} else if(subs[i].indexOf(" - reject") != -1 ) { //shadowrocket reject
rw = subs[i].replace(" - ", " url ")
nrw.push(rw)
} else if(/\s(reject)$/.test(subs[i])){ // loon 类型? http://xxx/yyy reject
} else if(subs[i].split(" ").length == 2 && /\s(reject)$/.test(subs[i])){ // loon 类型? http://xxx/yyy reject
rw = subs[i].replace(" reject", " url reject")
nrw.push(rw)
} else if (subs[i].indexOf("script-path") != -1) { //surge js 旧写法
@@ -1135,9 +1137,10 @@ function SCP2QX(subs) {
if (type != "") {
rw = ptn + " url " + type + js
nrw.push(rw)
}
}
}
} else if(RewriteK.some(RewriteCheck)) {
nrw.push(subs[i])
}
} catch (err) {
$notify("❌️解析此条时出现错误,已忽略",subs[i],err)
@@ -1145,6 +1148,7 @@ function SCP2QX(subs) {
}
return nrw
}
// 如果 URL-Regex 跟 rewrite/script 都需要
function SGMD2QX(subs) {
var nrw0 = URX2QX(subs)
@@ -2199,7 +2203,7 @@ function isQuanXRewrite(content) {
if (cnti.indexOf("pattern")!=-1 && cnti.indexOf("type")!=-1 || cnti.indexOf("http-r")!=-1) {
cnti=SGMD2QX(cnti)[0]? SGMD2QX(cnti)[0]:""
//console.log(cnti)
}else if ((cnti.indexOf(" 302")!=-1 || cnti.indexOf(" 307")!=-1 || (/\s(_|-)\sreject/.test(cnti)) || (/\sreject$/.test(cnti))) && cnti.indexOf(" url ")==-1 ){
}else if ((cnti.indexOf(" 302")!=-1 || cnti.indexOf(" 307")!=-1 || (/\s(_|-)\sreject/.test(cnti)) || (/\sreject$/.test(cnti))) && cnti.indexOf(" url ")==-1 && cnti.indexOf(" url-and-header ")==-1 ){
cnti=SGMD2QX(cnti)[0]? SGMD2QX(cnti)[0]:""
//console.log("sss",cnti)
}else if(cnti.indexOf(" data=")!=-1){
@@ -2427,7 +2431,7 @@ function get_emoji(emojip, sname) {
"🇱🇰": ["斯里兰卡", "斯里蘭卡", "Sri Lanka"],
"🇧🇾": ["BY","白俄罗斯","白俄羅斯", "White Russia", "Republic of Belarus", "Belarus"],
"🇷🇺": ["RU ","RU-", "RU_", "RUS", "Russia", "俄罗斯", "毛子", "俄国", "俄羅斯", "伯力", "莫斯科", "圣彼得堡", "西伯利亚", "新西伯利亚", "京俄", "杭俄","廣俄","滬俄","广俄","沪俄"],
"🇸🇬": ["SG", "Singapore","SINGAPORE", "新加坡", "狮城", "沪新", "京新", "泉新", "穗新", "深新", "杭新", "广新","廣新","滬新"],
"🇸🇬": ["SG", "Singapore","SINGAPORE", "新加坡", "狮城", "獅城", "沪新", "京新", "泉新", "穗新", "深新", "杭新", "广新","廣新","滬新"],
"🇺🇸": ["US", "USA", "America", "United States", "美国", "美", "京美", "波特兰", "达拉斯", "俄勒冈", "凤凰城", "费利蒙", "硅谷", "矽谷", "拉斯维加斯", "洛杉矶", "圣何塞", "圣荷西", "圣克拉拉", "西雅图", "芝加哥", "沪美", "哥伦布", "纽约"],
"🇹🇼": ["TW", "Taiwan","TAIWAN", "台湾", "台北", "台中", "新北", "彰化", "CHT", "台", "HINET"],
"🇮🇩": ["ID ", "IDN ", "Indonesia", "印尼", "印度尼西亚", "雅加达"],
@@ -2492,7 +2496,7 @@ function get_emoji(emojip, sname) {
"🇲🇦": ["摩洛哥", "Morocco"],
"🇪🇨": ["厄瓜多尔","EC", "Ecuador"],
"🇲🇺": ["毛里求斯", "Mauritius"],
"🇵🇷": ["波多黎各", "PR", "Puerto Rico"],
"🇵🇷": ["波多黎各", "PR ","PR-" "Puerto Rico"],
"🇬🇹": ["危地马拉", " GT "],
"🇭🇰": ["HK", "Hongkong", "Hong Kong", "HongKong", "HONG KONG","香港", "深港", "沪港", "呼港", "HKT", "HKBN", "HGC", "WTT", "CMI", "穗港", "京港", "港"],
"🇨🇳": ["CN", "China", "回国", "中国","中國", "江苏", "北京", "上海", "广州", "深圳", "杭州", "徐州", "青岛", "宁波", "镇江", "back"],