欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

linux sky995 6年前 (2021-04-19) 1873次浏览 0个评论

本文及资源最后更新时间 2021-04-19 by sky995

Aria2+OneDrive、Aria2+GoogleDrive大家都已经玩了很久了,不过说天翼网盘的似乎还没见过

其实原理都是一样的,Aria2下载完成后调用下载完成事件的脚本,脚本内容就是上传到网盘

本文中烈日下的男人|好人卡资源网就以Linux CentOS7 amd64为例

一、安装Aria2

1. 安装必要软件

  1. yum install –y wget curl ca–certificates

2. 使用一键脚本安装Aria2

  1. cd ~
  2. wget –N git.io/aria2.sh && chmod +x aria2.sh
  3. ./aria2.sh

按照提示安装

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

安装完成后会显示RPC 端口、RPC 密钥、下载目录、AriaNg 链接等信息

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

二、安装天翼网盘CLI工具

这里我们借助到天翼云盘 CLI Python,是一个Python语言编写的天翼网盘CLI程序,我们上传文件就用它实现

1. 安装Python3.8.7

安装依赖

  1. yum –y groupinstall “Development Tools”
  2. yum –y install zlib–devel bzip2–devel openssl–devel ncurses–devel sqlite–devel readline–devel tk–devel gdbm–devel db4–devel libpcap–devel xz–devel libffi–devel

如果是Debian、Ubuntu

  1. apt update
  2. apt install –y build–essential zlib1g–dev libncurses5–dev libgdbm–dev libnss3–dev libssl–dev libreadline–dev libffi–dev curl

下载包并解压

  1. cd /tmp
  2. wget https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz
  3. tar –zxf Python–3.8.7.tgz
  4. cd Python–3.8.7

编译安装

  1. ./configure –prefix=/usr/local/python3
  2. make && make install

建立软连接

  1. ln –s /usr/local/python3/bin/python3.8 /usr/bin/python3
  2. ln –s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

也可以不建立软连接,后面脚本里改为绝对路径即可,这样的话好像就不会影响以后的Python版本了。

测试

  1. python3 –V
  2. pip3 –V

2. 安装cloud189

从git克隆代码

  1. yum –y install git
  2. cd ~
  3. git clone https://github.com/Aruelius/cloud189.git
  4. cd cloud189
  5. pip3 install –r requirements.txt

配置账号和路径

  1. python3 main.py

按照提示输入账号密码登录

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

在cloud189CLI模式下创建文件夹,我如我在根目录创建一个aria2作为离线下载的保存目录,然后进入这个文件夹

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

cloud189CLI模式下命令和Linux命令相似,输入help可以查看帮助

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

现在你可以测试一下上传文件,命令是python3 main.py upload [本地文件/夹路径]

目前是不支持指定远程(天意网盘)上传路径的,所以我们一开始就要配置好这里的路径,如嗷嗷选择的是全部文件/aria2

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

三、配置Aria2的下载完成事件脚本

修改/root/.aria2c/aria2.conf,找到“下载完成后执行的命令”,把clean.sh替换为upload-189.sh。
如果你不是用这个脚本安装的,没有这一行,就新增一行,写下面的内容

  1. # 下载完成后执行的命令
  2. on–download–complete=/root/.aria2c/upload–189.sh

本来想用自带的rclone脚本修改一下,但是打开看了一下,头大,就找了萌鼠博客的脚本
https://www.moerats.com/archives/482/

就是把原来的命令改为我们用的python命令即可

把下列内容写到/root/.aria2c/upload-189.sh,记得通过chmod +x /root/.aria2c/upload-189.sh授予执行权限

  1. #!/bin/bash
  2.  
  3. GID=“$1”;
  4. FileNum=“$2”;
  5. File=“$3”;
  6. MinSize=“5” #限制最低上传大小,默认5k
  7. MaxSize=“157286400” #限制最高文件大小(单位k),默认15G
  8. #RemoteDIR=”/RATS/”; #rclone挂载的本地文件夹,最后面保留/
  9. LocalDIR=“/root/downloads/”; #Aria2下载目录,最后面保留/
  10.  
  11. if [[ –z $(echo “$FileNum” |grep –o ‘[0-9]*’ |head –n1) ]]; then FileNum=‘0’; fi
  12. if [[ “$FileNum” –le ‘0’ ]]; then exit 0; fi
  13. if [[ “$#” != ‘3’ ]]; then exit 0; fi
  14.  
  15. function LoadFile(){
  16. IFS_BAK=$IFS
  17. IFS=$‘\n’
  18. if [[ ! –d “$LocalDIR” ]]; then return; fi
  19. if [[ –e “$File” ]]; then
  20. FileLoad=“${File/#$LocalDIR}”
  21. while true
  22. do
  23. if [[ “$FileLoad” == ‘/’ ]]; then return; fi
  24. echo “$FileLoad” |grep –q ‘/’;
  25. if [[ “$?” == “0” ]]; then
  26. FileLoad=$(dirname “$FileLoad”);
  27. else
  28. break;
  29. fi;
  30. done;
  31. if [[ “$FileLoad” == “$LocalDIR” ]]; then return; fi
  32. EXEC=“$(command -v python3)”
  33. if [[ –z “$EXEC” ]]; then return; fi
  34. Option=” ~/cloud189/main.py upload”;
  35. cd “$LocalDIR”;
  36. if [[ –e “$FileLoad” ]]; then
  37. ItemSize=$(du –s “$FileLoad” |cut –f1 |grep –o ‘[0-9]*’ |head –n1)
  38. if [[ –z “$ItemSize” ]]; then return; fi
  39. if [[ “$ItemSize” –le “$MinSize” ]]; then
  40. echo –ne “\033[33m$FileLoad \033[0mtoo small to spik.\n”;
  41. return;
  42. fi
  43. if [[ “$ItemSize” –ge “$MaxSize” ]]; then
  44. echo –ne “\033[33m$FileLoad \033[0mtoo large to spik.\n”;
  45. return;
  46. fi
  47. #eval “${EXEC}${Option}” \'”${FileLoad}”\’ “${RemoteDIR}”;
  48. eval “${EXEC}${Option}” \’“${FileLoad}”\’;
  49. rm –rf “${FileLoad}”
  50. fi
  51. fi
  52. IFS=$IFS_BAK
  53. }
  54. LoadFile;

基本就是这样,能rclone就能用这个

修改完配置必须重启aria2,使用命令bash ~/aria2.sh执行脚本,然后按照提示重启。

四、测试图片

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能

写在后面

嗷嗷一开始配置下载目录错了,Aria2的下载目录是/root/downloads/,上传脚本里写的是/root/download/,所以浪费了很多时间。

果然,世上无难事,只要”肯放弃”。折腾良久不得法,暂且放下打游戏,放松过后就发现问题所在了。

感谢:
Aria2脚本:https://github.com/P3TERX/aria2.sh
天翼网盘CLI工具:https://github.com/Aruelius/cloud189
上传脚本:https://www.moerats.com/archives/482/

另(本文没用到,但可以选择的):
Aria2脚本:https://github.com/ToyoDAdoubiBackup/doubi#aria2sh
天翼网盘CLI工具:https://github.com/tickstep/cloudpan189-go


好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Aria2+天翼网盘——使用Aria2下载再自动上传到天翼网盘实现离线下载的功能
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址