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

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

原创 76条评论 2017-12-8 23,529 views

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.me/docs/lacy/
脚本源码:https://github.com/helloxz/aria2
其它原创脚本: CentOS 7一键安装Seafile搭建私有云存储
CentOS一键安装Resilio Sync脚本

标签: , ,

76 条评论 “Linux一键安装Aria2 + YAAW实现离线下载”

  1. xyzbeta说道:

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

    1. xiaoz说道:

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

      1. xyzbeta说道:

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

  2. caca说道:

    bt没速度啊?我把防火墙关了,配置也改了

  3. zhaji说道:

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

    1. xiaoz说道:

      权限不足,检查下/data/aria2/是否有读写权限。

  4. lsfu说道:

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

  5. chenmo说道:

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

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

    1. xiaoz说道:

      参考:https://doc.xiaoz.me/docs/lacy/maintenance

  6. CR说道:

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

  7. 您的仆人说道:

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

    2. 您的仆人说道:

      是我自己没设置好,已经解决!

  8. iyaya说道:

    磁力连接都没有速度,是什么原因呢?

  9. fengshu说道:

    填写rpc地址后点保存没有反应怎么破

  10. D.K说道:

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

  11. 000说道:

    磁力连接都没有速度,换了很多个了

  12. null说道:

    安装时没有提示设置令牌是怎么回事 谢谢

    1. xiaoz说道:

      您好,新的脚本已经不需要设置令牌了,根据提示完成操作即可。

  13. 看看说道:

    /data/aria2/download 文件保存目录怎么修改为别的地方

    1. xiaoz说道:

      修改caddy的配置文件,在/data/aria2/caddy.conf

  14. Mark说道:

    棒死了!

  15. ken说道:

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

    1. xiaoz说道:

      这不科学,看下/data/aria2/download这个目录是否存在?

      1. ken说道:

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

        1. xiaoz说道:

          方便加我QQ:337003006看下吗?

          1. kyung说道:

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

          2. xiaoz说道:

            重启一下服务

          3. kyung说道:

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

    2. xiaoz说道:

      输入/data/aria2/aria2.sh restart重启服务已解决。

      1. Adagio说道:

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

        1. xiaoz说道:

          “今天作者把博客删了”啥意思?

          1. Adagio说道:

            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

          2. xiaoz说道:

            建议参考caddy官方文档:https://caddyserver.com/docs 而不是第三方博客。

          3. Adagio说道:

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

          4. Adagio说道:

            没删=。=是维护了=。=

          5. Adagio说道:

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

      2. Haoyu说道:

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

        1. xiaoz说道:

          重启下服务试试

  16. dale说道:

    https://github.com/helloxz/aria2/issues/5 已开启端口,详情log,

  17. dale说道:

    raspberrypi安装成功!但是http://192.168.1.10:6080/ 无法打开!

    1. xiaoz说道:

      暂时还不支持树莓派,因为caddy用的linux x64,你可以下载支持树莓派的caddy替换试试。

  18. 从你这脚本发现了caddy,不错,我马上就把我脚本里的nginx都替换成caddy了。nginx要编译太慢了

    1. xiaoz说道:

      caddy比较简单,而且是二进制文件不需要编译,非常nice的web服务器。

  19. v2说道:

    发现手机不能使用啊,ios safari、chrome都不行

  20. kreyoshi说道:

    BT 下载没速度可以把这个配置改成enable-dht=true试试。

    1. xiaoz说道:

      可以试试。

  21. 挖站否说道:

    不错,支持。正在编辑 打算转载到我的博客上。

  22. 邓邓说道:

    请问怎么卸载呢?

    1. xiaoz说道:

      cd aria2-master && ./uninstall.sh,参考帮助文档:http://doc.xiaoz.me/lacy/473931

  23. NIER说道:

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

  24. sailer说道:

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

    1. xiaoz说道:

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

  25. bagayalu说道:

    大佬,为啥我安装好了
    下载速度都是0呢
    难道京东云不给用嘛~

    1. xiaoz说道:

      下载的BT吗?如果是BT暂未找到原因,换一个http下载地址试试。

  26. v2说道:

    /data/aria2/index.html 是YAAW的首页,能问下filemanager的主页在哪里,没找到…

    1. xiaoz说道:

      filemanager是Caddy的一个插件,好像没有主页。

  27. 学习了,多谢分享

  28. v2说道:

    Error: Internal server error 错误提示
    https://i.imgur.com/aCgcxRc.jpg

    1. xiaoz说道:

      参考下文章中的常见问题看能否解决,如果还是不行可以加下我QQ:337003006

      1. v2说道:

        之前是centos6.7,现在换到了 centos 7已经正常

        1. xiaoz说道:

          好的,我测试一下Centos 6

    2. v2说道:

      查看log
      nohup: failed to run command `aria2c’: No such file or directory

  29. 石头说道:

    能不能 设置更改一下端口,就是不用默认的6080端口。

    1. xiaoz说道:

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

  30. Welsun说道:

    安装好出现Error: Unauthorized,是什么情况

    1. xiaoz说道:

      你RPC地址没填对吧,安装完成后会显示RPC地址的,注意在YAAW设置正确的RPC地址。

发表评论

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