1. 程式人生 > >【2018.10】【小白向】利用閒置VPS搭建私有離線下載服務 最新基於Aria2 +WebUI Aria2實現含帶GUI的離線下載 私有迅雷

【2018.10】【小白向】利用閒置VPS搭建私有離線下載服務 最新基於Aria2 +WebUI Aria2實現含帶GUI的離線下載 私有迅雷

引子:

Aria2是老東西了,下載服務的佼佼者,越來越成熟

手頭裡有個專門用來“ 閒置 ”的Vultr伺服器,Vultr家的伺服器有丟包現象,但最大的優點是價效比極高,頻寬極高,用來搭建科學上網和學習實驗用的服務是非常不錯的選擇,而且還支援Alipay和WeChat Pay,對於沒有信用卡的學生黨來說,再好不過。

優惠購買點這裡!推廣一下,新使用者購買贈送等值服務!推薦一下法國線路,穩定,丟包現象少。

接下來,進入正題

伺服器環境準備

我用的是CentOS 7 x64(搭建網路相關服務還是用這個比較好)

並且開啟了Google BBR核心加速

小白環境推薦

(如果不需要,請下滑跳躍至Aria2安裝部分)

開啟BBR加速

推薦大佬 秋水逸冰 的部落格,不光有BBR的安裝方法,還有科學上網的一鍵指令碼等乾貨

安裝寶塔面板

為了管理和方便操作檢視檔案的方便,我安裝了寶塔面板

這是官網的連結    寶塔面板

開放埠

安裝寶塔面板後會自動管控為正常使用的埠,需要提前開放埠用來監聽和下載

預設使用的是6800埠(可以後期指定自定義的埠)

安裝Aria2 

開啟SSH工具,在root許可權下鍵入以下命令

# 更新yum 根據提示按 'y' + 回車
yum update

使用yum安裝aria2

yum install epel-release
yum install aria2

這樣aira2就成功安裝了,接下來開啟服務(aria2的命令是aria2c)

aria2c --enable-rpc --rpc-listen-all

開啟成功後會發現服務正在監聽6800埠(這個視窗暫時不要關閉)

按照官網給出的示例就已經可以使用下載服務了,但是用起來還是及其麻煩繁瑣,所以需要一個GUI來幫助控制aria2

GUI提供視覺化的操作面板,能更好的提供下載服務的詳細內容

這裡我們使用的是官方推薦的WebUI Aria2

使用WebUI Aria2

下載後可將其掛載到自己的伺服器,或者直接放在本地使用

這裡為了方便演示配置及使用,在本地開啟目錄webui-aria2-master\docs\index.html

GUI中常用的功能操作適配官方中文,其他大部分不需要特別設定的地方沒有中文

依次點選設定--連線設定

之後會彈出如下介面

填寫好主機(即伺服器IP地址)埠確認為6800

儲存後會發現頁面右側出現連線成功提示

這時候就可以使用該GUI介面來下載了資源了

同時這裡也暴露了一個問題,沒有任何的使用者驗證,埠也是使用預設埠

為了防止服務被盜用,達到私人化的目的,需要新增使用者驗證和等等引數

這時候需要為服務配置引數,新增RPC認證

配置Aria2   開啟RPC認證

首先在伺服器端建立一個目錄和兩個空檔案(目錄和檔名可自定義),分別是

/etc/aria2/aria2.conf   和  /etc/aria2/aria2.session

aria2.conf           用來配置aria2

aria2.session     用來儲存aria2的下載記錄等

編輯配置aira2.conf

這裡推薦使用我給出的引數,也可根據自己的需求自定義(全部拷貝貼上到空檔案aria2.conf中)

其中兩個最重要的引數我放在了前面,自行修改

RPC授權令牌是用來替代使用者名稱密碼驗證方式的,更簡便,也更安全,官方新版推薦

下載檔案路徑也只是預設路徑,可根據下載時自定義

# 設定的RPC授權令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 選項
rpc-secret=123456789
#檔案儲存路徑, 預設為當前啟動位置
dir=/home/downloads










#允許rpc
enable-rpc=true
# 允許非外部訪問, 預設:false
rpc-listen-all=true
# 事件輪詢方式, 取值:[epoll, kqueue, port, poll, select], 不同系統預設值不同
#event-poll=select
# RPC監聽埠, 埠被佔用時可以修改, 預設:6800
#rpc-listen-port=6800
# 設定的RPC訪問使用者名稱, 此選項新版已廢棄, 建議改用 --rpc-secret 選項
#rpc-user=lostsakura
# 設定的RPC訪問密碼, 此選項新版已廢棄, 建議改用 --rpc-secret 選項
#rpc-passwd=lostsakura
#允許所有來源, web介面跨域許可權需要
rpc-allow-origin-all=true
#是否啟用https加密,啟用之後要設定公鑰,私鑰的檔案路徑
#rpc-secure=true
#啟用加密設定公鑰
#rpc-certificate=/home/name/.config/aria2/example.crt
#啟用加密設定私鑰
#rpc-private-key=/home/name/.config/aria2/example.key
#允許外部訪問,false的話只監聽本地埠
rpc-listen-all=true
#最大同時下載數(任務數), 路由建議值: 3
max-concurrent-downloads=3
#斷點續傳
continue=true
#同伺服器連線數
max-connection-per-server=5
#最小檔案分片大小, 下載執行緒數上限取決於能分出多少片, 對於小檔案重要
min-split-size=10M
#單檔案最大執行緒數, 路由建議值: 5 不宜設定太高 會被伺服器檢測並有可能拉黑 也不要設定太低 太低採集資源的速度相對較慢
split=8
#下載速度限制 設定為0即不限制 下同
max-overall-download-limit=0
#單檔案速度限制
max-download-limit=0
#上傳速度限制
max-overall-upload-limit=0
#單檔案速度限制
max-upload-limit=0
#斷開速度過慢的連線
#lowest-speed-limit=0
#驗證用,需要1.16.1之後的release版本
#referer=*
#另一種Linux檔案快取方式, 使用前確保您使用的核心支援此選項, 需要1.15及以上版本(?)
#enable-mmap=true
#檔案預分配, 能有效降低檔案碎片, 提高磁碟效能. 缺點是預分配時間較長
#所需時間 none < falloc ? trunc << prealloc, falloc和trunc需要檔案系統和核心支援
file-allocation=prealloc
#不進行證書校驗
check-certificate=false
# 啟用磁碟快取, 0為禁用快取, 需1.16以上版本, 預設:16M
disk-cache=32M
# 斷點續傳
continue=true
#timeout=60
# 最大重試次數, 設定為0表示不限制重試次數, 預設:5
#max-tries=5
# 設定重試等待的秒數, 預設:0
#retry-wait=0
## 進度儲存相關 ##
# 從會話檔案中讀取下載任務
input-file=/etc/aria2/aria2.session
# 在Aria2退出時儲存`錯誤/未完成`的下載任務到會話檔案
save-session=/etc/aria2/aria2.session
# 定時儲存會話, 0為退出時才儲存, 需1.16.1以上版本, 預設:0
#save-session-interval=60
# 當下載的是一個種子(以.torrent結尾)時, 自動開始BT任務, 預設:true
#follow-torrent=true
# BT監聽埠, 當埠被遮蔽時使用, 預設:6881-6999
listen-port=51413
# 單個種子最大連線數, 預設:55
#bt-max-peers=55
# 開啟DHT功能, PT需要禁用, 預設:true
enable-dht=false
# 開啟IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT網路監聽埠, 預設:6881-6999
#dht-listen-port=6881-6999
# 本地節點查詢, PT需要禁用, 預設:false
#bt-enable-lpd=false
# 種子交換, PT需要禁用, 預設:true
enable-peer-exchange=false
# 每個種子限速, 對少種的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

以配置檔案載入啟動aira2

# 若是自定義檔名和目錄地址,需注意更改
aria2c --conf-path=/etc/aria2/aria2.conf

鍵入命令後,服務開啟,依舊是監聽6800埠的提示(不要關閉SSH視窗)

在WebUI Aria2中測試使用RPC令牌

在設定介面填入主機,並將自定義的令牌填入(我測試用的是‘123456789’)

儲存後連線成功

我們還可以發現首頁左邊的側欄有如下內容,這都是我們提前在配置檔案寫好的引數(引數沒有全部顯示)

至此

aria2 及 WebUI Aria2就全部安裝好了

這裡有幾點說明一下

  • aria2的服務不是永久開啟的,需要手動,嫌麻煩可以加個指令碼,這裡就不再多說
  • 該種類型的服務適用於寬頻高的伺服器環境,如果你的伺服器是個小水管那麼無論如何也不會體現下載快的