mirror of
https://github.com/KOP-XIAO/QuantumultX.git
synced 2026-01-25 17:15:09 +00:00
paramount plus
This commit is contained in:
@@ -22,6 +22,7 @@ const BASE_URL = 'https://www.netflix.com/title/';
|
|||||||
const BASE_URL_YTB = "https://www.youtube.com/premium";
|
const BASE_URL_YTB = "https://www.youtube.com/premium";
|
||||||
const BASE_URL_DISNEY = 'https://www.disneyplus.com';
|
const BASE_URL_DISNEY = 'https://www.disneyplus.com';
|
||||||
const BASE_URL_Dazn = "https://startup.core.indazn.com/misl/v5/Startup";
|
const BASE_URL_Dazn = "https://startup.core.indazn.com/misl/v5/Startup";
|
||||||
|
const BASE_URL_Param = "https://www.paramountplus.com/"
|
||||||
|
|
||||||
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" }
|
||||||
@@ -60,6 +61,7 @@ let result = {
|
|||||||
"Netflix": '<b>Netflix: </b>检测失败,请重试',
|
"Netflix": '<b>Netflix: </b>检测失败,请重试',
|
||||||
"Dazn": "<b>Dazn: </b>检测失败,请重试",
|
"Dazn": "<b>Dazn: </b>检测失败,请重试",
|
||||||
"Disney": "<b>Disney⁺: </b>检测失败,请重试",
|
"Disney": "<b>Disney⁺: </b>检测失败,请重试",
|
||||||
|
"Paramount" : "<b>Paramount⁺: </b>检测失败,请重试",
|
||||||
//"Google": "Google 定位: 检测失败,请重试"
|
//"Google": "Google 定位: 检测失败,请重试"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -71,6 +73,7 @@ const message = {
|
|||||||
;(async () => {
|
;(async () => {
|
||||||
testYTB()
|
testYTB()
|
||||||
testDazn()
|
testDazn()
|
||||||
|
testParam()
|
||||||
let [{ region, status }] = await Promise.all([testDisneyPlus(),testNf(FILM_ID)])
|
let [{ region, status }] = await Promise.all([testDisneyPlus(),testNf(FILM_ID)])
|
||||||
console.log(result["Netflix"])
|
console.log(result["Netflix"])
|
||||||
console.log(`testDisneyPlus: region=${region}, status=${status}`)
|
console.log(`testDisneyPlus: region=${region}, status=${status}`)
|
||||||
@@ -103,7 +106,7 @@ $configuration.sendMessage(message).then(resolve => {
|
|||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
let output=JSON.stringify(resolve.ret[message.content])? JSON.stringify(resolve.ret[message.content]).replace(/\"|\[|\]/g,"").replace(/\,/g," ➟ ") : $environment.params
|
let output=JSON.stringify(resolve.ret[message.content])? JSON.stringify(resolve.ret[message.content]).replace(/\"|\[|\]/g,"").replace(/\,/g," ➟ ") : $environment.params
|
||||||
let content = "------------------------------"+"</br>"+([result["YouTube"],result["Netflix"],result["Disney"],result["Dazn"]]).join("</br></br>")
|
let content = "------------------------------"+"</br>"+([result["YouTube"],result["Netflix"],result["Disney"],result["Dazn"],result["Paramount"]]).join("</br></br>")
|
||||||
content = content + "</br>------------------------------</br>"+"<font color=#6959CD>"+"<b>节点</b> ➟ " + output+ "</font>"
|
content = content + "</br>------------------------------</br>"+"<font color=#6959CD>"+"<b>节点</b> ➟ " + output+ "</font>"
|
||||||
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + content + `</p>`
|
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + content + `</p>`
|
||||||
//$notify(typeof(output),output)
|
//$notify(typeof(output),output)
|
||||||
@@ -128,7 +131,7 @@ $configuration.sendMessage(message).then(resolve => {
|
|||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
let output=JSON.stringify(resolve.ret[message.content])? JSON.stringify(resolve.ret[message.content]).replace(/\"|\[|\]/g,"").replace(/\,/g," ➟ ") : $environment.params
|
let output=JSON.stringify(resolve.ret[message.content])? JSON.stringify(resolve.ret[message.content]).replace(/\"|\[|\]/g,"").replace(/\,/g," ➟ ") : $environment.params
|
||||||
let content = "------------------------------"+"</br>"+([result["YouTube"],result["Netflix"],result["Disney"],result["Dazn"]]).join("</br></br>")
|
let content = "------------------------------"+"</br>"+([result["YouTube"],result["Netflix"],result["Disney"],result["Dazn"],,result["Paramount"]]).join("</br></br>")
|
||||||
content = content + "</br>------------------------------</br>"+"<font color=#6959CD>"+"<b>节点</b> ➟ " + output+ "</font>"
|
content = content + "</br>------------------------------</br>"+"<font color=#6959CD>"+"<b>节点</b> ➟ " + output+ "</font>"
|
||||||
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + content + `</p>`
|
content =`<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + content + `</p>`
|
||||||
//$notify(typeof(output),output)
|
//$notify(typeof(output),output)
|
||||||
@@ -310,7 +313,7 @@ function testNf(filmId) {
|
|||||||
//console.log("nfnf")
|
//console.log("nfnf")
|
||||||
result["Netflix"] = "<b>Netflix: </b>未支持"
|
result["Netflix"] = "<b>Netflix: </b>未支持"
|
||||||
console.log("nf:"+result["Netflix"])
|
console.log("nf:"+result["Netflix"])
|
||||||
// $notify("nf:"+result["Netflix"])
|
//$notify("nf:"+result["Netflix"])
|
||||||
resolve('Not Available')
|
resolve('Not Available')
|
||||||
return
|
return
|
||||||
} else if (response.statusCode === 200) {
|
} else if (response.statusCode === 200) {
|
||||||
@@ -321,7 +324,7 @@ function testNf(filmId) {
|
|||||||
region = 'us'
|
region = 'us'
|
||||||
}
|
}
|
||||||
console.log("nf:"+region)
|
console.log("nf:"+region)
|
||||||
result["Netflix"] = "<b>Netflix: </b>完整支持"+ "⟦"+flags.get(region.toUpperCase())+"⟧"
|
result["Netflix"] = "<b>Netflix: </b>完整支持"+arrow+ "⟦"+flags.get(region.toUpperCase())+"⟧"
|
||||||
//$notify("nf:"+result["Netflix"])
|
//$notify("nf:"+result["Netflix"])
|
||||||
resolve("nf:"+result["Netflix"])
|
resolve("nf:"+result["Netflix"])
|
||||||
return
|
return
|
||||||
@@ -367,7 +370,7 @@ function testYTB() {
|
|||||||
region = 'US'
|
region = 'US'
|
||||||
}
|
}
|
||||||
//resolve(region)
|
//resolve(region)
|
||||||
result["YouTube"] = "<b>YouTube Premium: </b>支持"+ "⟦"+flags.get(region.toUpperCase())+"⟧"
|
result["YouTube"] = "<b>YouTube Premium: </b>支持"+arrow+ "⟦"+flags.get(region.toUpperCase())+"⟧"
|
||||||
console.log("ytb:"+region+ result["YouTube"])
|
console.log("ytb:"+region+ result["YouTube"])
|
||||||
}
|
}
|
||||||
}, reason => {
|
}, reason => {
|
||||||
@@ -416,7 +419,7 @@ function testDazn() {
|
|||||||
let ret = re.exec(data)
|
let ret = re.exec(data)
|
||||||
if (ret != null && ret.length === 2) {
|
if (ret != null && ret.length === 2) {
|
||||||
region = ret[1]
|
region = ret[1]
|
||||||
result["Dazn"] = "<b>Dazn: </b>支持"+ "⟦"+flags.get(region.toUpperCase())+"⟧"
|
result["Dazn"] = "<b>Dazn: </b>支持"+arrow+ "⟦"+flags.get(region.toUpperCase())+"⟧"
|
||||||
} else {
|
} else {
|
||||||
result["Dazn"] = "<b>Dazn: </b>未支持"
|
result["Dazn"] = "<b>Dazn: </b>未支持"
|
||||||
|
|
||||||
@@ -430,3 +433,29 @@ function testDazn() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testParam() {
|
||||||
|
let option = {
|
||||||
|
url: BASE_URL_Param,
|
||||||
|
opts: opts1,
|
||||||
|
timeout: 2800,
|
||||||
|
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'
|
||||||
|
},
|
||||||
|
}
|
||||||
|
$task.fetch(option).then(response=> {
|
||||||
|
//let data = response.body
|
||||||
|
console.log("Paramount⁺:"+response.statusCode)
|
||||||
|
if (response.statusCode == 200) {
|
||||||
|
//reject('Error')
|
||||||
|
result["Paramount"] = "<b>Paramount⁺: </b>支持"
|
||||||
|
} else if (response.statusCode == 302) {
|
||||||
|
//resolve('Not Available')
|
||||||
|
result["Paramount"] = "<b>Pramount⁺: </b>未支持"
|
||||||
|
}
|
||||||
|
console.log("Paramount⁺:"+ result["Paramount"])
|
||||||
|
}, reason => {
|
||||||
|
result["Paramount"] = "<b>Paramount⁺: </b>检测超时"
|
||||||
|
//resolve("timeout")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ $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.stringify(resolve.ret[message.content]["candidates"]).replace(/\"|\[|\]/g,"").replace(/\,/g," ➟ ").split(" ➟ ") : [$environment.params]
|
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [$environment.params]
|
||||||
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)
|
||||||
@@ -88,9 +88,9 @@ function Check() {
|
|||||||
$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 && OKList[1]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>该节点完整支持 Netflix" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>该节点不支持 Netflix" + `</p>`
|
content =pflag==0 && OKList[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>` : `<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 && !OKList[1]? `<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>检测详情请查看JS脚本记录</b><br>-----------------------------"+`</p>` : content
|
content = pflag!=0 && !OKList[1]? `<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>检测详情请查看JS脚本记录</b><br>-----------------------------"+`</p>` : content
|
||||||
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
$done({"title":"Netflix 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ $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.stringify(resolve.ret[message.content]["candidates"]).replace(/\"|\[|\]/g,"").replace(/\,/g," ➟ ").split(" ➟ ") : [$environment.params]
|
output=JSON.stringify(resolve.ret[message.content])? JSON.parse(JSON.stringify(resolve.ret[message.content]["candidates"])) : [$environment.params]
|
||||||
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)
|
||||||
@@ -84,8 +84,8 @@ function Check() {
|
|||||||
$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 && OKList[1]? `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>该节点支持 YouTube Premium" + `</p>` : `<p style="text-align: center; font-family: -apple-system; font-size: large; font-weight: thin">` + "<br><b>⟦ "+$environment.params+ " ⟧ </b><br><br>该节点不支持 YouTube Premium" + `</p>`
|
content =pflag==0 && OKList[1]? `<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 && !OKList[1]? `<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>检测详情请查看JS脚本记录</b><br>-----------------------------"+`</p>` : content
|
content = pflag!=0 && !OKList[1]? `<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>检测详情请查看JS脚本记录</b><br>-----------------------------"+`</p>` : content
|
||||||
$done({"title":"YouTube 检测&切换", "htmlMessage": content})
|
$done({"title":"YouTube 检测&切换", "htmlMessage": content})
|
||||||
}
|
}
|
||||||
if (resolve.ret) {
|
if (resolve.ret) {
|
||||||
|
|||||||
Reference in New Issue
Block a user