Aria2+Oneindex+rclone+OD 离线下载

备注

后台链接https://a.com/?/admin/


把闲置的hosthatch小盘鸡用起来?全篇复制自https://pa.ci/95.html

首先,你得有一台具有root权限的运行Debian 9的服务器/VPS,以及一个OneDrive账号。
以下外部软件将会被安装(将会自动安装,不必过多关注),以实现离线下载和网盘列表的功能:
基础性软件:vim git curl wget unzip
维持性软件:nginx php-fpm php-curl
功能性软件:aria2 AriaNG Oneindex rclone

wget --no-check-certificate -O Aria2Drive.sh https://raw.githubusercontent.com/uselibrary/Aria2Drive/master/Aria2Drive.sh && chmod +x Aria2Drive.sh && bash Aria2Drive.sh

1 粘贴复制上述的一键脚本并运行,系统将会检查是否为Debian 9系统,如果不是将会自动退出,同时也会检查是否安装过nginx,apache和caddy,如果安装过也将自动退出。如果想在其他版本的系统安装,比如Ubuntu,理论上只要自行把这段命令删除即可。
2 检查通过后,将会自动更新服务器并安装必要的基础性和维持性软件,以及开启bbr加速。
3 系统将会自动配置nginx的配置文件,期间需要你输入域名,即以后你的网盘的网址。
4 系统将自动安装oneindex,并且配置自动更新OneDrive缓存任务。oneindex的绑定请参考官方说明,https://github.com/donwa/oneindex
5 下载功能由aria2和AriaNG共同实现,aria2负责下载,AriaNG负责用户操作。1.30版本的aria2将会被安装,AriaNG则会使用最新的版本进行安装。期间需要你设置aria2的密码,作为用户凭证避免其他人随意使用。请避免复杂的特殊字符,否则可能会导致失败,密码会被储存在/etc/aria2/aria2.conf中。使用地址为 example-domain.com/AriaNG, example-domain是你的域名。systemd会负责aria2的进程守护,systemctl start/stop/enable/disable/restart aria2,默认已经设置了开机自启。下载的文件将会被储存在/home/download/文件夹。在使用时,需要先在Aria RPC密钥处填入你设置的密码,并且刷新浏览器即可,如下图。

图片[1]-Aria2+Oneindex+rclone+OD 离线下载-THsInk


6 由aria2/AriaNG下载后的文件,将会利用aria2的on download complete事件触发自动上传脚本,使用rclone将文件上传到OneDrive中。rclone将会被自动安装,完成后会触发rclone config配置你的OneDrive。

图片[2]-Aria2+Oneindex+rclone+OD 离线下载-THsInk


输入n新建一个远程网盘,随后会要求你输入一个name,随意即可,比如MyOneDrive

图片[3]-Aria2+Oneindex+rclone+OD 离线下载-THsInk


选择输入OneDrive前面的数字,如图中为23。随后有client_idclient_secretEdit advanced config这三个问题,全部回车默认即可。注意 Use auto config这一项,务必选择N。去rclone官网下载(https://rclone.org/downloads/)你现在正在用的桌面系统对应的版本,比如我使用Windows系统,则下载rclone-v1.51.0-windows-amd64.zip并将其解压,使用powershell进入对应的文件夹,输入./rclone.exe authorize "onedrive",浏览器会弹出OneDrive的绑定界面,完成操作后,powershell会弹出一个token(类似于{“access_token”:”xxxx”} ),将其完整复制到服务器/VPS中即可绑定。不会绑定token的,请百度/Google/bing一下。在随后的please input remote drive name again中,再次填入你刚才设置的OneDrive的名字,比如前面的MyOneDrive
7 网站的ssl由let’s encrypt提供,并自动完成,请按照提示输入必要的信息,比如邮箱等。
8 安装完成后推荐重启服务器,以便各服务都能正常运行。

系统无法运行时的简单自检

因为每个人的操作和环境都可能存在区别,所以即使一样的系统,一样的脚本,然后可能会出现安装完后无法使用的现象。目前反映的主要集中在nginx不正常运行/无法启动,aria2无响应,rclone配置出现问题。
1 nginx不正常运行/无法启动
输入systemctl status nginx,如果出现nginx Failed to read PID from file /run/nginx.pid: Invalid argument,可以使用以下方法来解决:

mkdir -p /etc/systemd/system/nginx.service.d printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf systemctl daemon-reload systemctl restart nginx.service

2 aria2无响应,AriaNG一直在连接
如果AriaNG一直在连接,先检查是不是没有输入密码或者密码错误。如果其他地方没有问题,输入systemctl status nginx检查aria2是否正常启动。在极其偶然的情况下,确实会出现aria2无法启动。一般重装就会好。

3 rclone不上传文件
aria2在下载完文件的时候,会触发autouplad.sh自动上传文件到OneDrive,这几天碰到过一次rclone config因为没有配置,导致表现上看起来是aria2没有正常工作的bug。自检方法为输入rclone config查看是否有之前挂载的OneDrive网盘。如果提示没有任何配置文件,就说明得手动挂载。具体操作请查看前面的rclone章节。

问题反馈

不可能有问题,就算有问题,也一定是你的问题。

  • 已知有些vps的nginx会无法启动,反正遇见过一次,很神奇。
  • 由于rclone的上传机制有点复杂,导致有时候明明已经全部上传了,还会存留着一份在/home/download/文件夹中,可以自行删除它,也可以手动注释aria2.conf最后一行的自动上传,完全避免这个问题(毕竟都不上传了,问题当然不会存在)。
  • 服务器/VPS的配置需要稍微好一点,aria2多线程下载的时候需要较强的CPU,rclone上传大文件的时候,需要512M以上内存,硬盘太小可能会导致下载失败。

备注

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容