更新 'SrcJyAlist.js'

master
src48597962 2 years ago
parent 78b7d24a64
commit aa748c519a
  1. 41
      SrcJyAlist.js

@ -963,23 +963,42 @@ function getAliUrl(share_id, file_id, alitoken) {
log("我在代理" + aliurl); log("我在代理" + aliurl);
let home = aliurl.split('media.m3u8')[0]; let home = aliurl.split('media.m3u8')[0];
let f = fetch(aliurl, { headers: { 'Referer': 'https://www.aliyundrive.com/' }, timeout: 3000}).split("\n"); let f = fetch(aliurl, { headers: { 'Referer': 'https://www.aliyundrive.com/' }, timeout: 3000}).split("\n");
return f.map(it => { let ff = f.map(it => {
if (it.startsWith("media-")) { if (it.startsWith("media-")) {
return "/proxy?url=" + base64Encode(home+it); return "/proxy?url=" + base64Encode(home+it);
} }
return it; return it;
}).join("\n"); }).join("\n");
writeFile('hiker://files/cache/_fileSelect_'+file_id,ff);
return ff;
} }
let url = base64Decode(MY_PARAMS.url); let url = base64Decode(MY_PARAMS.url);
let playUrl;
if(url.includes(".ts")){ if(url.includes(".ts")){
let expires = url.split('x-oss-expires=')[1].split('&')[0]; let f = fetch('hiker://files/cache/_fileSelect_'+file_id).split("\n");
if(Math.round(new Date() / 1000) > Math.round(expires)-30){ f.forEach(it => {
if(it && (url.substr(url.indexOf('/media-'),url.indexOf('.ts')) == it.substr(it.indexOf('/media-'),it.indexOf('.ts')))){
url = it;
}
})
//let expires = url.split('x-oss-expires=')[1].split('&')[0];
let expires = url.substr(url.indexOf('x-oss-expires=') + 'x-oss-expires='.length);
expires = expires.substr(0, expires.indexOf('&'));
const lasttime = parseInt(expires) - Date.now() / 1000;
//if(Math.round(new Date() / 1000) > Math.round(expires)-30){
if(lasttime < 60){
log('过期更新') log('过期更新')
return geturl(); let f = geturl().split("\n");
f.forEach(it => {
if(it && (url.substr(url.indexOf('/media-'),url.indexOf('.ts')) == it.substr(it.indexOf('/media-'),it.indexOf('.ts')))){
url = it;
}
})
}else{ }else{
log('未过期') log('未过期')
//log("代理ts:" + url);
}
return JSON.stringify({ return JSON.stringify({
statusCode: 302, statusCode: 302,
headers: { headers: {
@ -987,18 +1006,10 @@ function getAliUrl(share_id, file_id, alitoken) {
'Referer': 'https://www.aliyundrive.com/' 'Referer': 'https://www.aliyundrive.com/'
} }
}); });
}
//log("代理ts:" + url);
//此时可以根据实际逻辑得到真实有效的ts地址
}else{ }else{
log('首次更新') log('首次更新')
return geturl(); let ff = geturl();
return ff;
} }

Loading…
Cancel
Save