利用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.zybest.top/other/aria2.sh && chmod +x aria2.sh && bash aria2.sh
    #备用命令2
    wget -N --no-check-certificate https://blog.zybest.top/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登录并授权,授权地址:【国际版、商业版、家庭版】【中国版(世纪互联)】
  • 授权后会跳转到一个类似下面localhost开头打不开的链接,这里复制好整个链接地址,包括http://loaclhost

      http://localhost:53682/?code=OAQABAAIAAABeAFzDwllzTYGDLh_qYbH8moiyd7cbmI1o0mkLDlDJGynrPjEdkMHP4kcJKVX-oQ8yIRUN0LMOdWlzjqwHo8HWnPqunsLt9fKVlUsMXRwpX37M-nFXfgZNyvkwFIRAbsRf22IDkxPyvYMolAexsCMe-_HjYPnzAwiPPdup8aKOrOFmwBCh58u7K68IA4QJPFmiyslI0-rKl7nHgmRkqly_iyMDCHnHs9jVe92O2oSh_dU4qB5anl3gpAbBiCY3gPDBMSfm07luvBw9ATStgF9bg0PI8oA3pgepvY2nW2_fXmDqOvcx2IcGTWSdkHOK72eqvOuWegIb-xsSgzqhbE0lFdi7eHojOqf9bEqWSXKhxaYUvz7trTkogJjKyG28Nl3mCvrPUUgsD1NYYHgYnqsPZe6LIDVzyDPz73BdFT1L0OmgyFangySmihTCijfC87PTIAiLrts2u0mlgIBhL0lrLDBcFdkBzybNS4-QkBcNBkEfjhBsUKyt0MaFUCR2UF0CT8aZULX3j7rGeaPFqbvaT-_-wWKkgBR-rblRUkNKfAyIk3zKynP0BdwyfOD2mBGewVCw6hCdo6Gztt6YKd-Luxm1Rbp37BzWcJCcudojVp7FCz0hwjE5qkJ4Gh-3IVYxKMZhKsngTJki2vUr3yo5IAA&state=1wsSWyaCvB25ESSfYNUqmQ&session_state=20f6631c-3758-497a-8c2e-6ca5792f8a03
    
  • 安装OneDriveUploader

  • 下载并授予权限:
    也可以下载对应版本后上传到/usr/local/bin/目录下:前往下载

    #64位系统下载
    wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/amd64/linux/OneDriveUploader -P /usr/local/bin/
    #32位系统下载
    wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/i386/linux/OneDriveUploader -P /usr/local/bin/
    #arm架构下载
    wget https://raw.githubusercontent.com/MoeClub/OneList/master/OneDriveUploader/arm/linux/OneDriveUploader -P /usr/local/bin/
    
    #授予权限
    chmod +x /usr/local/bin/OneDriveUploader
    
  • 初始化OneDriveUploader

  • 执行命令:

    #国际版,将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查看/修改)
    添加远程主机
  • 下载时选择远程主机
    选择远程主机

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

Last modification:June 13th, 2020 at 03:07 pm
如果想要赞赏,我绝不阻拦