利用vps+onedrive搭建5T容量离线下载网盘

半年前就说要更新本教程,拖延症拖了半年,也是没谁了·····

主要是昨天看到wewe0607大佬更新的教程,测试了一下,效果很好,所以直接稍微改了改放出来了。

本教程需要有基础linux+bt面板操作经验

原理就是利用vps+aria2进行离线下载,然后自动传输到微软onedrive里,实现离线下载+大容量网盘。

先说一下onedrive的大容量网盘。淘宝很多卖微软E3全局管理员的,可以直接在onedrive上获得一个5T的大容量网盘。不过这个很容易翻车,至少我的第一个E3管理员已经被微软ban了(可能是因为我把我珍藏的2T步兵里番上传进去的原因)。如果担心翻车问题,可以去找个教育邮箱然后买个学生版office365,一年89块,给1T容量。这个基本翻不了车。


好了,教程正式开始:

我这里使用的是搬瓦工绝版vps(29.99刀),基本上其他家也没问题。这里你vps硬盘容量决定了你下载的文件最大大小是多少,因为这套系统上传到onedrive后会自动在vps上删除原文件。

系统为centos 7 64位

先下载aria2,这里使用的是逗逼大佬的aria2一键包,省事:

wget -N --no-check-certificate https://softs.loan/Bash/aria2.sh && chmod +x aria2.sh && bash aria2.sh

选择1,安装aria2后一路yes就可以了。最后会出来一个密钥,记下来

之后安装BT面板:

yum install -y wget && wget -O install.sh http://128.1.164.196:5880/install/install.sh && sh install.sh

安装完毕后,会显示你的登陆页面和用户名,密码。记好了。

在浏览器里输入你的ip:8888 ,输入用户名和密码后登陆宝塔面板:

这里只需要安装Nginx和php5.6就可以了,其他FTP,Mysql不需要。

安装好以后(大概20分钟),直接建站,这里可以直接使用端口号模式,比如我用了7000和端口建立了一个站点。你要是想绑定域名也行,我觉得没啥必要性。

接着进入文件,在www/wwwroot/下面找到你ip地址建立的这个站点的站点文件,建立两个文件目录,一个命名为ng,一个命名为one

进入ng文件夹,用远程下载下载这货(记得bt面板的远程下载时需要重命名,要有.zip,不然无法识别)

AriaNG(可视化aria2控制面板,用来控制aria2下载文件用):

https://github.com/mayswind/AriaNg/releases/download/0.4.0/aria-ng-0.4.0.zip

再进入one文件夹

oneindex(用来将vps下载的文件上传到onedrive里去):

https://codeload.github.com/donwa/oneindex/zip/master


然后,去编辑/root/.aria2/.aria2.conf ,宝塔面板自带编辑器

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/Download

同时最后加上一句:

on-download-complete=/root/upload2one.sh

保存

然后同样用bt面板新建/root/upload2one.sh,输入如下代码:

#!/bin/bash
path=$3
downloadpath='/Download'
if [ $2 -eq 0 ]
        then
                exit 0
fi
while true; do  #提取下载文件根路径,如把/root/downloads/a/b/c/d.jpg变成/root/downloads/a
filepath=$path
path=${path%/*};
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ]  #如果下载的是单个文件
    then
    /www/server/php/56/bin/php /www/wwwroot/你的ip/one/one.php upload:file "$filepath" /upload/
    rm -rf "$filepath"
    exit 0
elif [ "$path" = "$downloadpath" ]   #文件夹
    then
    /www/server/php/56/bin/php /www/wwwroot/你的ip/one/one.php upload:folder "$filepath"/ /upload/"${filepath##*/}"/
    rm -rf "$filepath"/
    exit 0
fi
done

记得把文中“你的ip”换成你的ip


备注:这是我改的原作者wewe0607的代码,仅仅是为了方便一下小白。原作者脚本是:

#!/bin/bash
path=$3
downloadpath='/aria2下载目录'
if [ $2 -eq 0 ]
        then
                exit 0
fi
while true; do  #提取下载文件根路径,如把/root/downloads/a/b/c/d.jpg变成/root/downloads/a
filepath=$path
path=${path%/*};
if [ "$path" = "$downloadpath" ] && [ $2 -eq 1 ]  #如果下载的是单个文件
    then
    /PHP具体路径/bin/php /pan.example.com的具体路径/one.php upload:file "$filepath" /upload/
    rm -rf "$filepath"
    exit 0
elif [ "$path" = "$downloadpath" ]   #文件夹
    then
    /PHP具体路径/bin/php /pan.example.com的具体路径/one.php upload:folder "$filepath"/ /upload/"${filepath##*/}"/
    rm -rf "$filepath"/
    exit 0
fi
done

#如果我改出错来了烦请读者大佬们指正




然后再连上ssh:

chmod +x /root/upload2one.sh

赋予权限后,./aria2.sh一下,重启aria2

之后之后在你的浏览器里输入你的ip/ng/后,登陆aria2NG,然后把密钥绑上去,aria2的部署就完成了。

如果6800端口没有开,记得在宝塔面板里开一下

之后在浏览器里输入你的ip/one,将你的onedrive硬盘绑定上:



大功告成!

这样你用aria2下载的文件会直接上传到你的onedrive里去,享受你的大硬盘+离线下载服务吧!


最后,鸣谢:

逗比大佬的aria2一键脚本

donwa大佬的oneindex

wewe0607大佬的sh脚本

编辑于 2018-08-05

文章被以下专栏收录