文章

OneIndex: 纯走OneDrive 流量的网盘前端程序

  编辑于:2018-05-07
文章目录

功能

不用服务器空间,不走服务器流量,
直接列onedrive目录,文件直链下载。
站点演示请看:xn.tn

需求

1、PHP空间,PHP 5.6+ 打开curl支持
2、onedrive business 账号 (企业版或教育版/工作或学校帐户)
3、oneindex 程序

安装

利用lnmp.org安装一键包,这里只需要php,不需要mysql,利用下面的命令自动安装:

wget http://soft.vpser.net/lnmp/lnmp1.5beta.tar.gz -cO lnmp1.5beta.tar.gz && tar zxf lnmp1.5beta.tar.gz && cd lnmp1.5 && LNMP_Auto="y" DBSelect="0" PHPSelect="8" SelectMalloc="1" ./install.sh lnmp

以上默认安装了php7.2版本,更多参数请查看:https://lnmp.org/faq/v1-5-auto-install.html
然后使用lnmp添加网站

lnmp vhost add

进入网站目录,下载程序,设置权限。

cd /home/wwwroot/你的域名
wget https://github.com/donwa/oneindex/archive/master.zip -O oneindex.zip
unzip oneindex.zip && cd oneindex-master && mv * ../
chown www:www -R config/ config/base.php cache/

访问你的域名绑定账户即可开始使用。

(可选)计划任务

[可选]推荐配置,非必需。后台定时刷新缓存,可增加前台访问的速度
利用cron修改计划任务crontab -e,如果下面不对,可以利用which php来查看PHP的具体路径。

# 每小时刷新一次token
#0 * * * * /具体路径/php /程序具体路径/one.php token:refresh
0 * * * * /usr/bin/php /home/wwwroot/你的域名/one.php token:refresh

# 每十分钟后台刷新一遍缓存
#*/10 * * * * /具体路径/php /程序具体路径/one.php cache:refresh
*/10 * * * * /usr/bin/php /home/wwwroot/你的域名/one.php cache:refresh

特殊文件实现功能

可以实现添加文字说明,添加密码等功能,这里不多做介绍,请参考:https://github.com/donwa/oneindex/tree/files

使用自己的client_id、client_secret

创建应用
https://manage.windowsazure.com/ 创建一个应用
Azure Active Directory -> 应用注册 -> 新应用程序注册
主页写你程序的网址,比如:http://www.a.com/
名称随意。

权限
设置-> 所需权限 -> 添加 -> 选择API

Windows Azure Active Directory:委托的权限 Sign in and read user profile 权限.
Office 365 SharePoint Online: 委托的权限 Read user files 和 Read and write user files 权限.

第一次创建的应用程序可能会认证失败,删掉它,再创建一个就好了。
更多的设置,onedrive共享的起始目录,去掉链接中的 /?/,缓存时间,设置缓存模式为sqlite,请参考:https://github.com/donwa/oneindex
去除/?/可以把下面这段加入虚拟主机的配置文件

vi /usr/local/nginx/conf/vhost/conf/你的域名.conf
	location / {
        try_files $uri $uri/ /index.php?/$uri;
	}

然后可以修改config/base.php'root_path'即可。

发表回复