主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
2020506thank您发表评论并更新您的世纪互联网问题。 Century Internet需要一个特殊的链接才能获得Refresh_token。 下面更新。
这也是一个突然出现的想法。 我的香港服务器最近已过期,我需要迁移我先前构建的OlainDex和Pyone。 但是现实不是那么美丽。 没有更多的空闲服务器可以使用。 我不想购买新服务器。 因为有很多事情无法避免。 他花了钱,但没有提高自己的技能。 所以我想知道是否有免费方法。
实际上,还有Heroku,它使您可以部署Onelist。 但是,我记得使用CF部署诸如GoIndex之类的GoIndex列表程序。 CF被打破了,但是CF没有构建GoIndex的速度。 但是,OneDrive在中国可以直接访问,因此您无需查看CF。 这应该确保一定的速度。 CF可以部署ONEDRIVE列表程序吗? 有了这个想法之后,我迅速去了百度和Google一段时间了,终于找到了一个使用云功能部署的程序FODI。
fodi(快速OneDrive索引)更接近第二速列表。 指定显示路径。 特定文件夹的加密。 没有服务器的免费部署。 基本文本,照片,音频,视频和办公室预览。
FODI程序的开源地址:
https://github.com/vcheckzen/fodi
,由于某些原因,作者没有维护它。 无法检查部署步骤。 但幸运的是,Vircloud老板写了一个教程,并解释了基本步骤。 因此,我将参考大个子教程来构建此轮子。
1。 Refresh_token
获取国际版本,然后转到以下URL:
https://service-36wivxscsc-1256127833.ap-hongkong.apigateway.myqcloud.com/release/scf_onedrive_filelistor
获取Refresh_token并使用您的Office365帐户登录
如果您在2018 Internet(OneDrive的国内版本)(例如Tongji University),请参阅以下链接:
https://service-gzs9xkdm-12561278333.ap-hongkong.ap-hongkong.apigate.apigate.apigateway myqcloud。 com/preasion/oneedrive-token-cn
登录时,您会看到返回原始接口。 bar
.../?
1。输入CF工作人员的背景,然后选择新工作者
2。复制以下代码,然后转到Worker Editor
/** * IS_CN:对于2019 Internet版本,从0到1 * expose_path:发布路径,如果它完全可见,则将其留为空白。 “异步函数handlequest(请求)QuestPath让querysplit让queryString = request.url.split('?')[1] if(queryString){querySplit = queryString = queryString.split('='=')} if(querySplit && querySplit && querySplit [0] ========='文件''''''''''''''文件''文件''''''文件''文件' ){const file = querysplit [1] const filename = file.split('/')。 pop(); requestpath = file.replace('/' + fileName'')const url =等待fetchfiles(requestPath,fileName)returns wenders.redirect.redirect.redirect(url,302)} else {const {headers} headers.get('content-type')让body = {} if(contentType && contentType.includes('form'')){const formdata =等待request.formdata()0] 0] = entry [1]}}身体? 身体 ['? 路径']:'';files =等待fetchfiles(requestPath,null,hody.passwd); ':'*'}}}}} addeventListener('fetch',event => {return event.respondwith(handleRequest(handlerequest(event.request))})const clientID = ['4DA3E7F2-bf2-bf6d-467c-aaf-aaf-aaf0-aaf0-aaf0-aaf0-aaf0-aaf0-aaf0-aaf0-aaf0-578807885788f0bf0bf0bf0bf0bf0bf0bf7c'' 04C3CA0B-8D07-477773-85AD-98B037D25637 = ['7/+YKQ2XKFX:.DWJACUIROJIAAWAL0QI6','线.com .cn' ] const apihost = ['https://graph.microsoft.com','https://microsoftgraph.chinacloudapi.cn'] const oauth = {'redirecturi':'https:' , '刷新ken':OneDrive_refreshtoken,'clientId':clientId [is_cn],'clientrett':clientrecret':clientrecret [is_cn],'oauthurl':oauthhost [is_cn] :apihost [is_cn] +'/v1.0/me/drive/root','scope':apihost [is_cn] +'/files.readwrite.aldwrite.all offline_acsess'} async function gatewaywayresponse(响应const const const contentType = headers.get('content-type')if(contentType.includes('application/json''))){返回等待wair ways.json()} response.text()} else ('text/html')){返回等待响应response.text()} else {return等待响应.text()}} async function getContent(url){const响应= swing fetch(url)const =等待收集响应(响应)返回结果} async函数getContentWithHeaders(url,标头){const响应=等待fetch(url,{headers})const result =等待响应响应(响应)retastion} async function} async function fetchformdata(url,data){ const formdata = new formdata(); for(数据中的const键){if(data.hasownproperty(key))){formdata.append(key,data [key])}} const requestoptions = {方法= {正文:formData}; const响应=等待(url,requestOptions)const结果响应(响应)返回结果} async函数fetter casstoken(){url = oauth ['oauthurl'] oauth ['clientidid'],'client_secret':oauth ['clientrecret'],'grant_type':'refresh_token','requested_token_use':'on_behalf_of','refresh_token':oauth ['refresh doken']} const result = agait fetchformdata(url,data)returaty result.access_token} async function fitchfiles fetchfiles(path,path,path,part,passwd,passwd) |。 =':' + PATH} else {path =':' + expose_path + path}} const accessToken = accessToken = accessToken =等待fettercastoken() ,lastModifiedDateTime, @microsoft.graph.downloadurl)'const body =等待getContentWithHeaders(uri,uri,{fureer:'bearer' + accessToken})if(fileName){if(file.name === decodeuricompongent(filename)){thisfile = file ['@microsoft.graph.downloadurl'] return}}}}}}} = 0; (passwd!== passwd){encrypted = true; break} else {contine}} file.push({name:file.name,size,size:file.size,time:file.lastmodifieddateTime,url:file [file:file ['@microsoft。 graph.downloadurl']})}} if det(body.children.length){parent = body.Children[0] .parentReference.path} else {parent = body.parentreference.path} parent = parent.split(':':')。 流行音乐()。 替换(expose_path,'')||。 >代码是index.js的内容(链接是文件的github地址),在程序root目录中的后端CF文件夹中。 接下来,修改在指定位置保存的Refresh_token。 请更改程序的评论,以查看是2019年的互联网还是您要查看的目录。
保存并生成
,然后使用以下接口返回主接口
您可以重命名它。 您不能认为它更好或更改它。 记住这个域名。
3。 将程序的主页
展开向服务器展开启动页面(index.html)(链接是文件的github地址)。 当然,您还可以将其扩展到GitHub页面。 这里的可操作性太强了,所以我不会再解释了。 接下来,您需要更改文件中的scf_gateway。
必须通过HTTPS添加此处的地址。
之后,访问此文件时,您将看到此页面。 这个页面真的很简单,哈哈哈。 出乎意料的简单。 内容需要几秒钟才能出现。
一些小笔记:(摘自vir)cloud.net)
加密支持,加密文件已加密并添加到必须编码为utf8nobom的文件夹中,并且内容是密码。 后端实际上返回JSON,因此前端实际上可以自己做到这一点。 速度仍然可以保证,因为传输内容时使用的地址是正式的OneDrive地址。 部署工人后,无法使用“错误1101 Worker抛出异常”并忽略它访问它。
这几篇文章你可能也喜欢:
- 暂无相关推荐文章
本文由主机参考刊发,转载请注明:用Cloudflare工人以零成本(快速OneDrive索引)部署OneDrive文件列表程序FODI FODI https://zhujicankao.com/143175.html
评论前必须登录!
注册