mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-25 21:25:09 +00:00
CDN
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-03-20 21:59⟧
|
||||
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-03-21 10:59⟧
|
||||
----------------------------------------------------------
|
||||
🛠 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
||||
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
||||
@@ -47,6 +47,7 @@
|
||||
❖ 指定规则是正则表达式或简单关键词, 用"<" 或 ">" 连接
|
||||
❖ sort=🇭🇰>🇸🇬>🇯🇵>🇺🇸 , 靠前排序
|
||||
❖ sort=IEPL<IPLC<BGP , 靠后排序
|
||||
⦿ del=0, 当有重名节点时, 用此参数保留重名节点
|
||||
⦿ ⟦进阶参数⟧: 𝘀𝗳𝗶𝗹𝘁𝗲𝗿/𝘀𝗿𝗲𝗻𝗮𝗺𝗲, 传入一段 base64 编码的脚本, 可用于更为复杂的[过滤/重命名] 需求
|
||||
❖ 说明: https://github.com/KOP-XIAO/QuantumultX/pull/9
|
||||
|
||||
@@ -54,18 +55,19 @@
|
||||
⦿ in, out, 根据关键词 保留/禁用 相关分流、重写规则;
|
||||
⦿ inhn, outhn, “保留/删除”主机名(𝒉𝒐𝒔𝒕𝒏𝒂𝒎𝒆);
|
||||
❖ 示范: 禁用 "淘宝比价" 及 "weibo" 的 js 同主机名
|
||||
𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐥𝐢𝐬𝐭#𝒐𝒖𝒕=𝒕𝒃_𝒑𝒓𝒊𝒄𝒆.𝒋𝒔+𝒘𝒃_𝒂𝒅.𝒋𝒔&𝒐𝒖𝒕𝒉𝒏=𝒘𝒆𝒊𝒃𝒐
|
||||
𝐡𝐭𝐭𝐩𝐬://𝐦𝐲𝐥𝐢𝐬𝐭#𝒐𝒖𝒕=tb_price.js+wb_ad.js&outhn=weibo
|
||||
⦿ regex, 正则筛选, 请自行折腾正则表达式;
|
||||
❖ 可与 in(hn)/out(hn) 一起使用,in(hn)/out(hn) 会优先执行;
|
||||
❖ 对 𝒉𝒐𝒔𝒕𝒏𝒂𝒎𝒆 & 𝐫𝐞𝐰𝐫𝐢𝐭𝐞/𝐟𝐢𝐥𝐭𝐞𝐫 同时生效(⚠️ 慎用)
|
||||
⦿ policy 参数, 用于直接指定策略组,或为 𝐒𝐮𝐫𝐠𝐞 类型 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 生成策略组(默认"𝐒𝐡𝐚𝐰𝐧"策略组);
|
||||
⦿ replace 参数, 正则替换 𝐟𝐢𝐥𝐭𝐞𝐫/𝐫𝐞𝐰𝐫𝐢𝐭𝐞 内容, regex@newregex;
|
||||
❖ 将淘宝比价中脚本替换成 lite 版本, tiktok 中 JP 换成 KR
|
||||
∎ replace=(𝐩𝐫𝐢𝐜𝐞)(.*)@$1_𝐥𝐢𝐭𝐞$2+𝐣𝐩@𝐤𝐫
|
||||
∎ replace=(price)(.*)@$1_lite$2+jp@kr
|
||||
⦿ dst=rewrite/filter,分别为将 𝐦𝐨𝐝𝐮𝐥𝐞&𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 转换成 重写/分流;
|
||||
❖ ⚠️ 默认将 𝐦𝐨𝐝𝐮𝐥𝐞 转换到重写, 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 转成分流
|
||||
❖ ⚠️ 把 𝗿𝘂𝗹𝗲-𝘀𝗲𝘁 中 𝐮𝐫𝐥-𝐫𝐞𝐠𝐞𝐱 转成重写时, 必须要加 dst=rewrite;
|
||||
❖ ⚠️ 把 𝐦𝐨𝐝𝐮𝐥𝐞 中的分流规则转换时, 必须要加 dst=filter
|
||||
⦿ cnd=1, 将 github 脚本的地址转换成免翻墙cdn.jsdelivr.net
|
||||
|
||||
3⃣️ 其他参数
|
||||
⦿ 通知参数 ntf=0/1, 用于 关闭/打开 资源解析器的提示通知
|
||||
@@ -155,6 +157,7 @@ var pfohn = Phout0 ? "outhn=" + Phout0.join(", ") : ""
|
||||
var Pcnt = para1.indexOf("cnt=") != -1 ? para1.split("cnt=")[1].split("&")[0] : 0;
|
||||
var Pcap = para1.indexOf("cap=") != -1 ? para1.split("cap=")[1].split("&")[0] : "";
|
||||
var Pptn = para1.indexOf("ptn=") != -1 ? para1.split("ptn=")[1].split("&")[0] : "";
|
||||
var Pcdn = para1.indexOf("cdn=") != -1 ? para1.split("cdn=")[1].split("&")[0] : "";
|
||||
let [flow, exptime, errornode, total] = "";
|
||||
var Pdel = mark0 && para1.indexOf("del=") != -1 ? para1.split("del=")[1].split("&")[0] : 1; //删除重复节点
|
||||
var typeU = para1.indexOf("type=") != -1 ? para1.split("type=")[1].split("&")[0] : "";
|
||||
@@ -211,6 +214,7 @@ function ParseUnkown(cnt){
|
||||
}
|
||||
|
||||
|
||||
|
||||
function ResourceParse() {
|
||||
//预处理,分流/重写等处理完成
|
||||
if (type0 == "Subs-B64Encode") {
|
||||
@@ -224,11 +228,13 @@ function ResourceParse() {
|
||||
total = SGMD2QX(content0) // 转换
|
||||
total = Rewrite_Filter(total, Pin0, Pout0,Preg); // 筛选过滤
|
||||
if (Preplace) { total = ReplaceReg(total, Preplace) }
|
||||
if (Pcdn) {total = CDN(total)}
|
||||
total = total.join("\n")
|
||||
} else if (type0 == "rewrite") { // rewrite 类型
|
||||
flag = 2;
|
||||
total = Rewrite_Filter(isQuanXRewrite(content0.split("\n")), Pin0, Pout0,Preg);
|
||||
if (Preplace) { total = ReplaceReg(total, Preplace) }
|
||||
if (Pcdn) {total = CDN(total)}
|
||||
total = total.join("\n")
|
||||
} else if (type0 == "Rule") { // rule 类型, 已处理完毕
|
||||
flag = 3;
|
||||
@@ -579,7 +585,11 @@ function ToRaw(cnt) {
|
||||
return cnt
|
||||
}
|
||||
|
||||
|
||||
function CDN(cnt) {
|
||||
console.log("CDN start")
|
||||
cnt = cnt.join("\n").replace(/https:\/\/raw.githubusercontent.com\/(.*?)\/(.*?)\/(.*)/gmi,"https://cdn.jsdelivr.net/gh/$1/$2@$3")
|
||||
return cnt
|
||||
}
|
||||
|
||||
//url-regex 转换成 Quantumult X
|
||||
function URX2QX(subs) {
|
||||
|
||||
Reference in New Issue
Block a user