diff --git a/.DS_Store b/.DS_Store index a6cacdd..32cb939 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Scripts/resource-parser.js b/Scripts/resource-parser.js index 2569210..eace04d 100644 --- a/Scripts/resource-parser.js +++ b/Scripts/resource-parser.js @@ -1826,7 +1826,7 @@ function get_emoji(emojip, sname) { "๐Ÿ‡ซ๐Ÿ‡ฎ": ["Finland", "่Šฌๅ…ฐ","่Šฌ่˜ญ","่ตซๅฐ”่พ›ๅŸบ"], "๐Ÿ‡ซ๐Ÿ‡ท": ["FR", "France", "ๆณ•ๅ›ฝ", "ๆณ•ๅœ‹", "ๅทด้ปŽ"], "๐Ÿ‡ฌ๐Ÿ‡ง": ["UK", "GB", "England", "United Kingdom", "่‹ฑๅ›ฝ", "ไผฆๆ•ฆ", "่‹ฑ"], - "๐Ÿ‡ฒ๐Ÿ‡ด": ["MO", "Macao", "MAC", "ๆพณ้—จ", "ๆพณ้–€", "CTM"], + "๐Ÿ‡ฒ๐Ÿ‡ด": ["MO", "Macao","Macau", "MAC", "ๆพณ้—จ", "ๆพณ้–€", "CTM"], "๐Ÿ‡ฐ๐Ÿ‡ฟ": ["ๅ“ˆ่จๅ…‹ๆ–ฏๅฆ"], "๐Ÿ‡ญ๐Ÿ‡บ": ["ๅŒˆ็‰™ๅˆฉ", "Hungary"], "๐Ÿ‡ฑ๐Ÿ‡น": ["็ซ‹้™ถๅฎ›"], diff --git a/Scripts/streaming-ui-check.js b/Scripts/streaming-ui-check.js index 80e6809..634e1e3 100644 --- a/Scripts/streaming-ui-check.js +++ b/Scripts/streaming-ui-check.js @@ -1,8 +1,9 @@ /*** 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 +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+ @@ -20,7 +21,7 @@ event-interaction https://raw.githubusercontent.com/KOP-XIAO/QuantumultX/master/ const BASE_URL = 'https://www.netflix.com/title/'; const BASE_URL_YTB = "https://www.youtube.com/premium"; const BASE_URL_DISNEY = 'https://www.disneyplus.com'; -const BASE_URL_Dazn = "https://www.dazn.com/"; +const BASE_URL_Dazn = "https://startup.core.indazn.com/misl/v5/Startup"; //var BASE_URL_BLBL = "https://api.bilibili.com/pgc/player/web/playurl?avid=18281381&cid=29892777&qn=0&type=&otype=json&ep_id=183799&fourk=1&fnver=0&fnval=16&session=" + randomString(20) + "&module=bangumi"; //const BASE_URL_BahamutAnime = 'https://ani.gamer.com.tw/ajax/token.php?adID=89422&sn=14667'; //const BASE_URL_HULUJP = 'https://id.hulu.jp'; @@ -59,10 +60,10 @@ function randomString(e) var flags = new Map([[ "AC" , "๐Ÿ‡ฆ๐Ÿ‡จ" ] , [ "AF" , "๐Ÿ‡ฆ๐Ÿ‡ซ" ] , [ "AI" , "๐Ÿ‡ฆ๐Ÿ‡ฎ" ] , [ "AL" , "๐Ÿ‡ฆ๐Ÿ‡ฑ" ] , [ "AM" , "๐Ÿ‡ฆ๐Ÿ‡ฒ" ] , [ "AQ" , "๐Ÿ‡ฆ๐Ÿ‡ถ" ] , [ "AR" , "๐Ÿ‡ฆ๐Ÿ‡ท" ] , [ "AS" , "๐Ÿ‡ฆ๐Ÿ‡ธ" ] , [ "AT" , "๐Ÿ‡ฆ๐Ÿ‡น" ] , [ "AU" , "๐Ÿ‡ฆ๐Ÿ‡บ" ] , [ "AW" , "๐Ÿ‡ฆ๐Ÿ‡ผ" ] , [ "AX" , "๐Ÿ‡ฆ๐Ÿ‡ฝ" ] , [ "AZ" , "๐Ÿ‡ฆ๐Ÿ‡ฟ" ] , [ "BB" , "๐Ÿ‡ง๐Ÿ‡ง" ] , [ "BD" , "๐Ÿ‡ง๐Ÿ‡ฉ" ] , [ "BE" , "๐Ÿ‡ง๐Ÿ‡ช" ] , [ "BF" , "๐Ÿ‡ง๐Ÿ‡ซ" ] , [ "BG" , "๐Ÿ‡ง๐Ÿ‡ฌ" ] , [ "BH" , "๐Ÿ‡ง๐Ÿ‡ญ" ] , [ "BI" , "๐Ÿ‡ง๐Ÿ‡ฎ" ] , [ "BJ" , "๐Ÿ‡ง๐Ÿ‡ฏ" ] , [ "BM" , "๐Ÿ‡ง๐Ÿ‡ฒ" ] , [ "BN" , "๐Ÿ‡ง๐Ÿ‡ณ" ] , [ "BO" , "๐Ÿ‡ง๐Ÿ‡ด" ] , [ "BR" , "๐Ÿ‡ง๐Ÿ‡ท" ] , [ "BS" , "๐Ÿ‡ง๐Ÿ‡ธ" ] , [ "BT" , "๐Ÿ‡ง๐Ÿ‡น" ] , [ "BV" , "๐Ÿ‡ง๐Ÿ‡ป" ] , [ "BW" , "๐Ÿ‡ง๐Ÿ‡ผ" ] , [ "BY" , "๐Ÿ‡ง๐Ÿ‡พ" ] , [ "BZ" , "๐Ÿ‡ง๐Ÿ‡ฟ" ] , [ "CA" , "๐Ÿ‡จ๐Ÿ‡ฆ" ] , [ "CF" , "๐Ÿ‡จ๐Ÿ‡ซ" ] , [ "CH" , "๐Ÿ‡จ๐Ÿ‡ญ" ] , [ "CK" , "๐Ÿ‡จ๐Ÿ‡ฐ" ] , [ "CL" , "๐Ÿ‡จ๐Ÿ‡ฑ" ] , [ "CM" , "๐Ÿ‡จ๐Ÿ‡ฒ" ] , [ "CN" , "๐Ÿ‡จ๐Ÿ‡ณ" ] , [ "CO" , "๐Ÿ‡จ๐Ÿ‡ด" ] , [ "CP" , "๐Ÿ‡จ๐Ÿ‡ต" ] , [ "CR" , "๐Ÿ‡จ๐Ÿ‡ท" ] , [ "CU" , "๐Ÿ‡จ๐Ÿ‡บ" ] , [ "CV" , "๐Ÿ‡จ๐Ÿ‡ป" ] , [ "CW" , "๐Ÿ‡จ๐Ÿ‡ผ" ] , [ "CX" , "๐Ÿ‡จ๐Ÿ‡ฝ" ] , [ "CY" , "๐Ÿ‡จ๐Ÿ‡พ" ] , [ "CZ" , "๐Ÿ‡จ๐Ÿ‡ฟ" ] , [ "DE" , "๐Ÿ‡ฉ๐Ÿ‡ช" ] , [ "DG" , "๐Ÿ‡ฉ๐Ÿ‡ฌ" ] , [ "DJ" , "๐Ÿ‡ฉ๐Ÿ‡ฏ" ] , [ "DK" , "๐Ÿ‡ฉ๐Ÿ‡ฐ" ] , [ "DM" , "๐Ÿ‡ฉ๐Ÿ‡ฒ" ] , [ "DO" , "๐Ÿ‡ฉ๐Ÿ‡ด" ] , [ "DZ" , "๐Ÿ‡ฉ๐Ÿ‡ฟ" ] , [ "EA" , "๐Ÿ‡ช๐Ÿ‡ฆ" ] , [ "EC" , "๐Ÿ‡ช๐Ÿ‡จ" ] , [ "EE" , "๐Ÿ‡ช๐Ÿ‡ช" ] , [ "EG" , "๐Ÿ‡ช๐Ÿ‡ฌ" ] , [ "EH" , "๐Ÿ‡ช๐Ÿ‡ญ" ] , [ "ER" , "๐Ÿ‡ช๐Ÿ‡ท" ] , [ "ES" , "๐Ÿ‡ช๐Ÿ‡ธ" ] , [ "ET" , "๐Ÿ‡ช๐Ÿ‡น" ] , [ "EU" , "๐Ÿ‡ช๐Ÿ‡บ" ] , [ "FI" , "๐Ÿ‡ซ๐Ÿ‡ฎ" ] , [ "FJ" , "๐Ÿ‡ซ๐Ÿ‡ฏ" ] , [ "FK" , "๐Ÿ‡ซ๐Ÿ‡ฐ" ] , [ "FM" , "๐Ÿ‡ซ๐Ÿ‡ฒ" ] , [ "FO" , "๐Ÿ‡ซ๐Ÿ‡ด" ] , [ "FR" , "๐Ÿ‡ซ๐Ÿ‡ท" ] , [ "GA" , "๐Ÿ‡ฌ๐Ÿ‡ฆ" ] , [ "GB" , "๐Ÿ‡ฌ๐Ÿ‡ง" ] , [ "HK" , "๐Ÿ‡ญ๐Ÿ‡ฐ" ] ,["HU","๐Ÿ‡ญ๐Ÿ‡บ"], [ "ID" , "๐Ÿ‡ฎ๐Ÿ‡ฉ" ] , [ "IE" , "๐Ÿ‡ฎ๐Ÿ‡ช" ] , [ "IL" , "๐Ÿ‡ฎ๐Ÿ‡ฑ" ] , [ "IM" , "๐Ÿ‡ฎ๐Ÿ‡ฒ" ] , [ "IN" , "๐Ÿ‡ฎ๐Ÿ‡ณ" ] , [ "IS" , "๐Ÿ‡ฎ๐Ÿ‡ธ" ] , [ "IT" , "๐Ÿ‡ฎ๐Ÿ‡น" ] , [ "JP" , "๐Ÿ‡ฏ๐Ÿ‡ต" ] , [ "KR" , "๐Ÿ‡ฐ๐Ÿ‡ท" ] , [ "LU" , "๐Ÿ‡ฑ๐Ÿ‡บ" ] , [ "MO" , "๐Ÿ‡ฒ๐Ÿ‡ด" ] , [ "MX" , "๐Ÿ‡ฒ๐Ÿ‡ฝ" ] , [ "MY" , "๐Ÿ‡ฒ๐Ÿ‡พ" ] , [ "NL" , "๐Ÿ‡ณ๐Ÿ‡ฑ" ] , [ "PH" , "๐Ÿ‡ต๐Ÿ‡ญ" ] , [ "RO" , "๐Ÿ‡ท๐Ÿ‡ด" ] , [ "RS" , "๐Ÿ‡ท๐Ÿ‡ธ" ] , [ "RU" , "๐Ÿ‡ท๐Ÿ‡บ" ] , [ "RW" , "๐Ÿ‡ท๐Ÿ‡ผ" ] , [ "SA" , "๐Ÿ‡ธ๐Ÿ‡ฆ" ] , [ "SB" , "๐Ÿ‡ธ๐Ÿ‡ง" ] , [ "SC" , "๐Ÿ‡ธ๐Ÿ‡จ" ] , [ "SD" , "๐Ÿ‡ธ๐Ÿ‡ฉ" ] , [ "SE" , "๐Ÿ‡ธ๐Ÿ‡ช" ] , [ "SG" , "๐Ÿ‡ธ๐Ÿ‡ฌ" ] , [ "TH" , "๐Ÿ‡น๐Ÿ‡ญ" ] , [ "TN" , "๐Ÿ‡น๐Ÿ‡ณ" ] , [ "TO" , "๐Ÿ‡น๐Ÿ‡ด" ] , [ "TR" , "๐Ÿ‡น๐Ÿ‡ท" ] , [ "TV" , "๐Ÿ‡น๐Ÿ‡ป" ] , [ "TW" , "๐Ÿ‡จ๐Ÿ‡ณ" ] , [ "UK" , "๐Ÿ‡ฌ๐Ÿ‡ง" ] , [ "UM" , "๐Ÿ‡บ๐Ÿ‡ฒ" ] , [ "US" , "๐Ÿ‡บ๐Ÿ‡ธ" ] , [ "UY" , "๐Ÿ‡บ๐Ÿ‡พ" ] , [ "UZ" , "๐Ÿ‡บ๐Ÿ‡ฟ" ] , [ "VA" , "๐Ÿ‡ป๐Ÿ‡ฆ" ] , [ "VE" , "๐Ÿ‡ป๐Ÿ‡ช" ] , [ "VG" , "๐Ÿ‡ป๐Ÿ‡ฌ" ] , [ "VI" , "๐Ÿ‡ป๐Ÿ‡ฎ" ] , [ "VN" , "๐Ÿ‡ป๐Ÿ‡ณ" ] , [ "ZA" , "๐Ÿ‡ฟ๐Ÿ‡ฆ"]]) let result = { - "title": '๐Ÿ“บ ๆตๅช’ไฝ“ๆœๅŠกๆŸฅ่ฏข\n----------------------', + "title": '๐Ÿ“บ ๆตๅช’ไฝ“ๆœๅŠกๆŸฅ่ฏข', "YouTube": 'YouTube: ๆฃ€ๆต‹ๅคฑ่ดฅ๏ผŒ่ฏท้‡่ฏ•', "Netflix": 'Netflix: ๆฃ€ๆต‹ๅคฑ่ดฅ๏ผŒ่ฏท้‡่ฏ•', - //"Dazn": "Dazn: ๆฃ€ๆต‹ๅคฑ่ดฅ๏ผŒ่ฏท้‡่ฏ•", + "Dazn": "Dazn: ๆฃ€ๆต‹ๅคฑ่ดฅ๏ผŒ่ฏท้‡่ฏ•", "Disney": "Disney: ๆฃ€ๆต‹ๅคฑ่ดฅ๏ผŒ่ฏท้‡่ฏ•", //"Google": "Google ๅฎšไฝ: ๆฃ€ๆต‹ๅคฑ่ดฅ๏ผŒ่ฏท้‡่ฏ•" @@ -74,9 +75,9 @@ function StreamingCheck(){ testYTB() test(FILM_ID) testDisney() - //testDazn() + testDazn() setTimeout(function(){ - $done({"title": result["title"],"message": ([result["YouTube"],result["Netflix"],result["Disney"]]).join("\n\n") +'\n----------------------\n'+ $environment.params}) + $done({"title": result["title"],"message": "\n----------------------"+([result["YouTube"],result["Netflix"],result["Disney"],result["Dazn"]]).join("\n\n") +'\n----------------------\n'+ $environment.params}) },6000) } @@ -203,40 +204,52 @@ function testDisney(){ } function testDazn() { + + const extra =`{ + "LandingPageKey":"generic", + "Platform":"web", + "PlatformAttributes":{}, + "Manufacturer":"", + "PromoCode":"", + "Version":"2" + }` let option = { url: BASE_URL_Dazn, + method: "POST", opts: opts, timeout: 4000, 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' + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36', + "Content-Type": "application/json" }, + body: extra } + $task.fetch(option).then(response=> { let data = response.body + //data = extra let header = JSON.stringify(response.headers) console.log("Dazn:"+response.statusCode) - console.log("Dazn:"+header) + //console.log("Dazn:"+data) + //$done(data) if (response.statusCode !== 200) { //reject('Error') result["Dazn"] = "Dazn: ๆฃ€ๆต‹ๅคฑ่ดฅ" - } else if (data.indexOf('Premium is not available in your country') !== -1) { - //resolve('Not Available') - result["Dazn"] = "Dazn: ๆœชๆ”ฏๆŒ" - } else if (data.indexOf('Premium is not available in your country') == -1) {//console.log(data.split("countryCode")[1]) + } else if (response.statusCode == 200) {//console.log(data.split("countryCode")[1]) + console.log(data) let region = '' - let re = new RegExp('"GL":"(.*?)"', 'gm') + let re = new RegExp('"GeolocatedCountry":"(.*?)"', 'gm') let ret = re.exec(data) if (ret != null && ret.length === 2) { region = ret[1] - } else if (data.indexOf('www.google.cn') !== -1) { - region = 'CN' + result["Dazn"] = "Dazn: ๆ”ฏๆŒ"+ "โŸฆ"+flags.get(region.toUpperCase())+"โŸง" } else { - region = 'US' + result["Dazn"] = "Dazn: ๆœชๆ”ฏๆŒ" + } //resolve(region) - result["Dazn"] = "Dazn: ๆ”ฏๆŒ"+ "โŸฆ"+flags.get(region.toUpperCase())+"โŸง" - console.log("Dazn:"+region+ result["Dazn"]) + console.log("Dazn:"+region+ result["Dazn"]) } }, reason => { result["Dazn"] = "Dazn: ๆฃ€ๆต‹่ถ…ๆ—ถ"