使用 Aria2 建立私有離綫下載服務

06 Aug, 2017 / 978 words / 4 minutes read

aria2 是一個輕量級的多協議和多源命令行下載工具。 它支持 HTTP / HTTPS,FTP,SFTP,BitTorrent 和 Metalink 的傳輸協議。 aria2 可以通過內置的 JSON-RPC 和 XML-RPC 接口進行操作。

現在的迅雷離綫也差不多掛了,QQ旋風也提示用戶即將關閉,短短一個七月,感覺又倒車回到了過去。加上看不見的那堵墻有日益增高,普通下載工具根本沒有速度。

我們先從路邊買碟,然後村裏通網了,資源都從網上挂 BT 下載,然後到了在綫點播視頻的時代,然而現在各種下載網站/在綫網盤封的封,關的關,又回到了 BT 下載的時候,不知道以後我們會不會高速倒車到衹能在路邊買碟,一夜回到 leonhaam 前。

安裝後端 aria2c 服務

Ubuntu 可以直接通過包管理器安裝

apt install aria2 -y

其他系統安裝方法見官方 Github 頁面

推薦編譯安裝

apt update -y
apt install libgnutls28-dev nettle-dev libgmp-dev libssh2-1-dev libc-ares-dev libxml2-dev zlib1g-dev libsqlite3-dev pkg-config libcppunit-dev autoconf automake autotools-dev autopoint libtool git gcc g++ libxml2-dev make quilt -y
wget https://github.com/aria2/aria2/releases/download/release-1.33.0/aria2-1.33.0.tar.gz && tar zxvf aria2-1.33.0.tar.gz
./configure
make
cp ~/aria2/src/aria2c /usr/bin

配置文件内容 寫在 ~/.aria2/aria2.conf 路徑

#允許rpc
enable-rpc=true
#允許所有來源, web界面跨域權限需要
rpc-allow-origin-all=true
#允許非外部訪問
rpc-listen-all=true
#RPC端口, 僅當默認端口被佔用時修改
#rpc-listen-port=6800

進階配置文件

#允許rpc
enable-rpc=true
#允許所有來源, web界面跨域權限需要
rpc-allow-origin-all=true
rpc-listen-all=true
#RPC端口, 僅當默認端口被佔用時修改
#rpc-listen-port=6800

#最大同時下載數(任務數), 路由建議值: 3
max-concurrent-downloads=5
#斷點續傳
continue=true
#同服務器連接數
max-connection-per-server=5
#最小文件分片大小, 下載線程數上限取決於能分出多少片, 對於小文件重要
min-split-size=10M
#單文件最大線程數, 路由建議值: 5
split=10
#下載速度限制
max-overall-download-limit=0
#單文件速度限制
max-download-limit=0
#上傳速度限制
max-overall-upload-limit=0
#單文件速度限制
max-upload-limit=0
seed-time=360
seed-ratio=1  
#斷開速度過慢的連接
#lowest-speed-limit=0
#驗證用,需要1.16.1之後的release版本
#referer=*

#input-file=/root/.aria2/aria2.session
#save-session=/root/.aria2/aria2.session
#定時保存會話,需要1.16.1之後的release版
#save-session-interval=60

#啓用本地節點查找
bt-enable-lpd=true
#添加額外的tracker
bt-tracker=udp://tracker.pirateparty.gr:6969
#單種子最大連接數
#bt-max-peers=55
#強制加密, 防迅雷必備
#bt-require-crypto=true
#當下載的文件是一個種子(以.torrent結尾)時, 自動下載BT
follow-torrent=true
#BT監聽端口, 當端口屏蔽時使用
#listen-port=6881-6999

完整進階配置(附帶 BT Tracker)文件見本人的 Github Gist

推薦启动使用 screen 方式進行後臺化

screen -R aria2c
aria2c --conf-path=/.aria2/aria2.conf --check-certificate=false

crtl+a+d 離開後臺

安裝前端 webui-aria2 服務

先安裝 nodejs , ubuntu 可以添加 ppa 進行安裝。

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

其他系統見 nodejs 安裝官方説明

推薦启动使用 screen 或 tmux 方式進行啓動 webui-aria2 後臺化

screen -R webui-aria2
git clone https://github.com/ziahamza/webui-aria2.git
cd webui-aria2
node node-server.js

crtl+a+d 離開後臺

之後進入你的服務器 IP 或者 域名,打開 http(s)://youdomain.website:8888/ 就可以使用網頁界面控制下載了

可以選擇以下 VPS 作為自己的離線下載服務器

Google Compute Engine

Amazon Web Services EC2

Vultr

Linode

Alibaba Cloud


文本參考來源

https://binux.blog/2012/12/aria2-examples/