利用OneDrive+OneIndex搭建完不限流量而且支持在线预览的网盘后,资源的下载与上传就成立一个问题,下载到本地再上传浪费时间,而且受限于本地带宽。使用Aria2+AriaNg实现离线下载+网盘下载,可以远程下载并自动上传到OneDrive。
点击前往:利用OneDrive搭建OneIndex网盘


一、安装

  • 安装Aria2

  • 使用逗比的安装脚本,运行命令:
    如果安装时下载aria2速度较慢,可以下载:aria2-1.35.0.tar.bz2 后上传到/usr/local目录下
    wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh
    #### 备用命令1
    wget -N --no-check-certificate https://pan.zyong.vip/other/aria2.sh && chmod +x aria2.sh && bash aria2.sh
    #### 备用命令2
    wget -N --no-check-certificate https://blog.zyong.vip/share/aria2.sh && chmod +x aria2.sh && bash aria2.sh
  • 安装完成后,如果想修改密码、下载文件位置、端口或其他需要调用此脚本的操作,可以使用命令bash aria2.sh,再选择修改配置即可;
    建议使用该脚本配置自动更新BT-Tracker服务器功能,能够改善BT下载效果。也可下载BT-Tracker.sh脚本,使用crontab命令创建定时任务:下载地址1 / 下载地址2
  • 安装AriaNg

  • 以宝塔面板为例:
  • 登录宝塔面板,点击网站添加站点,填入域名后点击提交
  • 下载AriaNg的最新版本,上传到新建站点的根目录:下载AriaNg
  • 解压程序压缩包,确保文件在网站根目录
  • 进行到这一步就可以使用IP/IP:端口访问AriaNg界面了,取决于添加站点时填的内容;

二、配置自动上传


  • 将url换成你上面复制的授权地址,包括http://loaclhost
    OneDriveUploader -a "url"
    #### 个人版(家庭版)
  • 将url换成你上面复制的授权地址,包括http://loaclhost
    OneDriveUploader -ms -a "url"
    #### 中国版(世纪互联)
  • 将url换成你上面复制的授权地址,包括http://loaclhost
    OneDriveUploader -cn -a "url"

    • 如果提示Init config file: /path/to/file/auth.json类似信息,则初始化成功;
    • 关于OneDriveUploader的更多命令请查阅:GitHub
    • Aria2自动上传

    • 在root目录下新建rcloneupload.sh;
    • 复制下面代码到rcloneupload.sh中:
      !/bin/bash
       
       GID="$1";
       FileNum="$2";
       File="$3";
       MaxSize="15728640";
       Thread="3";  #默认3线程,自行修改,服务器配置不好的话,不建议太多
       Block="20";  #默认分块20m,自行修改
       RemoteDIR="";  #上传到Onedrive的路径,默认为根目录,如果要上传到File目录,""里面请填成File
       LocalDIR="/usr/local/caddy/www/file/";  #Aria2下载目录,记得最后面加上/
       Uploader="/usr/local/bin/OneDriveUploader";  #上传的程序完整路径,默认为本文安装的目录
       Config="/root/auth.json";  #初始化生成的配置auth.json绝对路径,参考第3步骤生成的路径
       
       
       if [[ -z $(echo "$FileNum" |grep -o '[0-9]*' |head -n1) ]]; then FileNum='0'; fi
       if [[ "$FileNum" -le '0' ]]; then exit 0; fi
       if [[ "$#" != '3' ]]; then exit 0; fi
       
       function LoadFile(){
         if [[ ! -e "${Uploader}" ]]; then return; fi
         IFS_BAK=$IFS
         IFS=$'\n'
         tmpFile="$(echo "${File/#$LocalDIR}" |cut -f1 -d'/')"
         FileLoad="${LocalDIR}${tmpFile}"
         if [[ ! -e "${FileLoad}" ]]; then return; fi
         ItemSize=$(du -s "${FileLoad}" |cut -f1 |grep -o '[0-9]*' |head -n1)
         if [[ -z "$ItemSize" ]]; then return; fi
         if [[ "$ItemSize" -ge "$MaxSize" ]]; then
           echo -ne "\033[33m${FileLoad} \033[0mtoo large to spik.\n";
           return;
         fi
         ${Uploader} -c "${Config}" -t "${Thread}" -b "${Block}" -s "${FileLoad}" -r "${RemoteDIR}" -skip
         if [[ $? == '0' ]]; then
           rm -rf "${FileLoad}";
         fi
         IFS=$IFS_BAK
       }
       LoadFile;
    • 执行授权命令:chmod +x rcloneupload.sh,然后再到Aria2配置文件中加上一行on-download-complete=/root/rcloneupload.sh即可;

    三、完成


    • 执行systemctl restart aria2重启Aria2来应用配置;
    • 浏览器进入:IP/IP:端口访问AriaNg界面;
    • 转到AriaNg设置RPCAria2 RPC 密钥:输入密钥,默认为doub.io,可执行bash aria2.sh查看/修改;
      输入密钥
    • 配置完成,新建下载任务试试吧!
    • 注意:

    • 下载/上传速度取决于服务器带宽;
    • 下载/上传都消耗流量,即1G的文件消耗服务器上传/下载 各1G流量;

四、网盘离线下载

  • PanDownload因为众所周知的原因已无法正常使用,需配合此项GitHub目使用:pandownload-fake-localserver
  • 进入设置远程添加,填入相关内容(使用:bash aria2.sh查看/修改)
    添加远程主机
  • 下载时选择远程主机
    选择远程主机

本文部分资源来自网络,感谢原作大佬,如有侵权联系删除

最后修改:2022 年 01 月 17 日
如果想要赞赏,我绝不阻拦