---
title: 筆記-CentOS7 + Aria + AriaWeb 下載管理工具
categories: 筆記
date: 2017-09-04 10:30:46
tags: [筆記]
---

最近又開始手癢，不斷的在切換各家的VPS方案，雖然GCE的速度最快，機器固定成本大概就是5美金，但是有個隱藏的成本，教學網頁上很少提到，就是流量會另外收費，而且收費的規則有點複雜。

比如說到「流出」到中國的頻寬是一個費用，「流出」到澳洲的又是另外一種費用。這個對於抓成本來說是個很大的困擾。而且如果有用來下載BT之類的活動，也根本無法預期會流量會往哪裡跑，之前測試了一天，抓了一片愛情動作片，然後從工作站上下載回來，一天就花了我0.9 USD，如果每天這樣抓，那光流量費用一個月就要快30 USD了啊！雖然速度很快，但是這成本，我無法接受啊！所以還是又換回了 VULTR，基本的500G流量很夠用了，總不會天天有新番號都要下載啊！


----------
好，前面都廢話...  
之前在Linux 底下抓BT，印象中就是用 rtorrent，後來意外發現有個工具叫做 [aria2](https://aria2.github.io/)，不只支援BT，一般的http/https，新一點的 magnet(磁力) / Metalink (不知道啥)都可以抓，而且不知道為啥，在VPS抓這些BT/磁力 速度特別的快，比在本機抓快上了不知道幾倍！  

![](https://i.imgur.com/nlrE0y9.png)

不過 aria2c Web 有一些小問題，要進行操作的時候，常會跳一些警告視窗出現，碰到這種狀況，建議是登出再登入就可以了。

安裝過程很簡單，CentOS的yum 內建有支援aria，如果沒有，先安裝epel-release即可


>yum install epel-release -y  
>yum install aria2 -y

arai2c web 的安裝稍微複雜一點點
要先確認有安裝 WEB + PHP ，還有要安裝 php-xmlrpc 模組，不然會報錯。

>yum install php-xmlrpc -y
 
然後去[下載原始程式](https://aria2.github.io/)

下載回來，放在網站路徑底下解壓縮，然後編輯 config.php，把預設的帳號密碼改掉。

>$aria2_parameters['xml_rpc_username'] = 'admin';  
>$aria2_parameters['xml_rpc_password'] = 'passwordofadmin';  

其他選項依照個人需求看要不要修改，接著執行以下指令

>aria2c --enable-rpc --rpc-listen-all=true

就可以開啟網頁進入Aria2C的界面。
![](https://i.imgur.com/lxam1dC.png)


要新增下載，就直接點 Add New Download，然後貼上torrent的路徑，或者直接貼上磁力的連結，剩下的就交給Aria去處理了。

不過這個界面滿陽春的，有點美中不足

1. 在介面上如果可以看到ratio就好了，個人習慣至少會抓到ratio >= 1才會停止，但是這邊看不到，有點麻煩。
2. 下載完成後，如果可以作一些檔案管理，像是重新命名、移動、刪除就更好了。現在的介面只能針對下載佇列作移除。
![](https://i.imgur.com/jdIATf9.png)

可以看到畫面右邊是檔案實際存放的路徑，但是在這邊沒有辦法作檔案管理，必須要進到console去處理。

我是另外搭配KodExplorer 來分享、下載。
![](https://i.imgur.com/IBBNTzA.png)

再來看一下vps的狀態，流量、cpu使用量也都還好。看來以後應該就會這樣用了吧，作為下載的中繼站這樣！
![](https://i.imgur.com/pVW0kiv.png)


----------
2017/09/05 更新

發現這樣的方式會有安全的漏洞，雖然在config裡面有設定rpc user/password 但是不知道為什麼，進入網頁都不會詢問帳號密碼。

測試用 .htpasswd / .htaccess 去限制存取也不行
最後還是用老方法，修改 httpd.conf ，加入限制IP存取的語法
```
<Directory "/blockstorage/kod/aria">  
Options All  
AllowOverride All  
Require all denied  
Require ip 123.123.123.123 234.234.234.234  
 </Directory>  
```

但是如果碰到沒固定IP的環境，可能就比較麻煩了..

**update**
剛剛測試出來怎麼用 httpd.conf 加入密碼限制了
```
<Directory "/blockstorage/kod/aria">
 #Options All
 #AllowOverride All
 #Require all denied
 #Require ip 123.123.123.123 234.234.234.234
 #加入底下這幾行
  AuthType Basic
        AuthName "Restricted Content"
        AuthUserFile /var/.htpasswd
        Require valid-user
</Directory>
```

/var/.htpasswd 這個檔案可以放在任意路徑
用 httpasswd 的命令產生

>htpasswd -c /var/.htpasswd user_name
會詢問你密碼，輸入兩次後，檔案就產生了。

要進入頁面，就會出現詢問密碼的視窗
![](https://i.imgur.com/COjSuVb.png)




