站点图标 Linux-技术共享

vps宝塔搭建Aria2离线下载+上传onedrive世纪互联

51176088

之所以搭建Aria2+onedrive世纪互联是因为最近有人送了一个1T的世纪互联空间账号给我,想了想放着吃灰太浪费,尝试了一下世纪互联,发现速度对大陆很快,以前用过onedrive国际版,那个速度非常慢,一直以为onedrive速度比较慢,用了世纪互联才发现这是onedrive在大陆服务器配置的网盘,都是一家。

搭建前提

1,KVM框架,512M+以上内存 (测试vps为1G内存
2,debian8+ / cantos7+ 系统 (我用debian9搭建
3,Nginx+PHP7.0 (可基于宝塔面板中安装
4,onedrive世纪互联账号1个含api (最近可以低价买,或者学校有配置也可
5,域名 1个(不要域名也可,创建网站时用ip创建

获取ID

首先打开 https://portal.azure.cn/
左侧选Azure Active Directory-应用注册-新注册
可按照以下图片指引

接下来名称随意即可,账户类型选择第二项,重定向中填入 http://localhost:53682 点击注册

注册成功后用记事本记下这个应用程序(客户端)ID

再点击左侧的证书与密码-新客户端密码-名称按你喜好,添加

添加完毕后可以看到密码,再用记事本记下这个

接下来在左侧-API权限-双击已有的权限用户-委托的权限-勾选所需权限(如下图)

需要勾选的项目:

Files.Read
Files.Read.All
Files.ReadWrite
Files.ReadWrite.All
offline_access
User.Read

点更新权限,到这里的话获取ID已经完成

【若出现没有用户,就添加权限,API类型选Microsoft Graph】

挂载空间

挂载空间首先需要win系统用命令获取token,首先下载win版本的rclone:
64位:Windows 64位
32位:Windows 32位
文件提供者-兼容世纪互联的 Rclone

下载完毕后解压到随意一个盘,win+R-输入cmd回车-在命令提示符中用cd命令打开rclone所在盘,假如在H盘,则只需要在cmd中输入H:即可;
假如文件夹名字为1,进入文件夹命令:cd 1回车即可进入文件夹;
当进入到解压出rclone程序的文件夹后,输入以下命令获取token:

rclone authorize onedrive "你的应用程序(客户端) ID" "你的值" --onedrive-is-21vianet-version=true

浏览器会自动打开并让你同意权限,同意后命令提示符中会出现一串代码,复制记下;

接下来进入vps的宝塔-文件-usr/bin文件夹内,远程下载或者上传linux版本的rclone,然后解压:

Linux 64位
Linux 32位
文件提供者-兼容世纪互联的 Rclone

解压后用宝塔右键管理给权限,或者SSH输入chmod +x /usr/bin/rclone
再输入rclone config开始配置

首先输入n,也就是新建,然后输入你喜欢的名字,我这里输入od

接下来这一栏选23,onedrive

client_id 输入你记下的应用程序客户端ID回车
client_secret> 输入你记下的值 回车
is_21vianet_version> 输入true回车
Edit advanced config? (y/n) 输入n
Use auto config? 输入n
result> 这里输入你记下的token,也就是那段很长的代码,回车

 1 / OneDrive Personal or Business
    "onedrive"
 2 / Root Sharepoint site
    "sharepoint"
 3 / Type in driveID
    "driveid"
 4 / Type in SiteID
    "siteid"
 5 / Search a Sharepoint site
    "search"

这里选择1也就是onedrive,回车

最后选 y) Yes this is OK,以及q退出

安装挂载所需的fuse:
debian:apt install fuse
centos:yum install fuse

然后创建一个挂载目录(odd是文件夹名字,按你喜好填即可)
mkdir -p /odd

挂载onedrive空间到你的文件夹中(以下代码自行修改,括号以及括号内容删除)

rclone mount od(这里是在rclone config时新建创建的名字,对照你刚刚新建rclone的名字输入即可 ):/ /odd(挂载目录文件夹名)

可能会出现输入上面代码后卡住的情况,可以等待一分钟后,若无反应则直接新建SSH进行操作即可,输入df -h即可看到我们挂载成功的onedrive文件夹

安装Aria2

wget https://zhujitips.com/sh/aria2.sh && chmod +x aria2.sh && bash aria2.sh
bash aria2.sh

可以自行输入bash aria2.sh然后选第7项进行修改端口与下载地址,然后进宝塔输入你的域名添加网站,添加网站后进入网站文件目录内删除自动产生的文件;

再来到
https://github.com/mayswind/AriaNg/releases/
照着下图红框中的文件右键复制链接,返回宝塔网站目录内添加远程下载。

下载后解压下载的压缩包并添加权限:

浏览器中运行这个站点,进入下图位置,添加密钥

一键脚本默认的密钥是:doub.io,自行修改,运行bash aria2.sh可以修改

在宝塔网站-网站目录中关闭防跨站攻击选项

配置自动上传

首先下载GDupload

wget https://zhujitips.com/sh/GDupload.sh

然后:

chmod +x GDupload.sh #给权限

最后修改下配置
nano GDupload.sh #修改相应目录设置

红框中需要自行修改:
第一条需要填入Aria2目录方便此脚本侦测文件;
第二条填写rclone config时你输入n所创建的名字;
第三条填写你想上传至onedrive网盘中的文件夹名字;
保存好后输入:

echo on-download-complete=/root/GDupload.sh >>/root/.aria2/aria2.conf
service aria2 restart

接下来测试一下下载以及上传,是否有问题;

退出移动版