2012年11月17日 星期六

Linux 多線下載的神兵利器 aria2

在Linux底下,如果想下載檔案可以用wget指令,但wget並沒有支援像FlashGet迅雷這類軟體主打的功能「多線下載」以及「BitTorrent」。

在這網路需求急速提升的世代,以及迷片量暴增的時代,沒支援多線下載還說得過去,但沒支援BT可就沒辦法讓鄉民大力支持了。 (沒辦法讓搖桿驅動起來,誰還會想用阿)

Linux系統下載BT軟體最出名的應該就是Transmission了,這玩意兒可厲害了,不但有提供GUI模式使用,還有提供網頁可讓遠端的電腦操控。更夭壽的是,文字介面下一樣也可以安裝使用,透過網頁就可以操作,大大的節省CPU資源,所以有許多NAS直接內建,不但快而且有效,加上配溫開水,保證15分鐘OUT! (拍謝,廣告看太多了........)

但畢竟Transmission只能下載BT,但是Http(s)、Ftp、Metalink這些會用到的協定都沒支援,在重要時刻無法發揮戰力,於是宣告退場。


在一場詭譎多變的因緣際會之下(好複雜喔 = ="),找尋到了aria2這套神兵利器,是堪稱盤古開天==>女媧補洞==>有史以來最強的Linux下載軟體? 以目前而言啦。(逃.....)

aria2有什麼過人之處呢? 我想應該是它有45CM吧,比鄉民平均30CM還要長,所以才有這麼多人支持它和推薦它。

靠! 阿不是啦,上面說的隨便看看就好(低頭看ing..........),會被這麼多朋友推崇的原因有很多。

它有著有以下的優點:

1.程式容量小,佔不到3MB的空間。
2.軟體資源需求低,不需要x-windows就能執行。
3.目前支援的協定有Http(s)、Ftp、BitTorrent、Metalink。
4.支援多線下載、續傳的功能。
5.GUI(圖形使用者介面)有支援Linux和Windows,非常方便,不用背指令。
6.支援Web GUI,可使用網頁新增、暫停、移除、管理,幾乎和GUI一樣。
7.想到在寫。


但也不是沒有缺點,像是:

1.目前不支援迅雷的下載協定。
2.某些web操控需要安裝LAMP(Linux、Apache、MySQL、PHP)。
3.沒辦法讓我用10G/10G的速度下載和上傳(這......會被打吧)。


先撇除缺點來看,aria2的確是非常理想的Download Manager,GUI可應用於一般平台上,遇到不支援的OS也可用網頁來操控,例如PAD、SmartPhone,使得aria2可用的層面就比其它相同類型的軟體還要多很多。


好了,前面屁了這麼多,也該進入主題了吧!

小弟目前的OS:Ubuntu Server 12.10

如何安裝aria2? 先上官網 http://aria2.sourceforge.net/ 抓取最新版的軟體,目前最新的版本是1.15.2,可以到 http://sourceforge.net/projects/aria2/files/stable/aria2-1.15.2/ 這裡下載。

可先用wget下載,等等設定好之後就可以體會到aria2的方便和快速了。 什麼,你該不會是開Server的文字介面在那邊一個字一個字慢慢敲? 孩子,別傻了,Windows底下有Putty、Pietty之類的ssh軟體可以連到Server,Linux就直接開啟Terminal執行ssh命令連接,直接複製貼上網址就好了咩,麥擱亂阿。

下載後請隨便找個地方把它埋了吧。 阿!  打錯,是把它解壓縮才對,解壓縮之後會看到一堆阿里不答的檔案,等等會用到。





使用aria2的方式可參考官網

Download from WEB:
$ aria2c http://example.org/mylinux.iso
Download from 2 sources:
$ aria2c http://a/f.iso ftp://b/f.iso
Download using 2 connections per host:
$ aria2c -x2 http://a/f.iso
BitTorrent:
$ aria2c http://example.org/mylinux.torrent
BitTorrent Magnet URI:
$ aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'
Metalink:
$ aria2c http://example.org/mylinux.metalink
Download URIs found in text file:
$ aria2c -i uris.txt

官網詳細命令解說


如果想要用網頁控制下載,或是通過GUI控制使用,那就得要讓aria2以背景運作的方式執行才可以,以小弟自己的主機為例。

linux@linux:/$ aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all --dir=/mnt/download --file-allocation=none -s 5 -j 10 -x 5 -c -D

--dir= 這個參數後面接的是下載的目錄夾,請用絕對路徑。
-D 這個參數是背景執行。

其它的參數請參考官網的解說,在此不累贅,但要注意一點的是,執行aria2的身分不要是root,否則下載的檔案權限會變成是root,別的帳戶要使用可就麻煩囉!



正確啟動aria2後,接下來就是Web GUI的設定,主機請先安裝LAMP。裝好之後系統預設的路徑是 /var/www ,權限記得要開放給一般使用者。


介紹幾個Web GUI

1.webui-aria2,官網推薦。
https://github.com/ziahamza/webui-aria2

2.yaaw,這個也是許多朋友的選擇,而且還有chrome的plugin可安裝。
https://github.com/binux/yaaw

3.Aria2Web
http://aria2web.sourceforge.net/

4.ziahamza,和第1是同一個作者,不需要安裝LAMP就可使用,但要記得開6800port。
http://ziahamza.github.com/webui-aria2/