Aira2实现下载后自动上传至onedrive
前言
关于aria2的安装可以看上一篇文章
搭建Aira2实现个人离线下载
安装Rclone并配置
获取 Client ID
进入Microsoft Azure 应用注册页面
点击新注册
名称随意,账户类型选择第三个(当时因为这个选错浪费了很多时间),重定向 URL 填写http://localhost,如下图
创建成功后页面跳转,复制应用程序(客户端) ID
以上即为Client ID
获取 Client secret
点击左侧栏证书和密码
点击新客户端密码-添加,如下图
然后你会看到值,复制并保存好
以上即为 Client secret(客户端密码)
设置API权限
点击左侧栏API权限-添加
点击Microsoft graph
依次添加权限Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、offline_access、User.Read
完成后如下图
本地安装Rclone
先在本地下载Rclone
访问Rclone的官网https://rclone.org/downloads/,下载合适的版本
将下载的文件进行解压,从文件资源管理器进入到解压后的位置,在地址栏内输入cmd(亦可直接在cmd进入相应目录)
rclone authorize "onedrive" "Client_ID" "Client_secret"
在Client_ID和Client_secret填入刚刚复制的值,之后输入进cmd
enter跳转后登录,提示成功后打开cmd,复制token
{"access_token":"xxxxxxxxxxxxxxxxxx","expiry":"2022-04-30T10:32:48.9941651+08:00"} 整个内容(包含括号) ,复制并保存好。
服务器端安装
服务器端,使用官方的一键安装脚本
curl https://rclone.org/install.sh | sudo bash
安装完成之后,输入
rclone config
开始配置,全程都有引导,选择n新建,名字随便起(例:onedrive),网盘种类选择onedrive(注意查看,不要搞错了)
不要依照它的提示再去windows执行,会报错
完成后验证一下是否能正常使用,替换以下命令中的 onedrive 并执行,注意最后有:(冒号)。网盘中出现 test 文件即表示成功
touch test && rclone move test onedrive:
onedrive替换成自己刚刚取的name
这里附一篇p3terx的文章可参考https://p3terx.com/archives/rclone-connect-onedrive-with-selfbuilt-api.html
挂载至VPS
安装fuse(依赖软件)
yum install -y fuse
然后新建一个文件夹作为你挂载的目标,例如
mkdir /home/onedrive
那么挂载命令就是:
rclone mount onedrive: /home/onedrive --copy-links --allow-other --allow-non-empty --umask 000 --daemon
完成后可关闭会话
Rclone挂载优化
可参考以下文章:
https://cyhour.com/1594/
配置aria2下载后自动上传至OneDrive
注意此处是下载完成后自动上传,故一次性不能下大于硬盘容量的文件
重新开启一个会话,输入
nano /root/.aria2c/aria2.conf
打开 Aria2 配置文件进行修改。找到“下载完成后执行的命令”,把clean.sh
替换为upload.sh
# 下载完成后执行的命令
on-download-complete=/root/.aria2c/upload.sh
输入nano /root/.aria2c/script.conf
打开附加功能脚本配置文件进行修改,有中文注释,按照自己的实际情况进行修改,第一次使用只建议修改网盘名称。
网盘名称(RCLONE 配置时填写的 name)
drive-name=onedrive
重启 Aria2
以下2选1
执行以下命令
service aria2 restart
脚本选项重启
./aria2.sh
之后输入6
可以下载任意文件进行测试是否成功
参考资料
https://cyhour.com/1594/
https://p3terx.com/archives/rclone-connect-onedrive-with-selfbuilt-api.html
https://p3terx.com/archives/aria2-started-guide.html
https://blog.kermsite.com/p/vps-download/