Rules-For-Quantumult-X/Scripts/AdBlock/Other/BahamutAnimeAds.min.js

1 line
1.1 KiB
JavaScript

let[req,rsp]=[$request,JSON.parse($response.body||"{}")];runs().catch((err)=>{console.log(`[BahamutAnime]ERROR:${err.message||err}`)}).finally(()=>$done({body:JSON.stringify(rsp),}));async function runs(){if(req.url.includes("token.php")){if(rsp.ad){rsp.ad.minor=[];rsp.ad.major=[]}if(rsp.data&&rsp.data.ad){rsp.data.ad.minor=[];rsp.data.ad.major=[]}}if(req.url.includes("m3u8.php")&&(rsp.message||rsp.error)){await adURL("");await new Promise((r)=>setTimeout(r,25000));await adURL("end");rsp=await playURL()}}function adURL(str){return new Promise((res)=>{get({url:`https:req.url.split(/sn=(\d+)/i)[1]}`,headers:req.headers,},(err,resp,data)=>res())})}function playURL(){return new Promise((res)=>{get({url:req.url,headers:req.headers,},(err,resp,data)=>res(JSON.parse(data||"{}")))})}function get(options,callback){if(typeof $task!="undefined"){$task.fetch(options).then((response)=>{response["status"]=response.statusCode;callback(null,response,response.body)},(reason)=>callback(reason.error,null,null))}if(typeof $httpClient!="undefined"){$httpClient.get(options,callback)}}