1、申请Office365教育版账号

今天浏览别人的技术博客,看到新出了一个OneList的程序,能够很方便的将OneDrive的文件展示为列表,提供下载。心血来潮拿着邮箱去微软的OneDrive教育版页面申请,没想到一下子就过了,给了5T的存储空间。不过网页上没有看到这个教育版的有效期,不知道是不是只能用一年,于是就Google了一下“edu.cn onedrive”,没想到结果页居然有科大网络中心的一个通知,学校已经开通了office365的教育网申请,怪不得一路这么顺利就申请到了。

https://www.ustc.edu.cn/2019/0102/c2014a367227/page.htm

2、搭建OneIndex网站

既然已经有了5T空间的OneDrive,那么就开始来折腾自己搭网盘吧。目前的常见onedrive网盘程序有PyOne、OneIndex和OLAINDEX,大致看了一下介绍,发现还是手动搭建OneIndex适合我,虽然有有一键脚本,但是既然我已经有AppNode搭建的网站环境了,就不需要再开一个服务器来专门做网盘了。

在AppNode中创建好网站,去GitHub下载最新版本的程序源码。

https://github.com/donwa/oneindex/releases

解压好后,访问已经解析好的网址,比如我的:https://file.ljchen.com

网页上会提示绑定API,就是在微软页面上申请的一个APP开发的api。具体操作见下面的动图。

image

不出意外的话就绑定并安装好网盘程序了。

(这个地方我遇到点问题,一开始一直提示“程序安装错误”。发现是我在别人博客上找到的下载链接,给的是旧版的。我自己去GitHub下载了最新的代码就没事了。)

3、RaiDrive安装

要上传文件到onedrive,可以去网页版点上传,不过网页操作比较麻烦,而且挺卡的。我发现一个比较有用的软件,RaiDrive,可以把OneDrive映射到电脑中,变成一个盘符,这样对OneDrive进行文件的导入导出操作就很方便了。

不过国内连接到OneDrive的速度并不快,上传的时候,花了不少时间,最后只能在本地打开Windows版的锐速,才把网速提高到还能接受的程度。不过从OneDrive上下载文件能到多少速度,就看缘分了。

4、定时清理缓存

当文件上传到OneDrive后,网盘里看到的文件并没有更新,需要在OneIndex的后台更新缓存,并且这个设置项下面给出了一个命令。

*/10 * * * * php /data/mystack/sites/file.ljchen.com/www/one.php cache:refresh

我一开始在crontab中添加了这条命令,并没有作用,还是得手动更新缓存。

自己执行了一下,发现找不到php这个命令。应该是我的php安装后,相关路径并没有添加到环境变量中,于是查找这个文件的位置。

find / -name 'php'

发现它在这个路径下面:

/opt/appnode/appnode-php70/root/usr/bin/php

于是,将上面的定时任务命令修改为:

*/10 * * * * /opt/appnode/appnode-php70/root/usr/bin/php /data/mystack/sites/file.ljchen.com/www/one.php cache:refresh

于是每10分钟就会刷新一次网盘的缓存,再也不用手动操作了。命令中涉及到的路径需要修改为自己服务器相应路径。