mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-25 17:15:09 +00:00
minor revise
This commit is contained in:
@@ -1,21 +1,20 @@
|
|||||||
/**
|
/**
|
||||||
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-08 19:39⟧
|
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2020-07-10 11:39⟧
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
🛠 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
🛠 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
||||||
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
||||||
🗣 🆃🄷🄰🄽🄺🅂 🆃🄾 @Jamie CHIEN, @M**F**, @c0lada
|
🗣 🆃🄷🄰🄽🄺🅂 🆃🄾 @Jamie CHIEN, @M**F**, @c0lada
|
||||||
|
|
||||||
🤖 主要功能:
|
🤖 主要功能:
|
||||||
A. 将各格式的服务器订阅解析成 𝐐𝐮𝐚𝐧𝐭𝐮𝐦𝐮𝐥𝐭 𝐗 格式
|
❶ 将各格式的服务器订阅解析成 𝐐𝐮𝐚𝐧𝐭𝐮𝐦𝐮𝐥𝐭 𝐗 格式
|
||||||
✔︎ 支持 𝒗𝒎𝒆𝒔𝒔/𝒔𝒔(𝒓/𝒅)/𝒕𝒓𝒐𝒋𝒂𝒏/𝒒𝒖𝒂𝒏𝒙/𝒔𝒖𝒓𝒈𝒆/𝒉𝒕𝒕𝒑(𝒔) 订阅
|
☑︎ 支持 𝑽𝒎𝒆𝒔𝒔/𝑺𝑺(𝑹/𝑫)/𝑻𝒓𝒐𝒋𝒂𝒏/𝑸𝒖𝒂𝒏𝑿/𝑺𝒖𝒓𝒈𝒆/𝑯𝑻𝑻𝑷(𝑺) 订阅
|
||||||
✔︎ 提供说明 1⃣️ 中的可选个性化参数(筛选、重命名 等)
|
☑︎ 提供说明 1⃣️ 中的可选个性化参数(筛选、重命名 等)
|
||||||
B. 𝗿𝗲𝘄𝗿𝗶𝘁𝗲(重写) /𝗳𝗶𝗹𝘁𝗲𝗿(分流) 的 转换&筛选
|
❷ 𝗿𝗲𝘄𝗿𝗶𝘁𝗲(重写) & 𝗳𝗶𝗹𝘁𝗲𝗿(分流) 的 转换&筛选
|
||||||
✔︎ 用于禁用远程引用中某(几)项 𝗿𝗲𝘄𝗿𝗶𝘁𝗲/𝗵𝗼𝘀𝘁𝗻𝗮𝗺𝗲/𝗳𝗶𝗹𝘁𝗲𝗿
|
☑︎ 用于禁用远程引用中某(几)项 𝗿𝗲𝘄𝗿𝗶𝘁𝗲/𝗵𝗼𝘀𝘁𝗻𝗮𝗺𝗲/𝗳𝗶𝗹𝘁𝗲𝗿
|
||||||
✔︎ 𝐒𝐮𝐫𝐠𝐞 类型规则 𝗹𝗶𝘀𝘁(无策略组)的解析与使用
|
☑︎ 𝐒𝐮𝐫𝐠𝐞 类型规则 𝗹𝗶𝘀𝘁 与 模块 𝐦𝐨𝐝𝐮𝐥𝐞 的解析使用
|
||||||
✔︎ 𝐒𝐮𝐫𝐠𝐞 模块/配置 𝐮𝐫𝐥-𝐫𝐞𝐠𝐞𝐱/𝐬𝐜𝐫𝐢𝐩𝐭/𝐫𝐞𝐰𝐫𝐢𝐭𝐞(302/307) 的解析
|
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
0️⃣ ⟦原始链接⟧ 后加 "#" 使用, 不同参数用 "&" 连接:
|
0️⃣ ⟦原始链接⟧ 后加 "#" 使用, 不同参数用 "&" 连接:
|
||||||
⚠️ ☞ 𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐬𝐮𝐛.𝐜𝐨𝐦#𝗶𝗻=香港+台湾&𝗲𝗺𝗼𝗷𝗶=1&𝘁𝗳𝗼=1
|
⚠️ ☞ 𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐬𝐮𝐛.𝐜𝐨𝐦#𝙚𝙢𝙤𝙟𝙞=1&𝙩𝙛𝙤=1&𝙞𝙣=香港+台湾
|
||||||
❖ 本地资源引用, 请将参数 "#𝗶𝗻=𝘅𝘅𝘅..." 填入资源文件第一行 ❖
|
❖ 本地资源引用, 请将参数 "#𝗶𝗻=𝘅𝘅𝘅..." 填入资源文件第一行 ❖
|
||||||
|
|
||||||
1️⃣ ⟦𝐬𝐞𝐫𝐯𝐞𝐫 节点⟧ ➠ 参数说明:
|
1️⃣ ⟦𝐬𝐞𝐫𝐯𝐞𝐫 节点⟧ ➠ 参数说明:
|
||||||
@@ -42,10 +41,11 @@ B. 𝗿𝗲𝘄𝗿𝗶𝘁𝗲(重写) /𝗳𝗶𝗹𝘁𝗲𝗿(分流) 的
|
|||||||
2⃣️ ⟦𝐫𝐞𝐰𝐫𝐢𝐭𝐞 重写⟧/⟦𝐟𝐢𝐥𝐭𝐞𝐫 分流⟧ ➠ 参数说明:
|
2⃣️ ⟦𝐫𝐞𝐰𝐫𝐢𝐭𝐞 重写⟧/⟦𝐟𝐢𝐥𝐭𝐞𝐫 分流⟧ ➠ 参数说明:
|
||||||
⦿ 𝗶𝗻, 𝗼𝘂𝘁, 根据关键词 保留/禁用 相关的规则、重写;
|
⦿ 𝗶𝗻, 𝗼𝘂𝘁, 根据关键词 保留/禁用 相关的规则、重写;
|
||||||
⦿ 𝗶𝗻𝗵𝗻, 𝗼𝘂𝘁𝗵𝗻, “保留/删除”主机名(𝒉𝒐𝒔𝒕𝒏𝒂𝒎𝒆);
|
⦿ 𝗶𝗻𝗵𝗻, 𝗼𝘂𝘁𝗵𝗻, “保留/删除”主机名(𝒉𝒐𝒔𝒕𝒏𝒂𝒎𝒆);
|
||||||
⦿ 𝗱𝘀𝘁=𝗿𝗲𝗴𝗲𝘅/𝘀𝗰𝗿𝗶𝗽𝘁,分别为只保留 𝐒𝐮𝐫𝐠𝐞-𝐦𝐨𝐝𝐮𝐥𝐞/𝐩𝐫𝐨𝐟𝐢𝐥𝐞 中的 𝐮𝐫𝐥-𝐫𝐞𝐠𝐞𝐱/𝐬𝐜𝐫𝐢𝐩𝐭(302/307), 默认全部保留;
|
❖ 示范: 禁用 "淘宝比价" 及 "weibo" 的 js 同主机名
|
||||||
⦿ 分流规则另有 "𝗽𝗼𝗹𝗶𝗰𝘆=𝘅𝘅𝘅" 参数, 可用于直接指定策略组,或为 𝐒𝐮𝐫𝐠𝐞 类型 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 生成策略组(默认"𝐒𝐡𝐚𝐰𝐧"策略组);
|
|
||||||
⦿ 示范: 禁用重写引用中 "淘宝比价 js" 以及 "weibo" 的 js 同主机名
|
|
||||||
𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐥𝐢𝐬𝐭#𝒐𝒖𝒕=𝒕𝒃_𝒑𝒓𝒊𝒄𝒆.𝒋𝒔+𝒘𝒃_𝒂𝒅.𝒋𝒔&𝒐𝒖𝒕𝒉𝒏=𝒘𝒆𝒊𝒃𝒐
|
𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐥𝐢𝐬𝐭#𝒐𝒖𝒕=𝒕𝒃_𝒑𝒓𝒊𝒄𝒆.𝒋𝒔+𝒘𝒃_𝒂𝒅.𝒋𝒔&𝒐𝒖𝒕𝒉𝒏=𝒘𝒆𝒊𝒃𝒐
|
||||||
|
⦿ 𝗱𝘀𝘁=𝗿𝗲𝗴𝗲𝘅/𝘀𝗰𝗿𝗶𝗽𝘁,分别为只保留 𝐒𝐮𝐫𝐠𝐞-𝐦𝐨𝐝𝐮𝐥𝐞 中的 𝐮𝐫𝐥-𝐫𝐞𝐠𝐞𝐱/𝐬𝐜𝐫𝐢𝐩𝐭(302/307), 默认全部保留;
|
||||||
|
❖ 把含 𝐮𝐫𝐥-𝐫𝐞𝐠𝐞𝐱 的 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 转成重写时, 一定要 𝗱𝘀𝘁=𝗿𝗲𝗴𝗲𝘅
|
||||||
|
⦿ 𝗽𝗼𝗹𝗶𝗰𝘆 参数, 用于直接指定策略组,或为 𝐒𝐮𝐫𝐠𝐞 类型 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 生成策略组(默认"𝐒𝐡𝐚𝐰𝐧"策略组);
|
||||||
|
|
||||||
3⃣️ 通知参数 𝗻𝘁𝗳=0/1, 用于 关闭/打开 资源解析器的提示通知
|
3⃣️ 通知参数 𝗻𝘁𝗳=0/1, 用于 关闭/打开 资源解析器的提示通知
|
||||||
⦿ 𝗿𝗲𝘄𝗿𝗶𝘁𝗲/𝗳𝗶𝗹𝘁𝗲𝗿 默认“开启”通知提示, 以防规则误删除
|
⦿ 𝗿𝗲𝘄𝗿𝗶𝘁𝗲/𝗳𝗶𝗹𝘁𝗲𝗿 默认“开启”通知提示, 以防规则误删除
|
||||||
@@ -92,6 +92,7 @@ const rwrite_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm
|
|||||||
const rwhost_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/0n5J"}
|
const rwhost_link = {"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/0n5J"}
|
||||||
const rule_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/cpHD"}
|
const rule_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/cpHD"}
|
||||||
const nan_link={"open-url":link0.split("#")[0], "media-url": qxpng}
|
const nan_link={"open-url":link0.split("#")[0], "media-url": qxpng}
|
||||||
|
const bug_link={"open-url":"https://t.me/Shawn_KOP_bot", "media-url": "https://shrtm.nu/obcB"} // bug link
|
||||||
const sub_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/ebAr"}
|
const sub_link={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/ebAr"}
|
||||||
const subinfo_link1={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/uo13"}
|
const subinfo_link1={"open-url":link0.split("#")[0], "media-url": "https://shrtm.nu/uo13"}
|
||||||
|
|
||||||
@@ -177,11 +178,11 @@ if(type0=="Subs-B64Encode"){
|
|||||||
total=content0.split("\n");
|
total=content0.split("\n");
|
||||||
total=Rule_Handle(total,Pout0,Pin0);
|
total=Rule_Handle(total,Pout0,Pin0);
|
||||||
}else if(content0.trim()==""){
|
}else if(content0.trim()==""){
|
||||||
$notify("‼️ 引用"+"⟦"+subtag+"⟧"+" 链接返回內容为空","⁉️请自行复制原始链接到浏览器, 确认链接是否失效",para.split("#")[0],nan_link);
|
$notify("‼️ 引用"+"⟦"+subtag+"⟧"+" 返回內容为空","⁉️ 点通知跳转以确认链接是否失效",para.split("#")[0],nan_link);
|
||||||
flag=0;
|
flag=0;
|
||||||
$done({content : ""})
|
$done({content : ""})
|
||||||
}else if(type0=="unknown"){
|
}else if(type0=="unknown"){
|
||||||
$notify("😭 太难写了, 可能是 bug ⁉️ "+"⟦"+subtag+"⟧", "👻 本解析器 暂未支持/未能识别 该订阅格式", "⚠️ 已尝试直接导入Quantumult X",nan_link);
|
$notify("😭 太难写了, 可能是 bug ⁉️ "+"⟦"+subtag+"⟧", "👻 本解析器 暂未支持/未能识别 该订阅格式", "⚠️ 将直接导入Quantumult X \n 如认为是 BUG, 请点通知跳转反馈",bug_link);
|
||||||
$done({content : content0});
|
$done({content : content0});
|
||||||
flag=-1;
|
flag=-1;
|
||||||
}else { flag=0 }
|
}else { flag=0 }
|
||||||
@@ -273,7 +274,7 @@ function Type_Check(subs){
|
|||||||
var subsn=subs.split("\n")
|
var subsn=subs.split("\n")
|
||||||
//$notify("Subs","cnt",subs)
|
//$notify("Subs","cnt",subs)
|
||||||
if(subs.indexOf(html)!=-1){
|
if(subs.indexOf(html)!=-1){
|
||||||
$notify("‼️ 该链接返回内容有误","⁉️ 请自行复制原始链接到浏览器, 确认链接是否失效",link0,nan_link);
|
$notify("‼️ 该链接返回内容有误","⁉️ 点通知跳转以确认链接是否失效",link0,nan_link);
|
||||||
type="web";
|
type="web";
|
||||||
} else if(subsn.length>=1 && SubK2.some(SubCheck)){ //未b64加密的多行URI 组合订阅
|
} else if(subsn.length>=1 && SubK2.some(SubCheck)){ //未b64加密的多行URI 组合订阅
|
||||||
type="Subs"
|
type="Subs"
|
||||||
@@ -285,7 +286,7 @@ function Type_Check(subs){
|
|||||||
type="Surge"; // Surge Profiles
|
type="Surge"; // Surge Profiles
|
||||||
} else if(SurgeK.some(SurgeCheck)){
|
} else if(SurgeK.some(SurgeCheck)){
|
||||||
type="Subs" // Surge proxy list
|
type="Subs" // Surge proxy list
|
||||||
} else if(subi.indexOf("[Script]")!=-1 || subi.indexOf("[Rule]")!=-1 || subi.indexOf("[URL Rewrite]")!=-1){ // Surge module /profile 类型
|
} else if(subi.indexOf("[Script]")!=-1 || subi.indexOf("[Rule]")!=-1 || subi.indexOf("[URL Rewrite]")!=-1 || para1.indexOf("dst=regex")!=-1){ // Surge module /rule-set(url-regex) 类型
|
||||||
type="sgmodule"
|
type="sgmodule"
|
||||||
}else if(subi.indexOf("hostname=")!=-1 || RewriteK.some(RewriteCheck)){
|
}else if(subi.indexOf("hostname=")!=-1 || RewriteK.some(RewriteCheck)){
|
||||||
type="rewrite"
|
type="rewrite"
|
||||||
|
|||||||
Reference in New Issue
Block a user