一:安装Aria2
我们这里使用一键脚本来安装,有大神提供了脚本,代码如下:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
二:Aria2的使用命令
安装好之后,可以用命令来操作,命令如下:
启动:service aria2 start停止:service aria2 stop重启:service aria2 restart查看状态:service aria2 status配置文件:/root/.aria2/aria2.conf(配置文件包含中文注释,但是一些系统可能不支持显示中文)下载目录:/usr/local/caddy/www/aria2/Download(该目录为Github下载安装的,而备用地址下载的默认为/usr/local/caddy/www/file
三:宝塔部署AriaNg前端
AriaNg前端部署就很简单了,新建网站,把事先解析好的域名解析过来,之后下载源码,解压,打开浏览器就可以访问了,开箱即食。
github:https://github.com/mayswind/AriaNg
下载:https://github.com/mayswind/AriaNg/releases
3.1安装AriaNg
利用宝塔面板的远程下载,直接down过来,然后解压,把源代码复制到网站根目录,之后打开浏览器输入域名访问即可。
四:自动上传od脚本
用来解决后续利用 rclone 自动上传 aria2 下载的文件到 onedrive 或者 googledrive。到 aria2 的目录创建脚本:
vi autoupload.sh
脚本如下 (作者:P3TERX,git 页面地址):
#!/bin/bash #================================================= # Description: Aria2 download completes calling Rclone upload # Lisence: MIT # Version: 1.8 # Author: P3TERX # Blog: https://p3terx.com #================================================= downloadpath='/usr/local/caddy/www/file' #Aria2下载目录 name='remote' #配置Rclone时填写的name folder='/backup' #网盘里的文件夹,留空为整个网盘。 retry_num=3 #上传失败重试次数 #=================下面不需要修改=================== filepath=$3 #Aria2传递给脚本的文件路径。BT下载有多个文件时该值为文件夹内第一个文件,如/root/Download/a/b/1.mp4 rdp=${filepath#${downloadpath}/} #路径转换,去掉开头的下载路径。 path=${downloadpath}/${rdp%%/*} #路径转换。下载文件夹时为顶层文件夹路径,普通单文件下载时与文件路径相同。 Task_INFO(){ echo echo -e "[\033[1;32mUPLOAD\033[0m] Task information:" echo -e "————————– [\033[1;33mINFO\033[0m] ————————–" echo -e "\033[1;35mDownload path:\033[0m${downloadpath}" echo -e "\033[1;35mFile path: \033[0m${filepath}" echo -e "\033[1;35mUpload path: \033[0m${uploadpath}" echo -e "\033[1;35mRemote path:\033[0m${remotepath}" echo -e "————————– [\033[1;33mINFO\033[0m] ————————–" echo } Upload(){ retry=0 while [ $retry -le $retry_num -a -e "${uploadpath}" ]; do [ $retry != 0 ] && echo && echo -e "Upload failed! Retry ${retry}/${retry_num} …" && echo rclone move -v "${uploadpath}" "${remotepath}" rclone rmdirs -v "${downloadpath}" –leave-root retry=$(($retry+1)) done [ -e "${uploadpath}" ] && echo && echo -e "Upload failed: ${uploadpath}" && echo [ -e "${path}".aria2 ] && rm -vf "${path}".aria2 [ -e "${filepath}".aria2 ] && rm -vf "${filepath}".aria2 } if [ $2 -eq 0 ] then exit 0 fi echo && echo -e " \033[1;33mU P L O A D ! ! !\033[0m" && echo echo && echo -e " \033[1;32mU P L O A D ! ! !\033[0m" && echo echo && echo -e " \033[1;35mU P L O A D ! ! !\033[0m" && echo if [ "$path" = "$filepath" ] && [ $2 -eq 1 ] #普通单文件下载,移动文件到设定的网盘文件夹。 then uploadpath=${filepath} remotepath="${name}:${folder}" Task_INFO Upload exit 0 elif [ "$path" != "$filepath" ] && [ $2 -gt 1 ] #BT下载(文件夹内文件数大于1),移动整个文件夹到设定的网盘文件夹。 then uploadpath=${path} remotepath="${name}:${folder}/${rdp%%/*}" Task_INFO Upload exit 0 elif [ "$path" != "$filepath" ] && [ $2 -eq 1 ] #第三方度盘工具下载(子文件夹或多级目录等情况下的单文件下载)、BT下载(文件夹内文件数等于1),移动文件到设定的网盘文件夹下的相同路径文件夹。 then uploadpath=${filepath} remotepath="${name}:${folder}/${rdp%/*}" Task_INFO Upload exit 0 fi Task_INFO
需要修改的地方只有这三行:
downloadpath='/usr/local/caddy/www/file' #Aria2下载目录
name='remote' #配置Rclone时填写的name
folder='/backup' #网盘里的文件夹,留空为整个网盘。
/usr/local/caddy/www/file
这个对应你 aria2 的下载目录,remote
对应你配置 rclone 的时候设置的名称,/backup
对应你想同步上传到你网盘的哪个目录,如果留空就是根目录。
修改完毕后,给这个脚本权限:
chmod +x autoupload.sh
然后编辑 aria2 的配置文件,在任意位置加上这句:
# 调用 rclone 上传(move)到网盘
on-download-complete=/root/.aria2/autoupload.sh
这就是利用 rclone 的 on-download-complete 自动上传 aria2 下载好的文件。
重新启动 aria2:
service aria2 restart
大功告成!