使用百度下载东西难免受到限速的影响很是不爽,在ubuntu上又没有百度云客户端,导致云盘中的资源下载不下来,然后百度发现了aria2,下面是安装过程

下载源码编译安装

先去github上下载压缩包1.33.1链接

然后执行如下命令

  1. tar zxvf aria2.tar.gz #解压
  2. cd /aria2-1.34.0 #进入解压目录
  3. ./configure
  4. make
  5. make install

编写配置文件

  1. mkdir /root/aria2
  2. touch /root/aria2/aria2.session
  3. vim /root/aria2/aria2.conf

下面内容为配置文件内容:

  1. ## 文件保存相关 ##
  2. # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
  3. dir=/root/Downloads
  4. # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
  5. disk-cache=32M
  6. # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
  7. # 预分配所需时间: none < falloc ? trunc < prealloc
  8. # falloc和trunc则需要文件系统和内核支持
  9. # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
  10. file-allocation=trunc
  11. # 断点续传
  12. continue=true
  13. ## 下载连接相关 ##
  14. # 最大同时下载任务数, 运行时可修改, 默认:5
  15. max-concurrent-downloads=10
  16. # 同一服务器连接数, 添加时可指定, 默认:1
  17. max-connection-per-server=10
  18. # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
  19. # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
  20. min-split-size=20M
  21. # 单个任务最大线程数, 添加时可指定, 默认:5
  22. split=10
  23. # 整体下载速度限制, 运行时可修改, 默认:0
  24. max-overall-download-limit=0
  25. # 单个任务下载速度限制, 默认:0
  26. max-download-limit=0
  27. # 整体上传速度限制, 运行时可修改, 默认:0
  28. max-overall-upload-limit=500K
  29. # 单个任务上传速度限制, 默认:0
  30. max-upload-limit=100K
  31. # 禁用IPv6, 默认:false
  32. disable-ipv6=false
  33. ## 进度保存相关 ##
  34. # 从会话文件中读取下载任务
  35. input-file=/root/aria2/aria2.session
  36. # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
  37. save-session=/root/aria2/aria2.session
  38. # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
  39. save-session-interval=60
  40. # 强制保存会话, 即使任务已经完成, 默认:false
  41. # 较新的版本开启后会在任务完成后依然保留.aria2文件
  42. force-save=true
  43. bt-hash-check-seed=true
  44. bt-seed-unverified=true
  45. bt-save-metadata=true
  46. ## RPC相关设置 ##
  47. # 启用RPC, 默认:false
  48. enable-rpc=true
  49. # 允许所有来源, 默认:false
  50. rpc-allow-origin-all=true
  51. # 允许非外部访问, 默认:false
  52. rpc-listen-all=true
  53. # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
  54. event-poll=select
  55. # RPC监听端口, 端口被占用时可以修改, 默认:6800
  56. rpc-listen-port=6800
  57. # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
  58. rpc-secret=csdn2017
  59. ## BT/PT下载相关 ##
  60. # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
  61. follow-torrent=true
  62. # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
  63. listen-port=19999
  64. # 单个种子最大连接数, 默认:55
  65. bt-max-peers=100
  66. # 打开DHT功能, PT需要禁用, 默认:true
  67. enable-dht=true
  68. # 打开IPv6 DHT功能, PT需要禁用
  69. enable-dht6=false
  70. # DHT网络监听端口, 默认:6881-6999
  71. dht-listen-port=6881-6999
  72. # 本地节点查找, PT需要禁用, 默认:false
  73. bt-enable-lpd=true
  74. # 种子交换, PT需要禁用, 默认:true
  75. enable-peer-exchange=true
  76. # 每个种子限速, 对少种的PT很有用, 默认:50K
  77. bt-request-peer-speed-limit=50K
  78. # 客户端伪装, PT需要
  79. peer-id-prefix=-TR2770-
  80. user-agent=Transmission/2.77
  81. # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
  82. seed-ratio=0.2
  83. # BT校验相关, 默认:true
  84. bt-hash-check-seed=true
  85. # 继续之前的BT任务时, 无需再次校验, 默认:false
  86. bt-seed-unverified=true
  87. # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
  88. bt-save-metadata=false
  89. #强制加密, 防迅雷必备
  90. bt-require-crypto=true
  91. #添加额外tracker#
  92. #bt-tracker=

启动

  1. aria2c --conf-path=/root/aria2/aria2.conf -D

浏览器插件

火狐附加组件管理->搜索百度网盘助手->添加到firefox

这是打开百度网盘会出现如下图所示的图标

点击到处下载->设置,在下图中修改rpc的token,和ip即可,其中token要和上文配置文件中的rpc-secret的值保持一致

aria2的使用 - 图1aria2的使用 - 图2

WebUI

aria2c自己提供了一个web界面地址是:http://aria2c.com/

界面如下图

aria2的使用 - 图3

点击右侧的设置(扳手),和上文浏览器插件的设置一样,填写自己的ip和token;

上面那个自带的感觉不好用:

火狐搜索:aria2

找到如下带有闪电图标的组件添加到火狐中

aria2的使用 - 图4

插件安装完成后,进行配置,点击首选项->rpc服务器->默认服务器

在该界面添加自己aria的服务端信息,ip,端口,秘钥

使用

  1. aria2c http://AAA.BBB.CCC/file.zip 普通下载
  2. aria2c -s 2 http://AAA.BBB.CCC/file.zip 2个线程下载
  3. aria2c http://AAA.BBB.CCC/file.zip ftp://DDD.EEE.FFF/GGG/file.zip 从不同的地址下载同一文件
  4. aria2c http://AAA.BBB.CCC/file.zip ftp://DDD.EEE.FFF/GGG/file.zip 支持不同的协议下载同一文件
  5. aria2c -o test.torrent http://AAA.BBB.CCC/file.torrent 下载BT种子
  6. aria2c --max-upload-limit 40K -T file.torrent 设定BT最大上传速度
  7. aria2c http://AAA.BBB.CCC/file.metalink metalink下载文件

使用不同的名字保存文件

在初始化下载的时候,我们可以使用-o(小写)选项在保存文件的时候使用不同的名字。这儿我们将要使用 owncloud.zip 文件名来保存文件。

  1. # aria2c -o owncloud.zip https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
  2. [#d31304 16MiB/21MiB(74%) CN:1 DL:6.2MiB]
  3. 03/22 09:51:02 [NOTICE] Download complete: /opt/owncloud.zip
  4. Download Results:
  5. gid |stat|avg speed |path/URI
  6. ======+====+===========+=======================================================
  7. d31304|OK | 7.3MiB/s|/opt/owncloud.zip
  8. Status Legend:
  9. (OK):download completed.

下载多个文件

下面的命令将会从指定位置下载超过一个的文件并保存到当前目录,在下载文件的过程中,我们可以看到文件的(日期、时间、下载速度和下载进度)。

  1. # aria2c -Z https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2 ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
  2. [DL:1.7MiB][#53533c 272KiB/21MiB(1%)][#b52bb1 768KiB/3.6MiB(20%)]
  3. 03/22 10:25:54 [NOTICE] Download complete: /opt/wget-1.17.tar.gz
  4. [#53533c 18MiB/21MiB(86%) CN:1 DL:3.2MiB]
  5. 03/22 10:25:59 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
  6. Download Results:
  7. gid |stat|avg speed |path/URI
  8. ======+====+===========+=======================================================
  9. b52bb1|OK | 2.8MiB/s|/opt/wget-1.17.tar.gz
  10. 53533c|OK | 3.4MiB/s|/opt/owncloud-9.0.0.tar.bz2
  11. Status Legend:
  12. (OK):download completed.

使用 -P 参数来扩展下载地址:

  1. [11:30 sxuan@hulab ~/gatk4_practice]$ aria2c -Z -P "http://host/image{1,2,3}_{A,B,C}.png"
  2. 5da2af|ERR | 0B/s|http://host/image1_A.png%0A
  3. 3c98a4|ERR | 0B/s|http://host/image1_B.png%0A
  4. 17ba0a|ERR | 0B/s|http://host/image1_C.png%0A
  5. e7afa3|ERR | 0B/s|http://host/image2_A.png%0A
  6. e99fcf|ERR | 0B/s|http://host/image2_B.png%0A
  7. 1f151a|ERR | 0B/s|http://host/image2_C.png%0A
  8. 2da0f1|ERR | 0B/s|http://host/image3_A.png%0A
  9. 17b599|ERR | 0B/s|http://host/image3_B.png%0A
  10. d9f5ad|ERR | 0B/s|http://host/image3_C.png%0A

续传未完成的下载

当你遇到一些网络连接问题或者系统问题的时候,并将要下载一个大文件(例如: ISO 镜像文件),我建议你使用 -c 选项,它可以帮助我们从该状态续传未完成的下载,并且像往常一样完成。不然的话,当你再次下载,它将会初始化新的下载,并保存成一个不同的文件名(自动的在文件名后面添加 .1 )。注意:如果出现了任何中断,aria2 使用 .aria2 后缀保存(未完成的)文件。

  1. # aria2c -c https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
  2. [#db0b08 8.2MiB/21MiB(38%) CN:1 DL:3.1MiB ETA:4s]^C
  3. 03/22 10:09:26 [NOTICE] Shutdown sequence commencing... Press Ctrl-C again for emergency shutdown.
  4. 03/22 10:09:26 [NOTICE] Download GID#db0b08bf55d5908d not complete: /opt/owncloud-9.0.0.tar.bz2
  5. Download Results:
  6. gid |stat|avg speed |path/URI
  7. ======+====+===========+=======================================================
  8. db0b08|INPR| 3.3MiB/s|/opt/owncloud-9.0.0.tar.bz2
  9. Status Legend:
  10. (INPR):download in-progress.
  11. 如果重新启动传输,aria2 将会恢复下载。
  12. # aria2c -c https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
  13. [#873d08 21MiB/21MiB(98%) CN:1 DL:2.7MiB]
  14. 03/22 10:09:57 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
  15. Download Results:
  16. gid |stat|avg speed |path/URI
  17. ======+====+===========+=======================================================
  18. 873d08|OK | 1.9MiB/s|/opt/owncloud-9.0.0.tar.bz2
  19. Status Legend:
  20. (OK):download completed.

从文件获取输入

就像 wget 可以从一个文件获取输入的 URL 列表来下载一样。我们需要创建一个文件,将每一个 URL 存储在单独的行中。aria2 命令行可以添加 -i 选项来执行此操作。

  1. # aria2c -i test-aria2.txt
  2. [DL:3.9MiB][#b97984 192KiB/21MiB(0%)][#673c8e 2.5MiB/3.6MiB(69%)]
  3. 03/22 10:14:22 [NOTICE] Download complete: /opt/wget-1.17.tar.gz
  4. [#b97984 19MiB/21MiB(90%) CN:1 DL:2.5MiB]
  5. 03/22 10:14:30 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
  6. Download Results:
  7. gid |stat|avg speed |path/URI
  8. ======+====+===========+=======================================================
  9. 673c8e|OK | 4.3MiB/s|/opt/wget-1.17.tar.gz
  10. b97984|OK | 2.5MiB/s|/opt/owncloud-9.0.0.tar.bz2
  11. Status Legend:
  12. (OK):download completed.

每个主机使用两个连接来下载

默认情况,每次下载连接到一台服务器的最大数目,对于一条主机只能建立一条。我们可以通过 aria2 命令行添加 -x2(2 表示两个连接)来创建到每台主机的多个连接,以加快下载速度。

  1. # aria2c -x2 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
  2. [#ddd4cd 18MiB/21MiB(83%) CN:1 DL:5.0MiB]
  3. 03/22 10:16:27 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
  4. Download Results:
  5. gid |stat|avg speed |path/URI
  6. ======+====+===========+=======================================================
  7. ddd4cd|OK | 5.5MiB/s|/opt/owncloud-9.0.0.tar.bz2
  8. Status Legend:
  9. (OK):download completed.

从密码保护的网站下载一个文件

或者,我们也可以从一个密码保护网站下载一个文件。下面的命令行将会从一个密码保护网站中下载文件。

  1. # aria2c --http-user=xxx --http-password=xxx https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
  2. # aria2c --ftp-user=xxx --ftp-password=xxx ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz