OLAINDEX+Aria2+Aria2Ng+下载完后自动上传至OneDrive脚本

秋水易冷


准备

  • OneDrive账号一枚
  • SSH能连上的服务器一台
  • 域名两枚,并将域名解析到服务器上(子域名也行)
  • 对Linux的几个常用命令了解,例如:cd ls rm mv vi echo
  • 另外请自备一瓶六个核桃
  • 耗时半个小时左右


OLAINDEX搭建

一、安装宝塔面板

wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

注:bt 命令可调出控制面板

  • 脚本执行完后,登录网页 http://ip:8888
  • 登录之后,安装 LNMP (左边),需要注意的是,PHP 版本请选择 PHP 7.2 ,MySQL可以不选择(服务器配置低的,不推荐安装MySQL,不安装MySQL对本教程无任何影响,另外可节省大量安装时间)

二、PHP 配置

  • 点击左侧菜单 软件管理–>PHP-7.2 设置–>安装扩展–>安装 fileinfo
  • 然后点击 禁用函数–>找到 proc_openproc_get_statusexecshell_exec 函数,并删除
  • 删除完后重启PHP

三、安装 Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

四、创建网站

  • 用宝塔创建一个网站并绑定域名,不需要数据库,PHP版本选择 PHP-72

五、安装 OLAINDEX

cd /www/wwwroot/你的域名   #就是先进入到你创建的web目录下
rm -rf *
git clone https://github.com/WangNingkai/OLAINDEX.git tmp 
mv tmp/.git . 
rm -rf tmp 
git reset --hard 
composer install -vvv   #这里确保已经安装composer成功
chmod -R 755 storage/
chown -R www:www *
php artisan od:install   #如果报权限问题,建议先执行权限命令

chmod 777 storage/app/config.json   #赋予配置文件权限

注:为了防止域名导入出错,请想要一次全部输入执行的分上下两次执行

  • 提示输入域名的时候,一定要这样写 https://你的域名

六、站点数据配置

  • 先绑定子目录为 /public ,再关闭 防跨站攻击 (open_basedir)
  • 设置伪静态为
location / {
    try_files $uri $uri/ /index.php?$query_string;
}
  • 设置域名SSL证书,开启强制HTTPS

七、绑定 OneDrive

  • 登录网页 https://你的域名 ,按照下图操作
  • 网页 https://你的域名/admin 进入后台,默认密码为 12345678 进行相关设置

八、其他

  • 网页图片更改 ./public 目录下直接加 favicon.ico 图片文件
  • 图床上传文件保存路径格式修改 ./app/Http/Controllers/ManageController.php (64行)
$middleName = '/'.date('Y-m-d').'/'.date('A-h-i').'/';
  • 图床上传限制修改
  1. 两分钟内只能上传10张图片的限制 ./routes/web.php (50~51行)
Route::post('image/upload', 'ManageController@uploadImage')
    ->name('image.upload')->middleware('throttle:100,1', 'checkImage');
  1. 一次只能上传10张的限制 ./resources/views/default/image.blade.php (32行)
maxFiles: 100,
  • 如果遇到缩略图无法打开的情况请关闭防盗链,并删掉或注释掉配置文件的如下部分(51~63行)
#location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
#    {
#        expires      30d;
#        error_log off;
#        access_log /dev/null;
#    }
#    
#    location ~ .*\.(js|css)?$
#    {
#        expires      12h;
#        error_log off;
#        access_log /dev/null; 
#    }

其他请参考作者博客 GitHub: https://github.com/WangNingkai/OLAINDEX/wiki/其他




Aria2搭建

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
  • 端口、目录默认即可
  • 放行 6800 端口

注:为了方便管理Aria2下载的文件,你可以用宝塔创建一个指向下载目录 /usr/local/caddy/www/aria2/Download 的FTP




Aria2Ng搭建

发布:https://github.com/mayswind/AriaNg/releases

一、创建网站

  • 用宝塔创建一个网站并绑定域名,不需要数据库,PHP版本选择 纯静态

二、安装 Aria2Ng

cd /www/wwwroot/你的另一个域名 #就是先进入到你创建的web目录下
wget https://github.com/mayswind/AriaNg/releases/download/1.0.0/AriaNg-1.0.0.zip
yum install unzip
unzip AriaNg-1.0.0.zip
rm -rf AriaNg-1.0.0.zip
  • 网页 http://你的另一个域名 进入,并填写Aria2密码,刷新界面,连接成功
  • 如果想HTTPS访问Aria2Ng界面,除了在宝塔去部署SSL外,还需执行
echo "
rpc-secure=true
rpc-certificate=/www/server/panel/vhost/ssl/你的另一个域名/fullchain.pem
rpc-private-key=/www/server/panel/vhost/ssl/你的另一个域名/privkey.pem
" >> /root/.aria2/aria2.conf
service aria2 restart




下载完自动上传脚本

简介

该脚本是通过Aria2的一个参数 on-download-complete 调用的,传参 id 下载文件数 路径

安装

  • vi 命令写入自动上传脚本
vi /root/.aria2/up.sh
  • i ,然后复制下面的内容进去,再按 ESC 键,输入 :wq 就能保存退出; vi 命令相关用法自行了解( dd 删除一行)
#!/bin/bash
downloadpath='/usr/local/caddy/www/aria2/Download'   #修改成Aria2下载文件夹
folder='/Aria2'   #上传至网盘里的文件夹(自动创建)

if [ $2 -eq 0 ];then
    exit 0
fi
path=$3   #取原始路径
olaindex=`find /www/wwwroot -name artisan`   #OLAINDEX的artisan文件的绝对路径
while(true);do   #path被赋值为Aria2下载目录,filepath被赋值为下载文件的绝对路径或第一层目录
    filepath="$path"
    path="${path%/*}"
    if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ];then   #单文件
        php $olaindex od:upload "$filepath" "$folder/"   #上传
        rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent"   #删除
        php $olaindex od:cache   #刷新
        exit 0
    elif [ "$path" = "$downloadpath" ];then   #文件夹
        cd "$filepath"
        for file in *;do   #第一层目录
            php $olaindex od:upload "$file" "$folder/${filepath##*/}"
            rm -rf "$file"
        done
        for file in */* */*/*;do   #第二、三层目录
            php $olaindex od:upload "$file" "$folder/${filepath##*/}/${file%/*}"
            rm -rf "$file"
        done
        rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent"
        php $olaindex od:cache
        exit 0
    fi
done

下面这是OneIndex的脚本

#!/bin/bash
downloadpath='/usr/local/caddy/www/aria2/Download'   #修改成Aria2下载文件夹
folder='/Aria2'   #上传至网盘里的文件夹(自动创建)

if [ $2 -eq 0 ];then
    exit 0
fi
path=$3   #取原始路径
olaindex=`find /www/wwwroot -name one.php`   #OneIndex的one.php文件的绝对路径
while(true);do   #path被赋值为Aria2下载目录,filepath被赋值为下载文件的绝对路径或第一层目录
    filepath="$path"
    path="${path%/*}"
    if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ];then   #单文件
        php $olaindex upload:file "$filepath" "$folder/"   #上传
        rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent"   #删除
        php $olaindex cache:refresh   #刷新
        exit 0
    elif [ "$path" = "$downloadpath" ];then   #文件夹
        php $olaindex upload:folder "$filepath" "$folder/"
        rm -rf "$filepath" "$filepath.aria2" "$path/*.torrent"
        php $olaindex cache:refresh
        exit 0
    fi
done
  • 修改Aria2配置文件
chmod +x /root/.aria2/up.sh
echo "
seed-time=0   #不做种
on-download-complete=/root/.aria2/up.sh
" >> /root/.aria2/aria2.conf
service aria2 restart

你可能感兴趣的:(OLAINDEX+Aria2+Aria2Ng+下载完后自动上传至OneDrive脚本)