mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-25 21:25:09 +00:00
server-check-url
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-02-24 11:59⟧
|
☑️ 资源解析器 ©𝐒𝐡𝐚𝐰𝐧 ⟦2021-03-01 18:29⟧
|
||||||
----------------------------------------------------------
|
----------------------------------------------------------
|
||||||
🛠 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
🛠 发现 𝐁𝐔𝐆 请反馈: @Shawn_KOP_bot
|
||||||
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
⛳️ 关注 🆃🅶 相关频道: https://t.me/QuanX_API
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
⦿ 𝘁𝗹𝘀13=1, 𝗰𝗲𝗿𝘁=1, 分别开启 𝐭𝐥𝐬1.3 及 𝐭𝐥𝐬 证书验证(默认关闭);
|
⦿ 𝘁𝗹𝘀13=1, 𝗰𝗲𝗿𝘁=1, 分别开启 𝐭𝐥𝐬1.3 及 𝐭𝐥𝐬 证书验证(默认关闭);
|
||||||
⦿ 𝗶𝗻, 𝗼𝘂𝘁, 𝗿𝗲𝗴𝗲𝘅 分别为 保留、删除、正则筛选 节点;
|
⦿ 𝗶𝗻, 𝗼𝘂𝘁, 𝗿𝗲𝗴𝗲𝘅 分别为 保留、删除、正则筛选 节点;
|
||||||
❖ 𝗶𝗻, 𝗼𝘂𝘁 中多参数(逻辑"或")用 "+", 逻辑"与"用 "." 表示;
|
❖ 𝗶𝗻, 𝗼𝘂𝘁 中多参数(逻辑"或")用 "+", 逻辑"与"用 "." 表示;
|
||||||
❖ 𝗿𝗲𝗴𝗲𝘅 会对节点的完整信息进行匹配(类型、端口、加密等);
|
❖ 𝗶𝗻/𝗼𝘂𝘁/𝗿𝗲𝗴𝗲𝘅 均对节点的完整信息进行匹配(类型、端口、加密等);
|
||||||
❖ 示范: "𝐢𝐧=香港.0\.2倍率+台湾&𝐨𝐮𝐭=香港%20𝐁𝐆𝐏&𝐫𝐞𝐠𝐞𝐱=(?𝐢)𝐢𝐩𝐥𝐜"
|
❖ 示范: "𝐢𝐧=香港.0\.2倍率+台湾&𝐨𝐮𝐭=香港%20𝐁𝐆𝐏&𝐫𝐞𝐠𝐞𝐱=(?𝐢)𝐢𝐩𝐥𝐜"
|
||||||
⦿ 𝗿𝗲𝗻𝗮𝗺𝗲 重命名, "旧名@新名", "前缀@", "@后缀", 用 "+" 连接多个参数;
|
⦿ 𝗿𝗲𝗻𝗮𝗺𝗲 重命名, "旧名@新名", "前缀@", "@后缀", 用 "+" 连接多个参数;
|
||||||
❖ 删除字段: "字段1.字段2☠️", 想删除 "." 时用 "\." 替代
|
❖ 删除字段: "字段1.字段2☠️", 想删除 "." 时用 "\." 替代
|
||||||
@@ -1564,29 +1564,34 @@ function emoji_handle(servers, Pemoji) {
|
|||||||
|
|
||||||
//Surge2QX 转换主函数
|
//Surge2QX 转换主函数
|
||||||
function Surge2QX(conf) {
|
function Surge2QX(conf) {
|
||||||
var QXlist = conf.split("\n").map(isSurge).filter(Boolean)
|
var QXlist = conf.split("\n").map(isSurge).filter(Boolean)
|
||||||
var Nlist = []
|
var Nlist = []
|
||||||
var node=""
|
var node=""
|
||||||
for (var i = 0; i < QXlist.length; i++) {
|
for (var i = 0; i < QXlist.length; i++) {
|
||||||
var cnt = QXlist[i];
|
var cnt = QXlist[i];
|
||||||
if (cnt.split("=")[1].split(",")[0].indexOf("trojan") != -1) {
|
if (cnt.split("=")[1].split(",")[0].indexOf("trojan") != -1) {
|
||||||
node = Strojan2QX(cnt)//surge 3的trojan
|
node = Strojan2QX(cnt)//surge 3的trojan
|
||||||
} else if (cnt.split("=")[1].split(",")[0].indexOf("http") != -1) {
|
} else if (cnt.split("=")[1].split(",")[0].indexOf("http") != -1) {
|
||||||
node = Shttp2QX(cnt) //surge 3的http
|
node = Shttp2QX(cnt) //surge 3的http
|
||||||
} else if (cnt.split("=")[1].split(",")[0].indexOf("vmess") != -1) {
|
} else if (cnt.split("=")[1].split(",")[0].indexOf("vmess") != -1) {
|
||||||
node = SVmess2QX(cnt) //surge 3的Vmess
|
node = SVmess2QX(cnt) //surge 3的Vmess
|
||||||
} else if (cnt.split("=")[1].split(",")[0].indexOf("ss") != -1) {
|
} else if (cnt.split("=")[1].split(",")[0].indexOf("ss") != -1) {
|
||||||
node = SSS2QX(cnt) //surge 3的SS
|
node = SSS2QX(cnt) //surge 3的SS
|
||||||
} else if (cnt.split("=")[1].split(",")[0].indexOf("custom") != -1) {
|
} else if (cnt.split("=")[1].split(",")[0].indexOf("custom") != -1) {
|
||||||
node = SCT2QX(cnt) //surge2写法
|
node = SCT2QX(cnt) //surge2写法
|
||||||
}
|
|
||||||
node = Pudp0 != 0 ? XUDP(node,Pudp0) : node
|
|
||||||
node = Ptfo0 != 0 ? XTFO(node,Ptfo0) : node
|
|
||||||
Nlist.push(node)
|
|
||||||
}
|
}
|
||||||
return (Nlist)
|
node = Pudp0 != 0 ? XUDP(node,Pudp0) : node
|
||||||
|
node = Ptfo0 != 0 ? XTFO(node,Ptfo0) : node
|
||||||
|
if (cnt.indexOf("test-url") !=-1) {
|
||||||
|
var checkurl = ", server_check_url" + cnt.split("test-url")[1].split(",")[0]
|
||||||
|
node = node.replace(/\,(\s)*tag/, checkurl + ", tag")
|
||||||
|
}
|
||||||
|
Nlist.push(node)
|
||||||
|
}
|
||||||
|
return (Nlist)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// surge2 中的 SS 类型写法(custom)
|
// surge2 中的 SS 类型写法(custom)
|
||||||
//🇷🇺 俄罗斯 GIA = custom, ip, 152, aes-128-gcm, password123, https://xxx/download/SSEncrypt.module, obfs=tls, obfs-host=xxx.windows.com, udp-relay=true
|
//🇷🇺 俄罗斯 GIA = custom, ip, 152, aes-128-gcm, password123, https://xxx/download/SSEncrypt.module, obfs=tls, obfs-host=xxx.windows.com, udp-relay=true
|
||||||
function SCT2QX(content) {
|
function SCT2QX(content) {
|
||||||
|
|||||||
Reference in New Issue
Block a user