aria2是一个轻量级的多协议和多源命令行 下载工具。它支持HTTP / HTTPS,FTP,SFTP, BitTorrent和Metalink。aria2可以通过内置的 JSON-RPC和XML-RPC接口进行操作。
YAAW则是一个管理aria2的WEB接口,两者结合轻松实现离线下载,在文章《CentOS安装aria2 + yaaw实现离线下载》分享过手动配置方法,为了简化流程,写了一个一键脚本,方便部署。
功能与特点
- 支持多种不同Linux系统
- 一键安装Aria2 + Caddy + YAAW
- 使用FileFileManager作为文件管理器
- 离线下载 + 视频在线播放
安装
直接复制下面的命令,一行一个,根据提示完成操作。
#Centos用户
yum -y install wget unzip
#如果是Debian or Ubuntu用户
apt-get install -y wget unzip
#下面的命令通用,直接复制
wget https://github.com/helloxz/aria2/archive/master.zip
unzip master.zip && cd aria2-master && chmod u+x *.sh && ./install_aria2.sh
请根据自己的系统输入选项进行安装,系统不要选错了,否则无法正常使用。比如我的系统是CentOS 7,选择1
根据提示进一步输入信息,注意:Aria2授权令牌建议用字母 + 数字组合,最好不要含有特殊符号,尤其是@之类的符号,以免出现不必要的问题。
安装完成后会看到如下信息,建议将信息保存到一个别人不易发现的地方,待会儿还需要使用。
开始使用
安装完成后输入http://IP:6080
进行访问,输入您刚刚设置的用户名、密码,就可以看到YAAW啦。
点击右上角“Setting”按钮,在JSON-RPC Path那里输入安装完后显示的RPC地址:code>http://token:abc123@IP:6800/jsonrpc<code,然后保存。
添加下载任务
只要配置没有问题的情况下,点击“Add”按钮添加一个下载任务试试,爽歪歪有木有?
管理文件
输入http://IP:6080/admin
进入FileManager可以看到所有文件,下载的文件保存在download
目录,其它文件请不要随意修改,以免出现异常。
取回本地
推荐使用IDM或EagleGet多线程下载工具,复制下载地址后注意需要填写用户名、密码,否则无法下载。
相关命令
#启动
/data/aria2/aria2.sh start
#停止
/data/aria2/aria2.sh stop
#重启
/data/aria2/aria2.sh restart
#卸载
cd aria2-master && ./uninstall.sh
#Caddy server配置文件
/data/aria2/caddy.conf
#Aria2配置文件
/data/aria2/aria2.conf
#离线下载目录
/data/aria2/download
常见问题
YAAW提示Error: Internal server error 错误?
原因一:RPC地址错误,安装完成后会提示RPC地址,请确保填写正确。
原因二:输入netstat -apn|grep 'aria2c'
查看进程,如果没有任何信息,可以确定Aria2服务未启动,输入命令nohup aria2c --conf-path=/data/aria2/aria2.conf > /data/aria2/aria2.log 2>&1 &
重新启动服务,如果依然不行,请查看错误日志/data/aria2/aria2.log
原因三:防火墙未放行6800端口,请自行放行下端口或关闭服务器防火墙。
重启了服务器就打不开了?
脚本并未设置开机启动,重启服务器后请输入/data/aria2/aria2.sh start
来运行服务。
我是Debian/Ubuntu用户,提示安装成功,但是打不开?
Debian/Ubuntu并未自动放行端口,请放行6080/6800两个端口,或者直接关闭防火墙,如果您的服务商支持安全组还需要额外检查。
问题反馈
可以在下面留言,或者Github Issues,为了方便排查,请提供以下信息。
- 使用的操作系统
- 报错信息或截图
- /data/aria2/aria2.log里面的日志内容
友情提示
国外大部分VPS商家禁止版权、BT等内容,离线下载请合理使用,若违反商家TOS导致服务器被关闭的,不承担任何责任。
- 勿下载版权内容(如视频、音乐等)
- 勿长时间将带宽跑满
- 不要下载BT等内容
总结
如果你买了一打VPS还在吃灰,不妨试试这个脚本来搭建离线下载。推荐国外的VPS安装,国内小水管意义不大,脚本处于初期测试阶段,若有问题请留言反馈,后期会支持更多系统。(PS:原创文章,转载请注明)
帮助文档:https://doc.xiaoz.org/docs/lacy/
脚本源码:https://github.com/helloxz/aria2
其它原创脚本: CentOS 7一键安装Seafile搭建私有云存储
CentOS一键安装Resilio Sync脚本
站长我研究了一下你的文件。发现了以下几个问题,导致安装存在问题希望可以在你的脚本中优化一下。
1、建议在安装之前,先对用户的镜像源进行更新一下。很多用户安装失败,是因为源存在问题。导致arir安装失败,或者没有安装。但是你的脚本即使未安装aria2,到最后也会返回安装成功。
2、install脚本中有开放端口的方法,但是直接在setting方法里面,没有判断系统而调用,容易出现问题。
3、脚本中没有加入token的设置,还是使用username和password配置的,导致yaaw和aria2的连接不好。
4、建议将caddy.conf中的filemanager的配置改为:filemanager /admin /data/aria2/dowoload {
感谢您的建议,
2.放行端口是用的chk_firewall这个方法,做了简单的判断
3.一开始考虑过用token,但是测试发现有些用户的系统很古老,导致aria2版本很低,无法支持token,最后又改成了username方式
其它的我抽空更新下脚本。
根据你提供的思路,我对你的脚本重构了一次。
主要优化了install_aria2.sh的安装逻辑和提示信息、将aria2.sh运维脚本封装的更加彻底,以及对aria2.conf的配置进行了修改。
https://github.com/xyzbeta/aria2
班门弄斧了,向你学习。
bt没速度啊?我把防火墙关了,配置也改了
Permission denied
[1]+ Exit 1 nohup aria2c –conf-path=/data/aria2/aria2.conf > /data/aria2/aria2.log 2>
怎么回事啊
权限不足,检查下
/data/aria2/
是否有读写权限。感谢您分享的脚本,现在遇到一个问题,
重启完VPS之后,重启服务,默认下载管理跑到root文件夹了
按照下面您说的办法,重启服务也没有用,有没有什么解决办法?
tcp 0 0 0.0.0.0:11263 0.0.0.0:* LISTEN 4573/aria2c
我想修改aria2的端口,怎么没找到4573?
参考:https://doc.xiaoz.me/docs/lacy/maintenance
谢谢精彩的教程。我也成功了。我的vps限定了只有20个端口可以用。所以改了caddy和aria2的conf文件。只有那个filemanager老是显示有问题。明明已经下载到download文件夹,而且在winscp中已经看到下载的文件。在filemanager(教程http://IP:6080/admin)的就是无法显示该下载完的文件。
求助:出现
Error: Internal server error
以下是/data/aria2/aria2.log里面的日志内容
03/07 09:35:25 [^[[1;33mWARN^[[0m] –rpc-user option will be deprecated in the future release. Migrate to –rpc-secret option as soon as possible.
03/07 09:35:25 [^[[1;33mWARN^[[0m] –rpc-passwd option will be deprecated in the future release.
03/07 09:35:25 [^[[1;31mERROR^[[0m] IPv4 RPC: failed to bind TCP port 6800
Exception: [SocketCore.cc:293] errorCode=1 Failed to bind a socket, cause: Address already in use
03/07 09:35:25 [^[[1;31mERROR^[[0m] Exception caught
Exception: [DownloadEngineFactory.cc:215] errorCode=1 Failed to setup RPC server.
系统 centos7,
输入[root@host ~]# netstat -apn|grep ‘aria2c’
tcp 0 0 0.0.0.0:6800 0.0.0.0:* LISTEN 6232/aria2c
是我自己没设置好,已经解决!
磁力连接都没有速度,是什么原因呢?
填写rpc地址后点保存没有反应怎么破
感谢博主。这个脚本非常棒。但是我想问一下,能不能把脚本更新一下,改成Aria2的最新版1.33.1呢?
磁力连接都没有速度,换了很多个了
安装时没有提示设置令牌是怎么回事 谢谢
您好,新的脚本已经不需要设置令牌了,根据提示完成操作即可。
/data/aria2/download 文件保存目录怎么修改为别的地方
修改caddy的配置文件,在
/data/aria2/caddy.conf
棒死了!
之前成功了,后来重启了,登陆以后,/data/aria2/aria2.sh start来运行服务。然后download文件夹就没有了。。有解决方法?
这不科学,看下
/data/aria2/download
这个目录是否存在?在vps查看有download 文件夹,里面有下载视频。在web页面没有阿(就是ip:6080/admin/ ,里面加载有其他文件夹,没有download文件夹呢,css,img,js也没有,vps上都有
方便加我QQ:337003006看下吗?
我也是这个问题 6080/admin 里边是其他的目录 不是download在的那个目录 请问一下怎么解决
重启一下服务
重启了之后还是这样 我看他文件管理显示的是在根目录下的一个名字为root文件夹里 而不是在原来应该在的data/aria2下边
输入
/data/aria2/aria2.sh restart
重启服务已解决。filemanager会自动跳目录=。= 今天作者把博客删了。。问下还有什么比较好的管理器啊
“今天作者把博客删了”啥意思?
curl -fsSL https://henriquedias.com/filemanager/get.sh | bash
或者
wget -qO- https://henriquedias.com/filemanager/get.sh | bash
用不了了
这是呢个独立版的
https://github.com/hacdias/filemanager
caddy你是怎么单独弄出来的啊0.0
建议参考caddy官方文档:https://caddyserver.com/docs 而不是第三方博客。
还有呢个跳目录 怎么看上级目录啊=。=
我这个跳着跳着 跳到根目录了=。= 还挺好用=。=
但是跳到下面的目录没法看上级的-,-
没删=。=是维护了=。=
=.= 呢个 caddy的filemanager 单独安老出现 something really wrong。。。。。。。第一次打开是正常只要改目录就会出现=。=///你的呢个1.31是不是修改过啊0.0 不出错
请问重启服务找不到download文件夹而是跳到了/root这个问题如何解决的?
重启下服务试试
https://github.com/helloxz/aria2/issues/5 已开启端口,详情log,
raspberrypi安装成功!但是http://192.168.1.10:6080/ 无法打开!
暂时还不支持树莓派,因为caddy用的linux x64,你可以下载支持树莓派的caddy替换试试。
从你这脚本发现了caddy,不错,我马上就把我脚本里的nginx都替换成caddy了。nginx要编译太慢了
caddy比较简单,而且是二进制文件不需要编译,非常nice的web服务器。
发现手机不能使用啊,ios safari、chrome都不行
BT 下载没速度可以把这个配置改成enable-dht=true试试。
可以试试。
不错,支持。正在编辑 打算转载到我的博客上。
请问怎么卸载呢?
cd aria2-master && ./uninstall.sh
,参考帮助文档:http://doc.xiaoz.me/lacy/473931试了三个小鸡,只有一个(centos6)成功了,两个(centos7,debian8)失败了 http 0kb没速度。
参考:http://doc.xiaoz.me/lacy/473932排查一下。
大佬,http下载没问题,感谢分享!不过BT还是没速度,一点点都没有,还是选的最新热门种,这个能看看吗?
BT正在测试,刚开始我也没速度。后来我就没管,过了一晚上居然下载完成了。你先把BT挂着,等一段时间看看。
大佬,为啥我安装好了
下载速度都是0呢
难道京东云不给用嘛~
下载的BT吗?如果是BT暂未找到原因,换一个http下载地址试试。
/data/aria2/index.html 是YAAW的首页,能问下filemanager的主页在哪里,没找到…
filemanager是Caddy的一个插件,好像没有主页。
学习了,多谢分享
Error: Internal server error 错误提示
https://i.imgur.com/aCgcxRc.jpg
参考下文章中的常见问题看能否解决,如果还是不行可以加下我QQ:337003006
之前是centos6.7,现在换到了 centos 7已经正常
好的,我测试一下Centos 6
查看log
nohup: failed to run command `aria2c’: No such file or directory
能不能 设置更改一下端口,就是不用默认的6080端口。
可以,修改
/data/aria2/caddy.conf
这个配置文件,把6080改成你想要的端口,然后输入/data/aria2/aria2.sh restart
重启一下服务,并再防火墙放行新的端口,然后访问测试。安装好出现Error: Unauthorized,是什么情况
你RPC地址没填对吧,安装完成后会显示RPC地址的,注意在YAAW设置正确的RPC地址。