很多人都有容量较大的OneDrive账号,并且很多个,如果用不完的话可以使用OneIndex打造为一款网盘,非常的方便分享文件。可以充分的利用OneDrive,今天新发布的OneIndex还支援了个人OneDrive账号,非常的方便。
0x00 关于OneIndex
OneIndex是一个类似与PHP目录的程序,其主要功能是将OneDrive的文件目录给列出来,仅仅需要将程序部署在服务器上,不占用太大的空间,索引中的文件并不占用服务器空间,仅仅占用OneDrive容量,流量也不用走服务器流量。
OneIndex将OneDrive的文件列出目录来,可以提供文件直连下载。最早的OneIndex仅仅支持企业版与教育版的OneDrive,不过最近版本的OneIndex已经开始了对个人版OneDrive的支援。
#OneDrive项目地址(GitHub)
https://github.com/donwa/oneindex
0x01 OneIndex部署教程
OneIndex官网GitHub页面也已经简述了如何部署OneIndex,总体过程非常的简单。
1.部署环境要求。
- PHP空间,PHP5.6+打开Curl支持
- OneDrive账号
- OneIndex程序
- 如需绑定自己的域名,那么必须部署HTTPS支援
2.环境搭建,我选择了今天才发布的LNMP1.5,一切都是用默认设置即可。如果使用LNMP1.4的换,注意选择PHP版本,因为默认选项PHP版本小于5.6。
#LNMP1.5安装
wget -c http://soft.vpser.net/lnmp/lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
3.安装Curl,我选用的系统是我较为熟悉的CentOS,所以以下Curl安装适用于CentOS。
#下载Curl并解压进入目录
wget https://curl.haxx.se/download/curl-7.54.0.tar.gz
tar -zxf curl-7.54.0.tar.gz
cd curl-7.54.0
#安装与配置
./configure
make
make install
安装好之后,就可以在LNMP下添加虚拟主机了,并且添加SSL(绑定个人域名)。
4.下载或者git clone项目OneIndex文件,并且解压到网站目录。给config/与cache/目录设置读写权限。
chmod 777 config/ cache/
5.打开你的网址,看是否通过安装环境检测。
如果你按照之前的步骤操作的换,那么环境检测肯定是没有问题的。
6.点击蓝色按钮,并通过页面登陆你的OneDrive账号,获取client_id与client_secret,注意看最下面一览的域名,如果你的域名没有支援SSL,那么会有个默认域名而不是自定义域名。
关于client_id与client_secret的获取,可以参考作者的的动态图。
填写好client_id与client_secret,那么最复杂的步骤以及过去了。
7.绑定你的OneDrive账号,并且授权给OneIndex。
8.之后就可以完成安装了。
安装完成后可以通过后台登录对OneIndex进行管理。
#OneIndex后台地址
https://www.yourdomain.com/?/admin/
OneIndex功能非常的强大,还可以将OneIndex变为图床。
0x02 OneIndex推荐配置
推荐配置主要是通过后台定时刷新缓存,可增加前台访问的速度,并非必须设置。将以下内容修改为自己的配置后添加入Crontab中即可。
# 每小时刷新一次token
0 * * * * /具体路径/php /程序具体路径/one.php token:refresh
# 每十分钟后台刷新一遍缓存
*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh
0x03 OneIndex高级设置
README.md、HEAD.md 、 .password特殊文件使用
可以参考https://github.com/donwa/oneindex/tree/files
在文件夹底部添加说明:
在onedrive的文件夹中添加README.md文件,使用markdown语法。
在文件夹头部添加说明:
在onedrive的文件夹中添加HEAD.md 文件,使用markdown语法。
加密文件夹:
在onedrive的文件夹中添加.password文件,填入密码,密码不能为空。
命令行功能
仅能在php cli模式下运行
清除缓存:
php one.php cache:clear
刷新缓存:
php one.php cache:refresh
刷新令牌:
php one.php token:refresh
上传文件:
php one.php upload:file 本地文件 [onedrive文件]
上传文件夹:
php one.php upload:folder 本地文件夹 [onedrive文件夹]
例如:
//上传demo.zip 到onedrive 根目录
php one.php upload:file demo.zip
//上传demo.zip 到onedrive /test/目录
php one.php upload:file demo.zip /test/
//上传demo.zip 到onedrive /test/目录并命名为 d.zip
php one.php upload:file demo.zip /test/d.zip
//上传up/ 到onedrive /test/
php one.php upload:file up/ /test/
请问绑定账号时出现 AADSTS90014: The request body must contain the following parameter: ‘client_id’. 的错误怎么解决?
抱歉我也不太清楚,搜了下 貌似是授权的问题啊!
清楚缓存
网页改版了
授权码的位置互换