olaindex是一款 OneDrive
目录文件索引应用,基于优雅的 PHP
框架 Laravel5.8
搭建,并通过 Microsoft Graph
接口获取数据展示,支持多类型帐号登录,多种主题显示,简单而强大。
GitHub源地址:https://github.com/WangNingkai/OLAINDEX
利用aria2进行离线下载到vps,通过脚本自动上传到网盘
以下演示是通过cent7系统进行,其他linux系统,自行更换对应指令
1.安装宝塔,并安装环境 (nginx+php7.2必需),宝塔可以进入宝塔官网的一键安装代码
2.配置PHP
在php7.2里进行安装扩展插件,安装fileinfo和opcache,
删除禁用函数,proc_open、 proc_get_status 、 exec 、 shell_exec
建议将大部分都删除,留下这些
配置完毕后重启PHP


3.安装Composer
使用一键安装代码,分别执行下面2句
curl -sS https://getcomposer.org/installer | phpmv composer.phar
mv composer.phar /usr/local/bin/composer
4.在宝塔面板创建网站,使用php7.2,无需数据库和ftp
5.安装olaindex
使用一键代码安装,分别执行下面语句,将你的域名修改
cd /www/wwwroot/你的域名
rm -rf *
git clone https://github.com/WangNingkai/OLAINDEX.git tmp
mv tmp/.git .
rm -rf tmp
git reset --hard
composer install -vvv
chmod -R 777 storage/
chown -R www:www *
php artisan od:install
在输入完php artisan od:install后,接下来输入域名,域名前要加上http://或者https://,接下来选择yes或者no,默认no
完成后,会给你后台的默认登陆账号和密码

如果出错,查看php函数禁用和安装Composer,安装完毕后,建议在宝塔面板将整个网站文件夹权限修改为777
6.网站设置
在宝塔面板,打开网站目录,运行目录修改为 /public,不勾选防跨站攻击,如下图所示

修改伪静态,选择laravel5

在宝塔里申请SSL证书,强制https
7.绑定onedrive
以上安装完成,接下来进入网站,点击申请,登陆微软账户,获取机密和id,id页面如果不显示,可以在浏览器URL上查看(appleID后的就是)
如果打开申请出现错误不显示机密,需要在上面手动把申请上方的http修改为https
以上就是安装的全过程,可以登陆默认管理员账户,进入后台修改
8.安装aria2和ariNG
可以通过一键脚本安装aria2
下载脚本:
wget -N git.io/aria2.sh && chmod +x aria2.sh
运行脚本:
./aria2.sh
安装Aria2后,启动aria2,自动更新BT-Tracker
ariNG是aria2的前端,可以通过宝塔添加网站后上传源码,配置RPC密钥
9.自动上传脚本
aria2下载到vps后,通过脚本自动上传到OneDrive
在vps根目录的root目录下,新建文件,命名one-up.sh
输入以下代码
#!/bin/bash
GID="$1";
FileNum="$2";
File="$3";
MaxSize="15728640";
Thread="3"; #默认3线程,自行修改,服务器配置不好的话,不建议太多
Block="20"; #默认分块20m,自行修改
RemoteDIR=""; #上传到Onedrive的路径,默认为根目录
LocalDIR="/root/downloads/"; #Aria2下载目录,记得最后面加上/
Uploader="/usr/local/bin/OneDriveUploader"; #上传的程序完整路径,默认为本文安装的目录
Config="/root/auth.json"; #初始化生成的配置auth.json绝对路径,参考第3步骤生成的路径
if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
if [[ "$FileNum" -le '0' ]]; then exit 0; fi
if [[ "$#" != '3' ]]; then exit 0; fi
function LoadFile(){
if [[ ! -e "${Uploader}" ]]; then return; fi
IFS_BAK=$IFS
IFS=$'\n'
tmpFile="$(echo "${File/#$LocalDIR}" |cut -f1 -d'/')"
FileLoad="${LocalDIR}${tmpFile}"
if [[ ! -e "${FileLoad}" ]]; then return; fi
ItemSize=$(du -s "${FileLoad}" |cut -f1 |grep -o '[0-9]*' |head -n1)
if [[ -z "$ItemSize" ]]; then return; fi
if [[ "$ItemSize" -ge "$MaxSize" ]]; then
echo -ne "\033[33m${FileLoad} \033[0mtoo large to spik.\n";
return;
fi
${Uploader} -c "${Config}" -t "${Thread}" -b "${Block}" -s "${FileLoad}" -r "${RemoteDIR}" -skip
if [[ $? == '0' ]]; then
rm -rf "${FileLoad}";
fi
IFS=$IFS_BAK
}
LoadFile;
保存后,通过ssh连接输入以下指令
chmod +x /root/one-up.sh
编辑文件(也可以直接通过宝塔编辑)
vi /root/.aria2/aria2.conf
之后按 i 键,进入插入模式,添加一句
on-download-complete=/root/one-up.sh
按ESC
,输入 :wq 保存退出。
重启aria2
service aria2 restart
安装dos2unix
yum install dos2unix -y
转换编码
dos2unix /root/one-up.sh
全部完成