aria2 讓下載提速

大雄45發表於2023-03-05
導讀 aria2 是一個自由、開源、輕量級多協議和多源的 行下載工具,它支援 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 協議,所以給我們使用者帶來不少便捷。

aria2 是一個自由、開源、輕量級多協議和多源的 行下載工具,它支援 HTTP/HTTPS、FTP、SFTP、 BitTorrent 和 Metalink 協議;aria2 可以透過內建的 JSON-RPC 和 XML-RPC 介面來操縱。aria2 下載檔案的時候,自動驗證資料塊,它可以透過多個來源或者多個協議下載一個檔案,並且會嘗試利用你的最 大下載頻寬;預設情況下,所有的Linux發行版都包括 aria2,所以我們可以從官方庫中很容易的安裝。一些 GUI 下載管理器例如uget 使用 aria2 作為外掛來提高下載速度。

Aria2 特性
  • 支援 HTTP/HTTPS GET
  • 支援 HTTP 代理
  • 支援 HTTP BASIC 認證
  • 支援 HTTP 代理認證
  • 支援 FTP (主動、被動模式)
  • 透過 HTTP 代理的 FTP(GET 命令列或者隧道)
  • 分段下載
  • 支援 Cookie
  • 可以作為守護程式執行。
  • 支援使用 fast 擴充套件的 BitTorrent 協議
  • 支援在多檔案 torrent 中選擇檔案
  • 支援 Metalink 3.0 版本(HTTP/FTP/BitTorrent)
  • 限制下載、上傳速度
1.Linux 下安裝 aria2

我們可以很容易的在所有的 Linux 發行版上安裝 aria2 命令列下載器,例如 Debian、 Ubuntu、 Mint、 RHEL、 s、Fedora、 suse、 openSUSE、 Arch Linux、 Manjaro、 Mageia 等等……只需要輸入下面的命令安裝即可。對於 CentOS、 RHEL 系統,我們需要開啟uget 或者RPMForge 庫的支援。

[對於 Debian、 Ubuntu 和 Mint]
$ sudo apt-get install aria2
[對於 CentOS、 RHEL、 Fedora 21 和更早些的作業系統]
# yum install aria2
[Fedora 22 和 之後的系統]
# dnf install aria2
[對於 suse 和 openSUSE]
# zypper install wget
[Mageia]
# urpmi aria2
[對於 Debian、 Ubuntu 和 Mint]
$ sudo pacman -S aria2
2.下載單個檔案

下面的命令將會從指定的 URL 中下載一個檔案,並且儲存在當前目錄,在下載檔案的過程中,我們可以看到檔案的(日期、時間、下載速度和下載進度)。

# aria2c 
[#986c80 19MiB/21MiB(90%) CN:1 DL:3.0MiB]
03/22 09:49:13 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
986c80|OK  |   3.0MiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(OK):download completed.
3.使用不同的名字儲存檔案

在初始化下載的時候,我們可以使用 -o(小寫)選項在儲存檔案的時候使用不同的名字。這兒我們將要使用 owncloud.zip 檔名來儲存檔案。

# aria2c -o owncloud.zip 
[#d31304 16MiB/21MiB(74%) CN:1 DL:6.2MiB]
03/22 09:51:02 [NOTICE] Download complete: /opt/owncloud.zip
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
d31304|OK  |   7.3MiB/s|/opt/owncloud.zip
Status Legend:
(OK):download completed.
4.下載速度限制

預設情況下,aria2 會利用全部頻寬來下載檔案,在檔案下載完成之前,我們在伺服器就什麼也做不了(這將會影響其他服務訪問頻寬)。所以在下載大檔案時最 好使用

–max-download-limit

選項來避免進一步的問題。

# aria2c --max-download-limit=500k 
[#7f9fbf 21MiB/21MiB(99%) CN:1 DL:466KiB]
03/22 09:54:51 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
7f9fbf|OK  |   462KiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(OK):download completed.
5.下載多個檔案

下面的命令將會從指定位置下載超過一個的檔案並儲存到當前目錄,在下載檔案的過程中,我們可以看到檔案的(日期、時間、下載速度和下載進度)。

# aria2c -Z  ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
[DL:1.7MiB][#53533c 272KiB/21MiB(1%)][#b52bb1 768KiB/3.6MiB(20%)]
03/22 10:25:54 [NOTICE] Download complete: /opt/wget-1.17.tar.gz
[#53533c 18MiB/21MiB(86%) CN:1 DL:3.2MiB]
03/22 10:25:59 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
b52bb1|OK  |   2.8MiB/s|/opt/wget-1.17.tar.gz
53533c|OK  |   3.4MiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(OK):download completed.
6.續傳未完成的下載

當你遇到一些網路連線問題或者系統問題的時候,並將要下載一個大檔案(例如: ISO 映象檔案),我建議你使用 -c 選項,它可以幫助我們從該狀態續傳未完成的下載,並且像往常一樣完成。不然的話,當你再次下載,它將會初始化新的下載,並儲存成一個不同的檔名(自動的在檔名後面新增 .1)。注意:如果出現了任何中斷,aria2 使用 .aria2 字尾儲存(未完成的)檔案。

# aria2c -c 
[#db0b08 8.2MiB/21MiB(38%) CN:1 DL:3.1MiB ETA:4s]^C
03/22 10:09:26 [NOTICE] Shutdown sequence commencing... Press Ctrl-C again for emergency shutdown.
03/22 10:09:26 [NOTICE] Download GID#db0b08bf55d5908d not complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
db0b08|INPR|   3.3MiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(INPR):download in-progress.
如果重新啟動傳輸,aria2 將會恢復下載。
# aria2c -c 
[#873d08 21MiB/21MiB(98%) CN:1 DL:2.7MiB]
03/22 10:09:57 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
873d08|OK  |   1.9MiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(OK):download completed.
7.從檔案獲取輸入

就像 wget 可以從一個檔案獲取輸入的 URL 列表來下載一樣。我們需要建立一個檔案,將每一個 URL 儲存在單獨的行中。ara2 命令列可以新增 -i 選項來執行此操作。

# aria2c -i test-aria2.txt
[DL:3.9MiB][#b97984 192KiB/21MiB(0%)][#673c8e 2.5MiB/3.6MiB(69%)]
03/22 10:14:22 [NOTICE] Download complete: /opt/wget-1.17.tar.gz
[#b97984 19MiB/21MiB(90%) CN:1 DL:2.5MiB]
03/22 10:14:30 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
673c8e|OK  |   4.3MiB/s|/opt/wget-1.17.tar.gz
b97984|OK  |   2.5MiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(OK):download completed.
8.每個主機使用兩個連線來下載

預設情況,每次下載連線到一臺伺服器的最 大數目,對於一條主機只能建立一條。我們可以透過 aria2 命令列新增 -x2(2 表示兩個連線)來建立到每臺主機的多個連線,以加快下載速度。

# aria2c -x2 
[#ddd4cd 18MiB/21MiB(83%) CN:1 DL:5.0MiB]
03/22 10:16:27 [NOTICE] Download complete: /opt/owncloud-9.0.0.tar.bz2
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
ddd4cd|OK  |   5.5MiB/s|/opt/owncloud-9.0.0.tar.bz2
Status Legend:
(OK):download completed.
9.下載 BitTorrent 種子檔案

我們可以使用 aria2 命令列直接下載一個 BitTorrent 種子檔案:

# aria2c [kat.cr]irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr
[#388321 0B/0B CN:1 DL:0B]                                                                                                                    
03/22 20:06:14 [NOTICE] Download complete: /opt/[kat.cr]irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr.torrent
03/22 20:06:14 [ERROR] Exception caught
Exception: [BtPostDownloadHandler.cc:98] errorCode=25 Could not parse BitTorrent metainfo
Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
388321|OK  |    11MiB/s|/opt/[kat.cr]irudhi.suttru.2015.official.teaser.full.hd.1080p.pathi.team.sr.torrent
Status Legend:
(OK):download completed.
10.下載 BitTorrent 磁力連結

使用 aria2 我們也可以透過 BitTorrent 磁力連結直接下載一個種子檔案:

# aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'
11.下載 BitTorrent Metalink 種子

我們也可以透過 aria2 命令列直接下載一個 Metalink 檔案。

# aria2c https://curl.haxx.se/metalink.cgi?curl=tar.bz2
12.從密碼保護的網站下載一個檔案

或者,我們也可以從一個密碼保護網站下載一個檔案。下面的命令列將會從一個密碼保護網站中下載檔案。

# aria2c --http-user=xxx --http-password=xxx 
# aria2c --ftp-user=xxx --ftp-password=xxx ftp://ftp.gnu.org/gnu/wget/wget-1.17.tar.gz
13.閱讀更多關於 aria2

如果你希望瞭解瞭解更多選項 —— 它們同時適用於 wget,可以輸入下面的命令列在你自己的終端獲取詳細資訊:

# man aria2c
or
# aria2c --help

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2937994/,如需轉載,請註明出處,否則將追究法律責任。

相關文章