Aria2安装/配置/使用/教程
Aria2作为一款linux下的下载神器,很多极客都在使用,可以下载http资源、种-子文件、磁力链接等,功能强大,而且整合Chrome插件可以摆脱百度云盘的速度限制。Aria2具有特点:
1、高速,自动多线程下载;断点续传;
2、轻量占用内存非常少,通常情况平均4~9MB内存占用(官方介绍);
3、多平台。支援 Win/Linux/OSX/Android 等操作系统下的部署;
4、模块化。分段下载引擎,文件整合速度快;
5、支持RPC界面远程;
6、全面支持BitTorrent协议;
官网
安装使用
推荐使用CentOS6系统,本文演示CentOS6。
其他系统可见官网:
RPM安装(推荐)
该方式安装的不是最新版本(version 1.16.4)
1 2 3 4 |
#RPM安装(推荐,环境:CentOS6.X) wget http://ftp.tu-chemnitz.de/pub/linux/dag/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm yum -y install aria2 |
编译安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#编译安装,Aria2 1.17.1以上版本要求gcc >= 4.8.3 or clang >= 3.4 #安装clang yum -y install clang #安装GCC,通过SCL安装GCC #CentOS 6 wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/rhscl-devtoolset-3-epel-6.repo yum install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-binutils devtoolset-3-gcc-gfortran scl enable devtoolset-3 bash #启用SCL环境中新版本GCC gcc --version #编译Aria2 wget https://github.com/aria2/aria2/releases/download/release-1.22.0/aria2-1.22.0.tar.gz tar xzvf aria2-1.22.0.tar.gz cd aria2-1.22.0 ./configure make make install man aria2c // 查看aria2c manual |
使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
1、直接在命令行下载,下载完成后自动退出,就和wget 的工作方式一样。 aria2c "download.url" 2、Aria2命令行使用。 使用Aria2下载文件,只需在命令后附加地址即可。如: aria2c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2 分段下载。利用Aria2的分段下载功能可以加快文件的下载速度,对于下载大文件时特别有用。为了使用aria2的分段下载功能,你需要在命令中指定 -s 选项。如: aria2c -s 2 http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2 #这将使用2连接来下载该文件。-s后面的参数值介于1~5之间,你可以根据实际情况选择。 断点续传。在命令中使用-c选项可以断点续传文件。如: aria2c -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2 下载tor-rent文件。你也可以使用Aria2下载BitTor—-rent文件。如: aria2c -o gutsy.torrent http://cdimage.ubuntu.com/daily-live/current/gutsy-desktop-i386.iso.tor-rent 后台下载 aria2c -D url aria2c –deamon=true url 验证文件 aria2c –checksum=md5=别人提供的md5 B-T下载 aria2c /tmp/CentOS-6.3-i386-bin-DVD1to2.torr-ent aria2c http://mirrors.163.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-minimal.tor-rent 设置dht端口 aria2c –dht-listen-port=1234 .torrent 下载需要引用页的文件 aria2c –referer=referurl url 限速下载 aria2c –max-download-limit=500k url //单个文件 aria2c –max-overall-download-limit=500k url //全局 下载需要Cookie验证的文件 aria2c –essay-header=’Cookie:cookie名称=cookie内容’ url aria2c –load-cookies=cookie文件 url 批量下载文本中所有URL aria2c -i uris.txt #注意:当源地址存在诸如&,*等shell的特殊字符,请使用单引号或双引号把URI包含起来。 |
RPC Server模式
该模式可以配合下文的图形管理。
默认启动是 6800 端口,怕别人盗用,可以设置用户名和密码(1.18.4以上版本支持密钥)。
命令行启动
1 |
aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/downloads -D (-D daemon模式,用于后台执行) |
1 2 |
#该命令是删掉aria2c进程 ps -ef |grep aria2c |awk '{print $2}'|xargs kill -9 |
配置文件启动
1 |
aria2c --conf-path="/etc/aria2/aria2.conf" |
这里有其他大佬分享的配置文件,我们直接下载使用即可。
配置文件里有详细注释,可自己酌情修改。
该配置后面会用到。
1 2 3 |
mkdir /etc/aria2/ cat /dev/null > /etc/aria2/aria2.session wget https://00img.top/data/20161060575174457728.conf -O /etc/aria2/aria2.conf |
以下是配置文件的一些说明,自己可以酌情修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ## ## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释 ## ## 文件保存相关 ## # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置 dir=~/downloads # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M #disk-cache=32M # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc # 预分配所需时间: none < falloc ? trunc < prealloc # falloc和trunc则需要文件系统和内核支持 # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项 file-allocation=none # 断点续传 continue=true ## 下载连接相关 ## # 最大同时下载任务数, 运行时可修改, 默认:5 max-concurrent-downloads=1 # 同一服务器连接数, 添加时可指定, 默认:1 max-connection-per-server=5 # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载 min-split-size=10M # 单个任务最大线程数, 添加时可指定, 默认:5 split=5 # 整体下载速度限制, 运行时可修改, 默认:0 #max-overall-download-limit=0 # 单个任务下载速度限制, 默认:0 #max-download-limit=0 # 整体上传速度限制, 运行时可修改, 默认:0 #max-overall-upload-limit=0 # 单个任务上传速度限制, 默认:0 #max-upload-limit=0 # 禁用IPv6, 默认:false disable-ipv6=true ## 进度保存相关 ## # 从会话文件中读取下载任务 input-file=/etc/aria2/aria2.session # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件 save-session=/etc/aria2/aria2.session # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0 #save-session-interval=60 ## RPC相关设置 ## # 启用RPC, 默认:false enable-rpc=true # 允许所有来源, 默认:false rpc-allow-origin-all=true # 允许非外部访问, 默认:false rpc-listen-all=true # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同 #event-poll=select # RPC监听端口, 端口被占用时可以修改, 默认:6800 rpc-listen-port=6800 # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项 #rpc-secret=<TOKEN> # 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项 rpc-user=ruyo # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项 rpc-passwd=RUYO.net ## BT/PT下载相关 ## # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true #follow-torrent=true # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999 listen-port=51413 # 单个种子最大连接数, 默认:55 #bt-max-peers=55 # 打开DHT功能, PT需要禁用, 默认:true enable-dht=true # 打开IPv6 DHT功能, PT需要禁用 #enable-dht6=false # DHT网络监听端口, 默认:6881-6999 #dht-listen-port=6881-6999 # 本地节点查找, PT需要禁用, 默认:false #bt-enable-lpd=true # 种子交换, PT需要禁用, 默认:true enable-peer-exchange=true # 每个种子限速, 对少种的PT很有用, 默认:50K #bt-request-peer-speed-limit=50K # 客户端伪装, PT需要 peer-id-prefix=-TR2770- user-agent=Transmission/2.77 # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0 seed-ratio=0 # 强制保存会话, 即使任务已经完成, 默认:false # 较新的版本开启后会在任务完成后依然保留.aria2文件 #force-save=false # BT校验相关, 默认:true #bt-hash-check-seed=true # 继续之前的BT任务时, 无需再次校验, 默认:false bt-seed-unverified=true # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false bt-save-metadata=true |
管理脚本
1 2 |
wget http://7jps5o.com1.z0.glb.clouddn.com/aria2/conf/aria2 -O /etc/init.d/aria2 chmod +x /etc/init.d/aria2 |
启动 : /etc/init.d/aria2 start
停止:/etc/init.d/aria2 stop
重启:/etc/init.d/aria2 restart
Aria2图形管理
图形管理界面可以不用和Aria2放到同一台机器上。
也可以直接使用别人搭建好的UI。
比如以下这些都是可以的,直接将你的RCP信息输入即可。
PS: 你输入的信息只会保存在你本地,不会上传到别人的服务器上,代码都是开源的。
http://aria2.jike.info
http://binux.github.io/yaaw/demo
http://aria2c.com
http://ariang.mayswind.net
Aria2 Web UI
博主是使用此方法,本文详细说明。YAAW 功能类似,请自行琢磨。
这里分享一个最新的Web UI : http://aria2.jike.info
按照【Aria2 RPC 连接设置】图示,设置你自己的aria2即可使用。
支持中文,能管理其他服务器上的aria2程序。
1 2 3 |
git clone https://github.com/ziahamza/webui-aria2 cd webui-aria2 python -m SimpleHTTPServer 9999 |
直接访问 IP:9999 即可访问。
Aria2 RPC 连接设置
设置好以后就可以愉快的玩耍了!!!!
YAAW
1 2 3 |
git clone https://github.com/binux/yaaw cd yaaw python -m SimpleHTTPServer 9999 |
启动9999端口访问,当然你可以使用其他端口。
演示地址: http://binux.github.io/yaaw/demo/
AriaNg
另一款图形管理,界面不错。但是添加RPC 不支持用户名密码方式。
项目地址:https://github.com/mayswind/AriaNg
演示地址:http://ariang.mayswind.net/#/downloading
一键安装脚本
上面啰嗦了好多,看上去复杂。其实搭建一遍后就很简单了。
下面是一个一键安装脚本。仅适用于 CentOS6.x 系统。
1 2 3 |
wget http://static-res.qiniudn.com/aria2/conf/aria2_insall.sh chmod +x aria2_insall.sh ./aria2_insall.sh |
安装内容:
Aria2 主程序
开放6800端口启动
开启RPC Server
开机启动 RPC Server
添加Aria2管理脚本
用户名 ruyo
密码 RUYO.net
PS : /etc/aria2/aria2.conf 中修改用户名密码。
注意事项
下载BT时,请注意被版权警告。
参考文献:
https://www.zrj96.com/post-181.html