aria2 是一款強大又輕巧的下載工具,5 MB 不到的大小支援了 HTTP、HTTPS、FTP、SFTP、BitTorrent (BT 種子) 和 Metalink 等通訊協定。aria2 的原理跟 IDM 相似,都是透過分割檔案、增加連線數進行下載,可以提升下載速度。
如果您不想動手設定這些有的沒的,其實可以試試看 Motrix 這個開源的下載工具,其核心也是 aria2 哦!但已經全部設定好了,安裝後即可使用。
因為 Motrix 已經很久沒有發布更新,開源社群有人做了 Motrix Next,也可以試試:
功能特色
- 多點下載
- 多協定下載
- 檔案分割下載
- 可使用代理伺服器
- 可使用 JSON-RPC、XML-RPC 遠端控制
下載
請根據自己的作業系統下載對應的版本,32 位元請選擇 win-32bit,64 位元請選擇 win-64bit。下載連結在 Assets 中,檔名看起來可能像 aria2-1.XX.0-win-XXbit-build1.zip。
安裝、設定
由於 aria2 是非常輕量化的下載工具,所以並沒有 GUI 介面(別擔心,有人寫出 Web 介面,後面會講到!),需要自行建立設定檔。
首先解壓縮 aria2 至硬碟中的任何地方,例如 C:\aria2,在資料夾中依序建立 5 個檔案 aria2.conf、aria2.session、Start.vbs、Status.bat、Stop.bat、Restart.bat。
建議您不要使用「記事本」建立這些檔案,可能會因為編碼問題造成錯誤。可以使用 Visual Studio Code 或 Notepad++ 等軟體編輯,編碼請選擇 UTF-8,且副檔名一定要正確,注意不要存成 .txt 純文字檔哦!

手動建立 aria2.conf 檔案
用文字編輯軟體貼上以下設定,可以自行調整功能。
## '#'開頭為註解內容,選項都有對應的說明,請根據需要修改 ##
## 註解選項填寫的是預設值,建議在需要修改時再取消註解 ##
## 檔案儲存相關 ##
# 檔案的儲存路徑(可使用絕對路徑或相對路徑),預設: 目前啟動位置
dir=Download
# 啟用磁碟快取,0為停用快取,需 1.16 以上版本,預設: 16M
disk-cache=32M
# 檔案預分配方式,能有效降低磁碟碎片,預設: prealloc
# 預分配所需時間: none < falloc < trunc < prealloc
# NTFS 建議使用 falloc
file-allocation=none
# 斷點續傳
continue=true
## 下載連線相關 ##
# 最大同時下載任務數,執行時可修改,預設:5
max-concurrent-downloads=10
# 同一伺服器連線數,新增時可指定,預設:1
max-connection-per-server=10
# 最小檔案分割大小,新增時可指定,取值範圍 1M -1024M,預設: 20M
# 假定 size=10M,檔案為 20MiB 則使用兩個來源下載;檔案為 15MiB 則使用一個來源下載
min-split-size=10M
# 單個任務最大執行緒數,新增時可指定,預設: 5
split=20
# 整體下載速度限制,執行時可修改,預設: 0
#max-overall-download-limit=0
# 單個任務下載速度限制,預設: 0
#max-download-limit=0
# 整體上傳速度限制,執行時可修改,預設: 0
max-overall-upload-limit=1M
# 單個任務上傳速度限制,預設: 0
#max-upload-limit=1000
# 停用 IPv6,預設: false
disable-ipv6=false
## 進度儲存相關 ##
# 從 Session 檔案中讀取下載任務
input-file=aria2.session
# 在 Aria2 結束時儲存錯誤 / 未完成的下載任務到 Session 檔案
save-session=aria2.session
# 定時儲存 Session,0 為結束時才儲存,需 1.16.1 以上版本,預設: 0
save-session-interval=30
## 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 授權 Token,v1.18.4 新增功能,取代 --rpc-user 和 --rpc-passwd 選項
#rpc-secret=<TOKEN>
# 設定的 RPC 存取使用者名稱,此選項新版已廢棄,建議改用 --rpc-secret 選項
#rpc-user=<USER>
# 設定的 RPC 存取密碼,此選項新版已廢棄,建議改用 --rpc-secret 選項
#rpc-passwd=<PASSWD>
## BT/PT下載相關 ##
# 當下載的是一個種子 (以 .torrent 結尾) 時,自動開始 BT 任務,預設: true
follow-torrent=true
# BT 連接埠,當連接埠被遮蔽時使用,預設: 6881-6999
listen-port=62524
# 單個種子最大連線數,預設: 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.1
# 強制儲存 Session,即使任務已經完成,預設: false
# 較新的版本開啟後會在任務完成後依然保留 .aria2 檔案
#force-save=false
# BT校驗相關,預設: true
#bt-hash-check-seed=true
# 繼續之前的 BT 任務時,無需再次校驗,預設: false
bt-seed-unverified=true
# 儲存磁力連結中繼資料為種子檔案(.torrent檔案),預設: false
#bt-save-metadata=true 手動建立 aria2.session 檔案(Session 儲存位置)
空白檔案,不用填入任何東西。沒錯,不用懷疑,存檔完就可以關掉了!
注意!
aria2.session雖然是空白檔案,但一定要建立,否則會打不開 aria2
手動建立 Start.vbs 檔案(讓 aria2 背景執行)
CreateObject("WScript.Shell").Run "aria2c.exe --conf-path=aria2.conf",0 手動建立 Status.bat 檔案(顯示 aria2 狀態)
@echo off & title Aria2 Status
TaskList /FI "IMAGENAME eq aria2c.exe" /FO LIST
pause > nul 手動建立 Stop.bat 檔案(關閉 aria2)
@echo off & title Aria2 Stop
Taskkill /F /IM aria2c.exe
pause > nul 手動建立 Restart.bat 檔案(重啟 aria2)
Taskkill /F /IM aria2c.exe
start Start.vbs 執行 aria2
以上建立的 1 個 vbs 檔、3 個 bat 檔的功能就如同其名稱,現在我們要啟動 aria2,所以請點兩下 Start.vbs,讓 aria2 在背景執行。因為是在背景執行,所以
不會有任何畫面! 不會有任何畫面! 不會有任何畫面!
這很重要所以說 3 次。
檢查 aria2 狀態
如果您要確定 aria2 是否真的在執行,可以點兩下 Status.bat 查看狀態。應該會看到類似下面這樣的資訊,就表示 aria2 已經在背景運作了。
映像名稱: aria2c.exe
PID: 2176
工作階段名稱: Console
工作階段 #: 1
RAM使用量: 10,276 K 除錯
如果您在改完設定檔 aria2.conf 後遇到任何問題,或 Status.bat 也說沒有 aria2 在背景執行,說明設定檔有錯誤。如果您熟悉使用命令提示字元 / PowerShell / Windows Terminal 的操作,可以直接下指令:
.\aria2c.exe --conf-path=aria2.conf 來檢查是哪邊報錯。如果您不熟悉這些操作,請用「修改一次、執行一次」的方式除錯。即每改完一次 aria2.conf,就用 Restart.bat 重啟,並用 Status.bat 檢查到底有沒有正確執行。
重啟或關閉 aria2
點兩下 Restart.bat 即會重啟 aria2,您會看到一個黑畫面一閃而過,這是正常的,黑畫面消失後就代表 aria2 已經成功重啟了。
若要關閉 aria2,點兩下 Stop.bat 後看到類似以下訊息就是成功關閉囉!
成功: 處理程序 "aria2c.exe" (PID 2176) 已經終止了。 aria2 控制台
筆者喜歡的控制台為 mayswind 所設計的 AriaNg:
- 請下載 Releases 頁面中,Assets 下之
AriaNg-版本-AllInOne.zip來使用 - https://github.com/mayswind/AriaNg/releases
- 解壓縮後點兩下開啟
index.html即可
請點選「AriaNg 設定」 →「RPC」→ 在 Aria2 RPC 位址中填入「localhost」即可。 
再來就可以盡情享受快速下載囉! 
可以看到 aria2 一次以 10 個連線數下載檔案,有助於提升下載速度! 
下載完的檔案位置位在 aria2 目錄的 Download 資料夾,假設程式路徑是 C:\aria2,那下載資料夾就是 C:\aria2\Download。如需修改下載資料夾,請參照上面的 aria2.conf 中的第 7 行 (dir=Download),資料夾名稱請不要使用中文或特殊符號,以免發生錯誤。
Docker 版
推薦使用 P3TERX 的 Aria2-Pro。筆者就架了一個 Aria2-Pro 在自己的伺服器上,若需要長時間下載的檔案就丟上去慢慢抓,十分方便。但請您盡量不要開放外部存取!如有相關需求也務必注意安全性,最好限制僅能特定 IP 能連、可用反向代理、且金鑰一定要夠複雜。
以下設定中 aria2 在 6800 port,AriaNg 則在 6880 port。
docker-compose.yml
version: "3.8"
services:
Aria2-Pro:
container_name: aria2-pro
image: p3terx/aria2-pro
environment:
- PUID=65534
- PGID=65534
- UMASK_SET=022
- RPC_SECRET=【如果要對外開,金鑰務必要設定。AriaNg 設定中也要填寫此金鑰才能連線】
- RPC_PORT=6800
- LISTEN_PORT=6888
- DISK_CACHE=64M
- IPV6_MODE=false
- UPDATE_TRACKERS=true
- CUSTOM_TRACKER_URL=
- TZ=Asia/Taipei
volumes:
- ${PWD}/aria2-config:/config
- ${PWD}/aria2-downloads:/downloads
network_mode: host
restart: unless-stopped
# 因為 aria2 會持續產生記錄檔,所以限制大小以避免佔用儲存空間
logging:
driver: json-file
options:
max-size: 1m
AriaNg:
container_name: ariang
image: p3terx/ariang
command: --port 6880 --ipv6
network_mode: host
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 1m