当前位置: 首页 > 教程 > 原创 > Linux一键安装Aria2 + YAAW实现离线下载

Linux一键安装Aria2 + YAAW实现离线下载

发布于:2017-12-8 最后更新:2018-4-3 原创 82条评论 96,820 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

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脚本

标签: , ,

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注


已有82条评论


  1. 站长我研究了一下你的文件。发现了以下几个问题,导致安装存在问题希望可以在你的脚本中优化一下。
    1、建议在安装之前,先对用户的镜像源进行更新一下。很多用户安装失败,是因为源存在问题。导致arir安装失败,或者没有安装。但是你的脚本即使未安装aria2,到最后也会返回安装成功。
    2、install脚本中有开放端口的方法,但是直接在setting方法里面,没有判断系统而调用,容易出现问题。
    3、脚本中没有加入token的设置,还是使用username和password配置的,导致yaaw和aria2的连接不好。
    4、建议将caddy.conf中的filemanager的配置改为:filemanager /admin /data/aria2/dowoload {

    1. 感谢您的建议,
      2.放行端口是用的chk_firewall这个方法,做了简单的判断
      3.一开始考虑过用token,但是测试发现有些用户的系统很古老,导致aria2版本很低,无法支持token,最后又改成了username方式
      其它的我抽空更新下脚本。

      1. 根据你提供的思路,我对你的脚本重构了一次。
        主要优化了install_aria2.sh的安装逻辑和提示信息、将aria2.sh运维脚本封装的更加彻底,以及对aria2.conf的配置进行了修改。
        https://github.com/xyzbeta/aria2
        班门弄斧了,向你学习。

  2. Permission denied
    [1]+ Exit 1 nohup aria2c –conf-path=/data/aria2/aria2.conf > /data/aria2/aria2.log 2>
    怎么回事啊

  3. 感谢您分享的脚本,现在遇到一个问题,
    重启完VPS之后,重启服务,默认下载管理跑到root文件夹了
    按照下面您说的办法,重启服务也没有用,有没有什么解决办法?

  4. tcp 0 0 0.0.0.0:11263 0.0.0.0:* LISTEN 4573/aria2c

    我想修改aria2的端口,怎么没找到4573?

  5. 谢谢精彩的教程。我也成功了。我的vps限定了只有20个端口可以用。所以改了caddy和aria2的conf文件。只有那个filemanager老是显示有问题。明明已经下载到download文件夹,而且在winscp中已经看到下载的文件。在filemanager(教程http://IP:6080/admin)的就是无法显示该下载完的文件。

  6. 求助:出现
    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.

    1. 系统 centos7,
      输入[root@host ~]# netstat -apn|grep ‘aria2c’
      tcp 0 0 0.0.0.0:6800 0.0.0.0:* LISTEN 6232/aria2c

  7. 感谢博主。这个脚本非常棒。但是我想问一下,能不能把脚本更新一下,改成Aria2的最新版1.33.1呢?

  8. 之前成功了,后来重启了,登陆以后,/data/aria2/aria2.sh start来运行服务。然后download文件夹就没有了。。有解决方法?

      1. 在vps查看有download 文件夹,里面有下载视频。在web页面没有阿(就是ip:6080/admin/ ,里面加载有其他文件夹,没有download文件夹呢,css,img,js也没有,vps上都有

          1. 我也是这个问题 6080/admin 里边是其他的目录 不是download在的那个目录 请问一下怎么解决

          2. 重启了之后还是这样 我看他文件管理显示的是在根目录下的一个名字为root文件夹里 而不是在原来应该在的data/aria2下边

      1. filemanager会自动跳目录=。= 今天作者把博客删了。。问下还有什么比较好的管理器啊

          1. 还有呢个跳目录 怎么看上级目录啊=。=
            我这个跳着跳着 跳到根目录了=。= 还挺好用=。=
            但是跳到下面的目录没法看上级的-,-

          2. =.= 呢个 caddy的filemanager 单独安老出现 something really wrong。。。。。。。第一次打开是正常只要改目录就会出现=。=///你的呢个1.31是不是修改过啊0.0 不出错

      2. 请问重启服务找不到download文件夹而是跳到了/root这个问题如何解决的?

  9. 试了三个小鸡,只有一个(centos6)成功了,两个(centos7,debian8)失败了 http 0kb没速度。

  10. 大佬,http下载没问题,感谢分享!不过BT还是没速度,一点点都没有,还是选的最新热门种,这个能看看吗?

    1. BT正在测试,刚开始我也没速度。后来我就没管,过了一晚上居然下载完成了。你先把BT挂着,等一段时间看看。

    1. 可以,修改/data/aria2/caddy.conf这个配置文件,把6080改成你想要的端口,然后输入/data/aria2/aria2.sh restart重启一下服务,并再防火墙放行新的端口,然后访问测试。