aria2离线下载,rclone配置挂载

aria2离线下载,rclone配置挂载

更新软件包

##ubuntu&debian
apt update & apt upgrade

##centos
yum update -y

安装基础组件

##ubuntu&debian
apt install sudo wget curl

##centos
yum install sudo wget curl

安装 Aria 2 增强版

安装必要基础组件

apt install sudo wget curl ca-certificates

下载安装脚本

wget -N git.io/aria2.sh && chmod +x aria2.sh

运行安装脚本

./aria2.sh

    项目仓库https://github.com/P3TERX/aria2.sh

    其他操作启动:/etc/init.d/aria2 start

    停止:/etc/init.d/aria2 stop

    重启:/etc/init.d/aria2 restart

    查看状态:/etc/init.d/aria2 status

    配置文件路径:/root/.aria2c/aria2.conf (配置文件有中文注释,若语言设置有问题会导致中文乱码)

    默认下载目录:/root/downloads

    Rclone 配置

    vps 安装 rclone

    curl https://rclone.org/install.sh | sudo bash

    配置 rclone

    rclone config
    Rclone 挂载 webdav

    以本地挂载 alist 为例,按图配置即可

    图片[1]-aria2离线下载,rclone配置挂载-四次元拾光

    创建挂载位置
    mkdir -p /mnt/rclone/alist
    将 webdav 挂载为本地目录
    rclone mount alist: /mnt/rclone/alist --umask 0022 --default-permissions --allow-non-empty --allow-other --buffer-size 32M --low-level-retries 200 --dir-cache-time 2h --vfs-read-chunk-size 64M --vfs-read-chunk-size-limit 1G &

    说明: 第一个 alist 是创建 rclone config 时的命名,第二个 alist 是创建挂载位置时的文件夹名称

    卸载磁盘
    fusermount -qzu LocalFolder

    自动上传设置

    创建脚本

    aria2 目录运行

    vi autoupload.sh

    脚本如下 (作者:P3TERX,Github):

    #!/bin/bash
    #=================================================
    # Description: Aria2 download completes calling Rclone upload
    # Lisence: MIT
    # Version: 1.8
    # Author: P3TERX
    # Blog: https://p3terx.com
    #=================================================
    
    downloadpath='/root/downloads' #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
    #### 赋予脚本权限
    ```bash
    chmod +x autoupload.sh

    修改 aria2 配置

    编辑 /root/.aria2c
    修改如下内容

    # 调用 rclone 上传(move)到网盘
    on-download-complete=/root/.aria2c/autoupload.sh

    重启 aria2

    /etc/init.d/aria2 restart
    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞5 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容