mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-25 17:15:09 +00:00
update
This commit is contained in:
10
Scripts/Cron-Switch.json
Normal file
10
Scripts/Cron-Switch.json
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name":"流媒体定时切换合集 @Shawn",
|
||||||
|
"description":"Crontab Script Gallery by Shawn",
|
||||||
|
"task":[
|
||||||
|
"0 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-ytb.js, tag=YouTube 定时切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/YouTube_Letter.png, enabled=true",
|
||||||
|
"1 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-nf.js, tag=Netflix 定时切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Netflix_Letter.png, enabled=true",
|
||||||
|
"2 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-disneyplus.js, tag=Disneyᐩ 定时切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Disney.png, enabled=true",
|
||||||
|
"3 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-google.js, tag=Google 送中定时切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Google.png, enabled=true",
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -7,8 +7,12 @@ For Quantumult-X 598+ ONLY!!
|
|||||||
|
|
||||||
[task_local]
|
[task_local]
|
||||||
|
|
||||||
|
// UI 查询版本
|
||||||
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-disneyplus.js, tag=Disneyᐩ 检测&切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Disney.png, enabled=true
|
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-disneyplus.js, tag=Disneyᐩ 检测&切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Disney.png, enabled=true
|
||||||
|
|
||||||
|
//cron 版本
|
||||||
|
0 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-disneyplus.js, tag=Disneyᐩ 检测&切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Disney.png, enabled=true
|
||||||
|
|
||||||
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
||||||
|
|
||||||
@XIAO_KOP
|
@XIAO_KOP
|
||||||
@@ -33,7 +37,11 @@ const STATUS_ERROR = -2
|
|||||||
|
|
||||||
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
||||||
|
|
||||||
var policy = $environment.params
|
var cronsign = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? "Y" : "N"
|
||||||
|
var policy = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? GetPolicy($environment.sourcePath) : $environment.params
|
||||||
|
console.log(JSON.stringify($environment))
|
||||||
|
console.log("策略组:"+policy)
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
action: "get_customized_policy",
|
action: "get_customized_policy",
|
||||||
content: policy
|
content: policy
|
||||||
@@ -55,14 +63,14 @@ $configuration.sendMessage(message).then(resolve => {
|
|||||||
$done()
|
$done()
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [$environment.params]
|
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [policy]
|
||||||
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
||||||
console.log("Disneyᐩ 检测&切换")
|
console.log("Disneyᐩ 检测&切换")
|
||||||
console.log("节点or策略组:"+pflag)
|
console.log("节点or策略组:"+pflag)
|
||||||
console.log(JSON.stringify(resolve.ret))
|
console.log(JSON.stringify(resolve.ret))
|
||||||
if (pflag==1) {
|
if (pflag==1) {
|
||||||
console.log("节点数量:"+resolve.ret[$environment.params]["candidates"].length)
|
console.log("节点数量:"+resolve.ret[policy]["candidates"].length)
|
||||||
if(resolve.ret[$environment.params]["candidates"].length==0) {
|
if(resolve.ret[policy]["candidates"].length==0) {
|
||||||
$done({"title":"Disneyᐩ 检测&切换","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
$done({"title":"Disneyᐩ 检测&切换","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -111,10 +119,10 @@ function Check() {
|
|||||||
console.log("开始排序")
|
console.log("开始排序")
|
||||||
ReOrder(OKList)
|
ReOrder(OKList)
|
||||||
} else if (!OKList[0]){ //不支持
|
} else if (!OKList[0]){ //不支持
|
||||||
content = pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点不支持Disneyᐩ </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+$environment.params+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到支持 Disneyᐩ </b> 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
content = pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点不支持Disneyᐩ </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到支持 Disneyᐩ </b> 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
||||||
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content})
|
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content})
|
||||||
} else if (OKList[0]){ //支持, 但为节点
|
} else if (OKList[0]){ //支持, 但为节点
|
||||||
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>🎉 该节点支持 Disneyᐩ ➟` + OKList[0].split(": 支持 ")[1]+`</b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`
|
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>🎉 该节点支持 Disneyᐩ ➟` + OKList[0].split(": 支持 ")[1]+`</b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`
|
||||||
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content})
|
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
}, relay)
|
}, relay)
|
||||||
@@ -165,17 +173,18 @@ function ReOrder(cnt) {
|
|||||||
$configuration.sendMessage(mes1).then(resolve => {
|
$configuration.sendMessage(mes1).then(resolve => {
|
||||||
if (resolve.error) {
|
if (resolve.error) {
|
||||||
console.log(resolve.error);
|
console.log(resolve.error);
|
||||||
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>🎉 该节点支持 <b>Disneyᐩ ➟" + array[0].split(": 支持 ")[1]+ `</b></p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>Disneyᐩ </b>" + `</p>`
|
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>🎉 该节点支持 <b>Disneyᐩ ➟" + array[0].split(": 支持 ")[1]+ `</b></p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>Disneyᐩ </b>" + `</p>`
|
||||||
|
|
||||||
content =pflag==0 && ResList[1]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>🚦 即将登陆节点所在地区 ➟<b>" + ResList[1].split("登陆 ")[1]+`</b> </p>` : content
|
content =pflag==0 && ResList[1]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>🚦 即将登陆节点所在地区 ➟<b>" + ResList[1].split("登陆 ")[1]+`</b> </p>` : content
|
||||||
|
|
||||||
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+$environment.params+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到支持 <b>Disneyᐩ </b>的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到支持 <b>Disneyᐩ </b>的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
||||||
console.log(content)
|
console.log(content)
|
||||||
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content})
|
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
console.log("已经切换至支持 Disneyᐩ"+array[0].split(": 支持 ")[1]+"的路线 ➟ "+array[0].split(": 支持 ")[0])
|
console.log("已经切换至支持 Disneyᐩ"+array[0].split(": 支持 ")[1]+"的路线 ➟ "+array[0].split(": 支持 ")[0])
|
||||||
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br> <b>⟦ "+$environment.params+ " ⟧</b> 已切换至支持 <b>Disneyᐩ "+array[0].split(": 支持 ")[1]+"</b>中延迟最优的路线<br> <br>👇<br><br> ⟦ "+array[0].split(": 支持 ")[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br><font color=#FF5733>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
if (cronsign == "Y") { $notify("📺 Disneyᐩ 定时检测&切换", "🎉 已经切换至支持 Disneyᐩ 的最优延迟线路👇", array[0] +"\n 👉 "+Ping)}
|
||||||
|
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br> <b>⟦ "+policy+ " ⟧</b> 已切换至支持 <b>Disneyᐩ "+array[0].split(": 支持 ")[1]+"</b>中延迟最优的路线<br> <br>👇<br><br> ⟦ "+array[0].split(": 支持 ")[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br><font color=#FF5733>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
||||||
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content })
|
$done({"title":"Disneyᐩ 检测&切换", "htmlMessage": content })
|
||||||
}
|
}
|
||||||
}, reject => {
|
}, reject => {
|
||||||
|
|||||||
@@ -7,8 +7,12 @@ For Quantumult-X 598+ ONLY!!
|
|||||||
|
|
||||||
[task_local]
|
[task_local]
|
||||||
|
|
||||||
|
//UI 查询版本
|
||||||
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/sswitch-check-nf.js, tag=Netflix 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Netflix_Letter.png, enabled=true
|
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/sswitch-check-nf.js, tag=Netflix 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Netflix_Letter.png, enabled=true
|
||||||
|
|
||||||
|
//cron 版本
|
||||||
|
0 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/sswitch-check-nf.js, tag=Netflix 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/Netflix_Letter.png, enabled=true
|
||||||
|
|
||||||
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
||||||
|
|
||||||
@XIAO_KOP
|
@XIAO_KOP
|
||||||
@@ -20,7 +24,12 @@ const BASE_URL = 'https://www.netflix.com/title/'
|
|||||||
const FILM_ID = 81215567
|
const FILM_ID = 81215567
|
||||||
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
||||||
const policy_name = "Netflix" //填入你的 netflix 策略组名
|
const policy_name = "Netflix" //填入你的 netflix 策略组名
|
||||||
var policy = $environment.params
|
|
||||||
|
var cronsign = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? "Y" : "N"
|
||||||
|
var policy = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? GetPolicy($environment.sourcePath) : $environment.params
|
||||||
|
console.log(JSON.stringify($environment))
|
||||||
|
console.log("策略组:"+policy)
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
action: "get_customized_policy",
|
action: "get_customized_policy",
|
||||||
content: policy
|
content: policy
|
||||||
@@ -42,13 +51,13 @@ $configuration.sendMessage(message).then(resolve => {
|
|||||||
$done()
|
$done()
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [$environment.params]
|
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [policy]
|
||||||
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
||||||
console.log("Netflix 支持检测")
|
console.log("Netflix 支持检测")
|
||||||
console.log("节点or策略组:"+pflag)
|
console.log("节点or策略组:"+pflag)
|
||||||
if (pflag==1) {
|
if (pflag==1) {
|
||||||
console.log("节点数量:"+resolve.ret[$environment.params]["candidates"].length)
|
console.log("节点数量:"+resolve.ret[policy]["candidates"].length)
|
||||||
if(resolve.ret[$environment.params]["candidates"].length==0) {
|
if(resolve.ret[policy]["candidates"].length==0) {
|
||||||
$done({"title":"Netflix 检测&切换","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
$done({"title":"Netflix 检测&切换","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -96,11 +105,11 @@ function Check() {
|
|||||||
console.log("开始排序")
|
console.log("开始排序")
|
||||||
ReOrder(OKList)
|
ReOrder(OKList)
|
||||||
} else if (!OKList[0]){ //不支持
|
} else if (!OKList[0]){ //不支持
|
||||||
content =pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点未完整支持 Netflix </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+$environment.params+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到完整支持 Netflix</b> 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
content =pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点未完整支持 Netflix </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到完整支持 Netflix</b> 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
||||||
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
||||||
} else if (OKList[0]){ //支持, 但为节点
|
} else if (OKList[0]){ //支持, 但为节点
|
||||||
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b> 🎉 该节点完整支持 Netflix </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`
|
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b> 🎉 该节点完整支持 Netflix </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`
|
||||||
//content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>🎉 该节点支持 Disneyᐩ ➟` + OKList[0].split(": 支持 ")[1]+`</b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`
|
//content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>🎉 该节点支持 Disneyᐩ ➟` + OKList[0].split(": 支持 ")[1]+`</b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`
|
||||||
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
}, relay)
|
}, relay)
|
||||||
@@ -147,15 +156,16 @@ function ReOrder(cnt) {
|
|||||||
$configuration.sendMessage(mes1).then(resolve => {
|
$configuration.sendMessage(mes1).then(resolve => {
|
||||||
if (resolve.error) {
|
if (resolve.error) {
|
||||||
console.log(resolve.error);
|
console.log(resolve.error);
|
||||||
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>🎉 该节点完整支持 <b>Netflix</b>" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>Netflix</b>" + `</p>`
|
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>🎉 该节点完整支持 <b>Netflix</b>" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>Netflix</b>" + `</p>`
|
||||||
content =pflag==0 && ResList[1]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>🚦 该节点仅支持 <b>Netflix</b> 自制剧集" + `</p>` : content
|
content =pflag==0 && ResList[1]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>🚦 该节点仅支持 <b>Netflix</b> 自制剧集" + `</p>` : content
|
||||||
|
|
||||||
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+$environment.params+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到完整支持 Netflix 的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到完整支持 Netflix 的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
||||||
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
console.log("已经切换至完整支持的路线 ➟ "+array[0])
|
console.log("已经切换至完整支持的路线 ➟ "+array[0])
|
||||||
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br> <b>⟦ "+$environment.params+ " ⟧</b> 已切换至完整支持的路线中延迟最优节点<br> <br>👇<br><br> ⟦ "+array[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
if (cronsign == "Y") { $notify("📺 Netflix 定时检测&切换", "🎉 已经切换至支持 Netflix 的最优延迟线路👇", array[0] +"\n 👉 "+Ping)}
|
||||||
|
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br> <b>⟦ "+policy+ " ⟧</b> 已切换至完整支持的路线中延迟最优节点<br> <br>👇<br><br> ⟦ "+array[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
||||||
$done({"title":"Netflix 检测&切换", "htmlMessage": content })
|
$done({"title":"Netflix 检测&切换", "htmlMessage": content })
|
||||||
}
|
}
|
||||||
}, reject => {
|
}, reject => {
|
||||||
|
|||||||
@@ -1,230 +0,0 @@
|
|||||||
/***
|
|
||||||
|
|
||||||
For Quantumult-X 598+ ONLY!!
|
|
||||||
|
|
||||||
[task_local]
|
|
||||||
|
|
||||||
// UI 查询版本
|
|
||||||
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-ytb.js, tag=YouTube 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/YouTube_Letter.png, enabled=true
|
|
||||||
|
|
||||||
// cron task 版本
|
|
||||||
0 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-ytb-url-cron.js#policy=你的策略组, tag=YouTube 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/YouTube_Letter.png, enabled=true
|
|
||||||
|
|
||||||
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
|
||||||
|
|
||||||
@XIAO_KOP
|
|
||||||
|
|
||||||
2022-07-04
|
|
||||||
|
|
||||||
**/
|
|
||||||
|
|
||||||
const BASE_URL = 'https://www.youtube.com/premium'
|
|
||||||
|
|
||||||
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
|
||||||
var cronsign = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? "Y" : "N"
|
|
||||||
var policy = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? GetPolicy($environment.sourcePath) : $environment.params
|
|
||||||
console.log(JSON.stringify($environment))
|
|
||||||
console.log("策略组:"+policy)
|
|
||||||
|
|
||||||
function GetPolicy(cnt) {
|
|
||||||
if (cnt && cnt.indexOf("#policy=") !=-1) {
|
|
||||||
return decodeURIComponent(cnt.split("#policy=")[1].trim())
|
|
||||||
}else {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const message = {
|
|
||||||
action: "get_customized_policy",
|
|
||||||
content: policy
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
var output=[]
|
|
||||||
var OKList=[]
|
|
||||||
var NoList=["不支持节点 ➟ "]
|
|
||||||
var ErrorList=["检测出错节点 ➟ "]
|
|
||||||
var pflag=1 //是否是策略,或者简单节点
|
|
||||||
var sign=0
|
|
||||||
|
|
||||||
$configuration.sendMessage(message).then(resolve => {
|
|
||||||
if (resolve.error) {
|
|
||||||
console.log(resolve.error);
|
|
||||||
$done()
|
|
||||||
}
|
|
||||||
if (resolve.ret) {
|
|
||||||
//$notify(JSON.stringify(resolve.ret))
|
|
||||||
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [policy]
|
|
||||||
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
|
||||||
console.log("YouTube Premium 检测")
|
|
||||||
console.log("节点or策略组:"+pflag)
|
|
||||||
if (pflag==1) {
|
|
||||||
console.log("节点数量:"+resolve.ret[policy]["candidates"].length)
|
|
||||||
if(resolve.ret[policy]["candidates"].length==0) {
|
|
||||||
$done({"title":"YouTube Premium 检测","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//$notify(typeof(output),output)
|
|
||||||
Check()
|
|
||||||
//$done({"title":"策略内容","message":output})
|
|
||||||
}
|
|
||||||
//$done();|
|
|
||||||
}, reject => {
|
|
||||||
// Normally will never happen.
|
|
||||||
$done();
|
|
||||||
});
|
|
||||||
|
|
||||||
function Len(cnt) {
|
|
||||||
return cnt.length-1
|
|
||||||
}
|
|
||||||
|
|
||||||
function Check() {
|
|
||||||
var relay = 2000;
|
|
||||||
for ( var i=0;i < output.length;i++) {
|
|
||||||
testYTB(output[i])
|
|
||||||
}
|
|
||||||
if (output.length<=5) {
|
|
||||||
relay = 2000
|
|
||||||
} else if (output.length<10) {
|
|
||||||
relay =4000
|
|
||||||
} else if (output.length<15) {
|
|
||||||
relay =6000
|
|
||||||
} else if (output.length<20) {
|
|
||||||
relay =8000
|
|
||||||
} else {
|
|
||||||
relay =10000
|
|
||||||
}
|
|
||||||
console.log(output.length+":"+relay)
|
|
||||||
setTimeout(() => {
|
|
||||||
console.log("⛳️ 共计 "+OKList.length+" 个:支持节点 ➟ "+ OKList)
|
|
||||||
console.log("🏠 共计 "+Len(NoList)+" 个:"+NoList)
|
|
||||||
console.log("🕹 共计 "+Len(ErrorList)+" 个:"+ErrorList)
|
|
||||||
sign = 1
|
|
||||||
if (OKList[0] && pflag==1) { //有支持节点、且为策略组才操作
|
|
||||||
console.log("开始排序")
|
|
||||||
ReOrder(OKList)
|
|
||||||
} else if (!OKList[0]){ //不支持
|
|
||||||
content =pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点不支持 YouTube Premium </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到支持 YouTube Premium 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
|
||||||
$done({"title":"YouTube Premium 检测&切换", "htmlMessage": content})
|
|
||||||
} else if (OKList[0]){ //支持, 但为节点
|
|
||||||
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b> 🎉 该节点支持 YouTube Premium </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`
|
|
||||||
$done({"title":"YouTube Premium 检测&切换", "htmlMessage": content})
|
|
||||||
}
|
|
||||||
}, relay)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//选择最优延迟节点
|
|
||||||
function ReOrder(cnt) {
|
|
||||||
const array = cnt;
|
|
||||||
const messageURL = {
|
|
||||||
action: "url_latency_benchmark",
|
|
||||||
content: array
|
|
||||||
};
|
|
||||||
$configuration.sendMessage(messageURL).then(resolve => {
|
|
||||||
if (resolve.error) {
|
|
||||||
console.log(resolve.error);
|
|
||||||
}
|
|
||||||
if (resolve.ret) {
|
|
||||||
let output=JSON.stringify(resolve.ret);
|
|
||||||
console.log("节点延迟:"+output);
|
|
||||||
//排序
|
|
||||||
console.log("排序前: "+ array)
|
|
||||||
if(array){
|
|
||||||
try {
|
|
||||||
array.sort(function (a,b) {
|
|
||||||
//console.log(a+" VS "+b)
|
|
||||||
return (resolve.ret[a][1]!=-1 && resolve.ret[b][1] !=-1)? resolve.ret[a][1]-resolve.ret[b][1] : resolve.ret[b][1]
|
|
||||||
})
|
|
||||||
} catch (err) {
|
|
||||||
console.log(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
console.log("排序后: "+array)
|
|
||||||
let Ping =resolve.ret[array[0]]
|
|
||||||
const dict = { [policy] : array[0]};
|
|
||||||
if(array[0]) {
|
|
||||||
console.log("选定支持YouTube Premium:"+array[0]+"延迟数据为 👉"+Ping)
|
|
||||||
Ping = " ⚡️ 节点延迟 ➟ 「 "+Ping + " 」 "
|
|
||||||
}
|
|
||||||
const mes1 = {
|
|
||||||
action: "set_policy_state",
|
|
||||||
content: dict
|
|
||||||
};
|
|
||||||
$configuration.sendMessage(mes1).then(resolve => {
|
|
||||||
if (resolve.error) {
|
|
||||||
console.log(resolve.error);
|
|
||||||
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>🎉 该节点支持 <b>YouTube Premium</b>" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>YouTube Premium</b>" + `</p>`
|
|
||||||
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到支持 <b>YouTube Premium</b> 的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
|
||||||
$done({"title":"YouTube 检测&切换", "htmlMessage": content})
|
|
||||||
}
|
|
||||||
if (resolve.ret) {
|
|
||||||
console.log("已经切换至支持 <b>Premium</b> 的路线 ➟ "+array[0])
|
|
||||||
if (cronsign == "Y") { $notify("📺 YouTube Premium 定时检测&切换", "🎉 已经切换至支持 Premium 的最优延迟线路👇", array[0] +"\n 👉 "+Ping)}
|
|
||||||
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b>已切换至支持<b>Premium</b> 的路线中延迟最优节点<br><br> 👇<br><br> ⟦ "+array[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
|
||||||
$done({"title":"YouTube 检测&切换", "htmlMessage": content })
|
|
||||||
}
|
|
||||||
}, reject => {
|
|
||||||
$done();
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
//$done();
|
|
||||||
}, reject => {
|
|
||||||
// Normally will never happen.
|
|
||||||
$done();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function testYTB(pname) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
let opts = { policy : pname }
|
|
||||||
let option = {
|
|
||||||
url: BASE_URL,
|
|
||||||
opts: opts,
|
|
||||||
headers: {
|
|
||||||
'User-Agent':
|
|
||||||
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36',
|
|
||||||
'Accept-Language': 'en',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
$task.fetch(option).then(response=> {
|
|
||||||
let data = response.body
|
|
||||||
//console.log(response.statusCode)
|
|
||||||
if (sign==0) {
|
|
||||||
if (response.statusCode !== 200) {
|
|
||||||
console.log(pname+":检测出错")
|
|
||||||
ErrorList.push(pname)
|
|
||||||
reject('Error')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.indexOf('Premium is not available in your country') !== -1) {
|
|
||||||
console.log(pname+":未支持")
|
|
||||||
NoList.push(pname)
|
|
||||||
resolve('Not Available')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
let region = ''
|
|
||||||
let re = new RegExp('"GL":"(.*?)"', 'gm')
|
|
||||||
let result = re.exec(data)
|
|
||||||
if (result != null && result.length === 2) {
|
|
||||||
region = result[1]
|
|
||||||
} else if (data.indexOf('www.google.cn') !== -1) {
|
|
||||||
region = 'CN'
|
|
||||||
} else {
|
|
||||||
region = 'US'
|
|
||||||
}
|
|
||||||
console.log(pname+":支持"+region)
|
|
||||||
OKList.push(pname)
|
|
||||||
resolve(region)
|
|
||||||
}
|
|
||||||
reject('Error')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +1,39 @@
|
|||||||
/***
|
/***
|
||||||
|
|
||||||
Thanks to & modified from
|
|
||||||
1. https://gist.githubusercontent.com/Hyseen/b06e911a41036ebc36acf04ddebe7b9a/raw/nf_check.js
|
|
||||||
2. https://github.com/AtlantisGawrGura/Quantumult-X-Scripts/blob/main/media.js
|
|
||||||
3. https://github.com/CoiaPrant/MediaUnlock_Test/blob/main/check.sh
|
|
||||||
|
|
||||||
|
|
||||||
For Quantumult-X 598+ ONLY!!
|
For Quantumult-X 598+ ONLY!!
|
||||||
|
|
||||||
[task_local]
|
[task_local]
|
||||||
|
|
||||||
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/sswitch-check-ytb.js, tag=YouTube 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/YouTube_Letter.png, enabled=true
|
// UI 查询版本
|
||||||
|
event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-ytb.js, tag=YouTube 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/YouTube_Letter.png, enabled=true
|
||||||
|
|
||||||
|
// cron task 版本
|
||||||
|
0 8 * * * https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/Scripts/switch-check-ytb.js#policy=你的策略组, tag=YouTube 切换, img-url=https://raw.githubusercontent.com/Koolson/Qure/master/IconSet/Color/YouTube_Letter.png, enabled=true
|
||||||
|
|
||||||
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
ps. 简单粗暴的 UI-Interaction 版本。无数据持久化、粗暴延迟等待。完美主义建议使用 Helge大佬的boxjs版本 https://t.me/QuanXNews/193
|
||||||
|
|
||||||
@XIAO_KOP
|
@XIAO_KOP
|
||||||
|
|
||||||
|
2022-07-04
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
const BASE_URL = 'https://www.youtube.com/premium'
|
const BASE_URL = 'https://www.youtube.com/premium'
|
||||||
|
|
||||||
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
const link = { "media-url": "https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/img/southpark/7.png" }
|
||||||
var policy = $environment.params
|
var cronsign = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? "Y" : "N"
|
||||||
|
var policy = $environment.executeType == 0 || $environment.executeType == "0" || $environment.executeType == "-1"? GetPolicy($environment.sourcePath) : $environment.params
|
||||||
|
console.log(JSON.stringify($environment))
|
||||||
|
console.log("策略组:"+policy)
|
||||||
|
|
||||||
|
function GetPolicy(cnt) {
|
||||||
|
if (cnt && cnt.indexOf("#policy=") !=-1) {
|
||||||
|
return decodeURIComponent(cnt.split("#policy=")[1].trim())
|
||||||
|
}else {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const message = {
|
const message = {
|
||||||
action: "get_customized_policy",
|
action: "get_customized_policy",
|
||||||
content: policy
|
content: policy
|
||||||
@@ -42,13 +54,13 @@ $configuration.sendMessage(message).then(resolve => {
|
|||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
//$notify(JSON.stringify(resolve.ret))
|
//$notify(JSON.stringify(resolve.ret))
|
||||||
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [$environment.params]
|
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [policy]
|
||||||
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
pflag = JSON.stringify(resolve.ret[message.content])? pflag:0
|
||||||
console.log("YouTube Premium 检测")
|
console.log("YouTube Premium 检测")
|
||||||
console.log("节点or策略组:"+pflag)
|
console.log("节点or策略组:"+pflag)
|
||||||
if (pflag==1) {
|
if (pflag==1) {
|
||||||
console.log("节点数量:"+resolve.ret[$environment.params]["candidates"].length)
|
console.log("节点数量:"+resolve.ret[policy]["candidates"].length)
|
||||||
if(resolve.ret[$environment.params]["candidates"].length==0) {
|
if(resolve.ret[policy]["candidates"].length==0) {
|
||||||
$done({"title":"YouTube Premium 检测","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
$done({"title":"YouTube Premium 检测","htmlMessage":`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 无有效节点</b>`});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -93,10 +105,10 @@ function Check() {
|
|||||||
console.log("开始排序")
|
console.log("开始排序")
|
||||||
ReOrder(OKList)
|
ReOrder(OKList)
|
||||||
} else if (!OKList[0]){ //不支持
|
} else if (!OKList[0]){ //不支持
|
||||||
content =pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点不支持 YouTube Premium </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+$environment.params+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到支持 YouTube Premium 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
content =pflag==0 ? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b>😭 该节点不支持 YouTube Premium </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`: `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br><b>该策略组内未找到支持 YouTube Premium 的节点" + "<br><br><font color=#FF5733>-----------------------------<br><b>检测详情请查看JS脚本记录</b><br>-----------------------------</font>"+`</p>`
|
||||||
$done({"title":"YouTube Premium 检测&切换", "htmlMessage": content})
|
$done({"title":"YouTube Premium 检测&切换", "htmlMessage": content})
|
||||||
} else if (OKList[0]){ //支持, 但为节点
|
} else if (OKList[0]){ //支持, 但为节点
|
||||||
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b> 🎉 该节点支持 YouTube Premium </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+$environment.params+` ⟧ </b><br>-------------------------</font>`
|
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin"><br><b> 🎉 该节点支持 YouTube Premium </b><br><br>👇<br><br><font color=#FF5733>-------------------------<br><b>⟦ `+policy+` ⟧ </b><br>-------------------------</font>`
|
||||||
$done({"title":"YouTube Premium 检测&切换", "htmlMessage": content})
|
$done({"title":"YouTube Premium 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
}, relay)
|
}, relay)
|
||||||
@@ -143,13 +155,14 @@ function ReOrder(cnt) {
|
|||||||
$configuration.sendMessage(mes1).then(resolve => {
|
$configuration.sendMessage(mes1).then(resolve => {
|
||||||
if (resolve.error) {
|
if (resolve.error) {
|
||||||
console.log(resolve.error);
|
console.log(resolve.error);
|
||||||
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>🎉 该节点支持 <b>YouTube Premium</b>" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>YouTube Premium</b>" + `</p>`
|
content =pflag==0 && array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>🎉 该节点支持 <b>YouTube Premium</b>" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b><br><br>⚠️ 该节点不支持 <b>YouTube Premium</b>" + `</p>`
|
||||||
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+$environment.params+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到支持 <b>YouTube Premium</b> 的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
content = pflag!=0 && !array[0]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br>❌ <b>⟦ "+policy+ " ⟧ </b>⚠️ 切换失败<br><br>该策略组内未找到支持 <b>YouTube Premium</b> 的节点" + "<br><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>` : content
|
||||||
$done({"title":"YouTube 检测&切换", "htmlMessage": content})
|
$done({"title":"YouTube 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
console.log("已经切换至支持 <b>Premium</b> 的路线 ➟ "+array[0])
|
console.log("已经切换至支持 <b>Premium</b> 的路线 ➟ "+array[0])
|
||||||
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b>已切换至支持<b>Premium</b> 的路线中延迟最优节点<br><br> 👇<br><br> ⟦ "+array[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
if (cronsign == "Y") { $notify("📺 YouTube Premium 定时检测&切换", "🎉 已经切换至支持 Premium 的最优延迟线路👇", array[0] +"\n 👉 "+Ping)}
|
||||||
|
content = `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+policy+ " ⟧ </b>已切换至支持<b>Premium</b> 的路线中延迟最优节点<br><br> 👇<br><br> ⟦ "+array[0]+ " ⟧" + "<br><br><font color=#16A085>"+Ping+"</font><br>-----------------------------<br><b><font color=#FF5733>检测详情请查看JS脚本记录</font></b><br>-----------------------------"+`</p>`
|
||||||
$done({"title":"YouTube 检测&切换", "htmlMessage": content })
|
$done({"title":"YouTube 检测&切换", "htmlMessage": content })
|
||||||
}
|
}
|
||||||
}, reject => {
|
}, reject => {
|
||||||
|
|||||||
Reference in New Issue
Block a user