From 1778b01fde56e77ffb98c7c5d35447eb0a576d2c Mon Sep 17 00:00:00 2001 From: src48597962 <48597962@qq.com> Date: Tue, 14 Mar 2023 08:56:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'SrcJyAliDisk.js'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SrcJyAliDisk.js | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/SrcJyAliDisk.js b/SrcJyAliDisk.js index 2d74e7ae..722b0ee4 100644 --- a/SrcJyAliDisk.js +++ b/SrcJyAliDisk.js @@ -204,15 +204,15 @@ function aliSharePlayUrl(share_id,share_pwd,file_id,alitoken){ } -function getAliUrl(share_id, file_id, alitoken) { +function getAliUrl(share_id, share_pwd, file_id, alitoken) { try { let urls = []; let names = []; let heads = []; - let u = startProxyServer($.toString((aliSharePlayUrl,file_id,share_id,alitoken) => { + let u = startProxyServer($.toString((aliSharePlayUrl,share_id,share_pwd,file_id,alitoken) => { function geturl(fileid,line){ //预加载时会变file_id,所以ts过期更新时还取原来的id - let playUrlList = aliSharePlayUrl(share_id, fileid, alitoken) || []; + let playUrlList = aliSharePlayUrl(share_id,share_pwd,fileid,alitoken) || []; let aliurl; playUrlList.forEach((item) => { if(item.template_id == line){ @@ -275,13 +275,25 @@ function getAliUrl(share_id, file_id, alitoken) { }); }else{ //log('首次更新') - let line = url.split('|')[1]; - let ff = geturl(file_id,line); + //let line = url.split('|')[1]; + let aliurl = JSON.parse(request(url.split('|')[0], { headers: { 'Referer': 'https://www.aliyundrive.com/' }, onlyHeaders: true, redirect: false, timeout: 3000 })).headers.location[0]; + //let ff = geturl(file_id,line); + //return ff; + let home = aliurl.split('media.m3u8')[0]; + let f = fetch(aliurl, { headers: { 'Referer': 'https://www.aliyundrive.com/' }, timeout: 3000}).split("\n"); + let ff = f.map(it => { + if (it.startsWith("media-")) { + return "/proxy?url=" + base64Encode(home+it); + } + return it; + }).join("\n"); + //log('ufid-'+fileid); + writeFile('hiker://files/cache/_fileSelect_'+fileid+'.m3u8',ff); return ff; } - },aliSharePlayUrl,file_id,share_id,alitoken)); + },aliSharePlayUrl,share_id,share_pwd,file_id,alitoken)); - let playUrlList = aliSharePlayUrl(share_id, file_id, alitoken) || []; + let playUrlList = aliSharePlayUrl(share_id, share_pwd, file_id, alitoken) || []; if(playUrlList.length>0){ playUrlList.forEach((item) => { urls.push(u + "?url=" + base64Encode(item.url+"|"+item.template_id) + "#.m3u8#pre#");