山野莽夫

  • 归档
    • 随笔
    • 建站资源
    • 分享
    • 代码
  • 地球物理学
    • 专业课
    • 概念解释
  • 计算机
  • 互联网
  • 教程
  • 规划
  • 实验室
    • 珍藏的软件
    • 贴吧云签到
    • A1账号自助申请
山野莽夫
小学生的挣扎的点点滴滴
  1. 首页
  2. 互联网
  3. 正文

又一个功能强大的cloudflare workers onedrive 索引工具(OneDrive-Index-Cloudflare-Worker)部署教程

2020年5月15日 9572点热度 2人点赞 4条评论

onedrive 很容易获取到,大把的免费A1账号,有很多人也有自己的全局。如果你没有也可以获取本站的账号。https://www.shanyemangfu.com/office365-a1.html

有的时候想要分享一下文件搞个onedrive索引。onedrive索引工具很多了,olaindex ,pyone等等。还有开山之作oneindex。但是白嫖的最高境界就是不花钱就可以免费使用吧。前边的多少需要个web服务器,而我们连这个钱也不想花。那么部署在CF workers上边就是个不错的选择,因为他还给提供了免费的域名使用。博客曾经介绍过一个可以部署在cf workers上边的onedrive索引工具FODI,但是FODI,功能有点少而且总感觉体验不是很好。但是还有大佬开发的OneDrive-Index-Cloudflare-Worker,这个甚至没有html静态页面,也就是我们不需要为前端找服务器了。现在就介绍一下这个新玩具。

项目地址:https://github.com/heymind/OneDrive-Index-Cloudflare-Worker

1.新建app应用

访问如下链接新建应用

https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

当然需要登录你的账户。

重定向url填写

https://heymind.github.io/tools/microsoft-graph-api-auth

然后记下client_id备用。

2.新建密码secret

保存客户端密码,这就是后文需要的client_secret,保存备用。

3.添加api权限

需要添加offline_access, Files.Read, Files.Read.All

4.获取refresh_token

使用这个工具 microsoft-graph-api-auth 获取 refresh_token 参数

首先填入client id。得到下一步的code。可能需要改成如下图所示,来自作者发布的教程视频。

认证后需要登录授权,授权完成会得到code.作者视频演示的是家庭版code很短,但是我实测E5订阅code很长。code会自动回填入下一步所需要的位置。

然后就可以获取refresh_token了。应用id自己填好了,需要填写第二步获取的client secret。

点击GET TOKEN 得到如下页面。

搜索一下refresh_token,然后复制,引号内的都是。复制好备用。

5.新建 cf worker

复制如下程序代码,到cf workers。

https://github.com/heymind/OneDrive-Index-Cloudflare-Worker/blob/master/index.js

然后修改图中红色部分的参数为前边保存的参数。还有一处需要注意,base那儿需要修改为根目录或者你要分享的目录。因为作者代码中写的是Share,但是你的onedrive可能没有这个文件夹,可能会出现404。

然后保存并部署就可以了,然后修改成你想要的地址,就可以使用了。

6.开启更多功能

中转下载

利用 Cloudflare 服务器中转 OneDrive 中文件的下载,以提高中国大陆的下载体验。已知问题,无法显示下载进度。在配置中开启 proxyDownload 功能,在文件直链路径后面加 ?proxied 即可开启,例如作者提供的测试连接:https://storage.idx0.workers.dev/Other/zero_file?proxied

设置账号密码

修改为true,然后修改账号和密码就行了。

 缓存功能

利用 Cloudflare CDN 来缓存 OneDrive 中文件,目前有两种缓存模式:

  • 整个文件缓存: 文件会先完整传输到 Cloudflare 的服务器后再返回给客户端。文件太大可能超过 Cloudflare Worker 限制的单次请求运行时间。
  • chunk 缓存: 流式传输与缓存,无法正确显示 Content-Length。

在配置中开启 cache 功能,可以配置两种缓存模式的选择以及启用缓存的路径地址。

缩略图功能(默认开启了)

作者提供了如下示例:

对于图片文件,可以直接获取不同尺寸的缩略图。 比如:https://storage.idx0.workers.dev/Images/public-md-image-20191010113652775.png?thumbnail=mediumSquare

可用的取值参见:https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_list_thumbnails?view=odsp-graph-online#size-options

小文件上传

可以利用这个工具直接上传小文件到 OneDrive 上 ( 小于 4MB ,OneDrive API 的限制,比这个大就得创建 upload session 反正很麻烦 )

在配置中开启 upload 功能,并设置一个密钥 key ( 防止游客上传文件 )。

比如:

POST https://storage.idx0.workers.dev/Images/?upload=<filename>&key=<key>

注意:开启该功能需要 Files.ReadWrite 权限

但是貌似并没有前端上传界面,应该需要我们自己写个界面或者直接post请求。

图床

同时开启小文件上传和缓存功能可以当做图床使用。还可以配合缩略图功能,取得不同的缩略图放在博客中使用。

作者的示例:

例如 https://blog.idx0.dev 在首页文章列表配图使使用了 large 尺寸的缩略图,在侧栏文章列表中使用了 smallSquare 尺寸的缩略图。

其实也可以直接选择一个目录,比如Images进行缓存,然后把图像传到这个目录即可。你可以使用第三方工具,比如博客曾经介绍过的raidrive。这样就直接可以使用这个图像的链接了。我放了一张图像的测试效果。访问如下图片链接即可。

https://onedrive.symf.workers.dev/Images/QQ20200515163047.png

总结

1.相较于FODI更美观一些。

2.相较于功能较多,但是视频没有在线观看功能。但是有图床功能。

3.cloudflare 现在速度真的不敢恭维,真的慢啊。

参考资料:

  • 作者视频:https://www.bilibili.com/video/av89209298/
  • 项目地址:https://github.com/heymind/OneDrive-Index-Cloudflare-Worker
标签: office365 office365A1 onedrive
最后更新:2020年5月15日

小菜菜

菜鸟

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • yujiang

    获取refresh_token时返回{"error":"invalid_request","error_description":"AADSTS90023: Cross-origin token redemption is permitted only for the 'Single-Page Application'及后面一小串不包含refresh_token的信息

    2020年8月28日
    回复
    • 小菜菜

      @yujiang 多试几次,不要漏掉每一个细节,每一步都不能漏

      2020年9月3日
      回复
  • woku

    求教如何默认就中转下载 不要加上proied就可以用

    2020年9月28日
    回复
    • 小菜菜

      @woku 这个作者没提供,如果想实现,大概只能修改源代码

      2020年10月1日
      回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    回复 小菜菜 取消回复

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据。

    联系方式

    QQ群 | TG群 | 邮箱

    最新 热点 随机
    最新 热点 随机
    Azure Student 微软云 学生订阅 免费12个月用量避坑注意点集合 MP3音频文件格式详细解析 python按固定采样点个数分割wav格式音频 愉快使用谷歌免费人工智能平台colab,训练你的神经网络模型,为你的学术生活添砖加瓦 华为云版轻量应用服务器-云耀云服务器简单体验评测 Cloudflare 免费CDN自定义节点ip之自选cloudflare 高速节点ip工具分享
    试验项目二 二度体磁异常正演 谷歌云平台gcp300美元试用失败经历。 64位windows 10 安装Virtual Box开启虚拟机提示不能为虚拟电脑打开新任务的解决方案 excel中逆序一列的数据 ubuntu16.04开启root账户登录 windows10升级一周年更新后打开程序无响应导致桌面无响应解决办法
    标签聚合
    wordpress 虚拟机 ppt c语言 地震学程序 onedrive 宝塔面板 模板
    最近评论
    小菜菜 发布于 7 个月前(11月24日) 这玩意已经废了,成收割工具了,不能再用了。
    eamon 发布于 8 个月前(11月07日) 我一年不用了才发现这个休眠管理费每月15,一共扣了我135元,然后我消费还消费不了,我宁愿消费掉也不...
    magic 发布于 1 年前(07月03日) 请问账号不注销会有什么影响吗?
    magic 发布于 1 年前(07月01日) 我想问一下 如果不注销账号就留着会怎么样
    qwp6601 发布于 1 年前(06月04日) 有没有方法改为bing

    COPYRIGHT © 2021 shanyemangfu.com. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    蜀ICP备15031791号-2