1. 程式人生 > >關於Linux下載工具

關於Linux下載工具

來由

不得不說在windows下下載自從有了迅雷以後就沒有考慮過什麼是BT還是電驢下載,總之只要有什麼thunder,有magnet,或者是ed2k的統統丟進迅雷,歐,當然還有.torrent的種子,迅雷都可以一站式解決,加上校園網的下載速度不差,一般資源都由5-600K/s,當然你願意還可以租用個會員什麼的,直接把速度拉到2-5MB/s,所以我一直都是這麼下各種小電影的,咳咳,回到正經的。

換到linux以後我也沒有關注過迅雷,因為換到linux以後,就沒有下載過GB級別的檔案,比如高清電影什麼的,一般一些軟體都是十幾M的,最近在追的《甲鐵城的卡巴內瑞》一集也就500M,在瀏覽器下載掛著上個課就下載好了,而且速度不慢.以致於我一直都是用wget下載,什麼aria2,transmission的都沒有用過,我的Kali裡面就只有個wget.所以之前寫的一篇開源軟體推薦裡面我也忽略了下載工具這方面,因為那時候還沒有需求,然而最近需求來了,我想看一部叫《墊底辣妹》的日影,然而都網上找不到http或者ftp(電影天堂那個要迅雷客戶端的),總之就算我想用瀏覽器掛慢慢下都不可以,何況我不想用瀏覽器掛著慢慢下載.

其實我要看《墊底辣妹》有幾種選擇,第一,直接到電影院,為票房作出貢獻,然而時間已經過了,何況貌似中國大陸沒有上映?第二,等,等國內各種視訊網站更新這部電影,然後衝個VIP什麼的,直接線上觀看,首先在知道有高清片源流出的時候,我壓根不想等,其次給網站衝VIP,對我而言簡直天方夜譚,所以我只能選擇第三,下載~

我統計了一下我找到的這部片子都有幾種下載方法

1.magnet的磁力連結
2..torrent結尾的BT種子
3.ek2k的電驢連結
4.迅雷自家的thunder連結

非常好,這麼一統計,各種下載協議看得我眼花繚亂,以前用迅雷的時候就沒有管什麼是什麼的連結,現在突然冒出這麼多,也不知道哪個好,哪個快,結果是要看片,就得自己折騰。

P.s.順帶提一句,有一點國內還是不錯的,至少一些P2P下載工具還是能光明正大地跑,甚至還有迅雷這麼一家專門的P2SP公司,這在美國等一些版權意識十分強烈的國家是不敢想象的,但是正是因為國內的小水管道,單純http或者是htp下載簡直要命,所以作為補充,P2P甚至是P2SP的方式才顯得那麼需要,我還記得以前不知道有下載工具,比如迅雷的時候,掛著windows的IE等檔案下載的感覺,那是十分不好。

下載協議

現在我就來就著上面這四種下載方式稍微報告一下我的調查結果,稍微做個對比:
(首先要明確兩個基本概念,①P2P的核心思想就是沒有伺服器的概念,任何一個下載者既是client,又是server;②下載者從別人那裡取檔案的時候,稱為下載,而為別人提供檔案的時候,稱為上傳)

1.Magnet

磁力連結(Magnet URI scheme),是對等網路中進行資訊檢索和下載文件的電腦程式,和基於“位置”連線的統一資源定位符(URL)不同,磁力連結是基於元資料(metadata)檔案內容,屬於統一資源名稱(URN),即磁力連結不基於文件的IP地址或定位符,而是在分散式資料庫中,通過雜湊函式值來識別、搜尋來下載文件。

這個標準的草稿出現於2002年,是為了對eDonkey2000的“ed2k:”和Freenet的“freenet:”兩個URI格式進行“廠商與專案中立化”而制定的。

磁力連結最常見的用途是基於檔案內容的雜湊函式值來連結到特定檔案,生成一個唯一的檔案識別符,類似於ISBN。不像常規的識別符,內容雜湊可以被任意一位持有此檔案的人生成,所以並不需要一箇中心機構,這使其在檔案共享領域經常被用作搜尋條件,因任何人都可以分發一個磁力連結來確保該連結指向的資源就是他想要的,而和得到該資源的方式無關。(雖然技術上講,兩個不同的檔案可能具有相同的雜湊值,但實際上這是極不可能發生的)

另一個磁力連結的優勢是開放性和跨平臺性:一個磁力連結可被執行在幾乎所有平臺上的應用程式們使用以下載一個檔案。因為磁力連結十分簡潔且為純文字格式,所以使用者可以很方便地將其複製到電子郵件或即時訊息中,比如種子檔案。

P.s.Magnet由於其搜尋資源方式,每次連線的源頭都是不固定的,也就沒法查封源頭。

2.BT

BitTorrent(簡稱BT)是一個檔案分發協議,每個下載者在下載的同時不斷向其他下載者上傳已下載的資料,而在FTP,HTTP協議中,每個下載者在下載自己所需檔案的同時,各個下載者之間沒有互動。當非常多的使用者同時訪問和下載伺服器上的檔案時,由於FTP伺服器處理能力和頻寬的限制,下載速度會急劇下降,有的使用者可能訪問不了伺服器。BT協議與FTP協議不同,特點是下載的人越多,下載速度越快,原因在於每個下載者將已下載的資料提供給其他下載者下載,充分利用了使用者的上載頻寬。通過一定的策略保證上傳速度越快,下載速度也越快。在很短時間內,BitTorrent協議成為一種新的變革技術

.torrent檔案本質上是文字檔案,包含Tracker資訊和檔案資訊兩部分。Tracker資訊主要是BT下載中需要用到的Tracker伺服器的地址和針對Tracker伺服器的設定。它的主要原理是需要把提供下載的檔案虛擬分成大小相等的塊,塊大小必須為2k的整數次方(由於是虛擬分塊,硬碟上並不產生各個塊檔案),並把每個塊的索引資訊和Hash驗證碼寫入種子檔案(.torrent)中。所以,種子檔案(.torrent)就是被下載檔案的“索引”。

後來又發展出DHT網路技術,使得無Tracker下載成為可能,DHT全稱為分散式雜湊表(Distributed Hash Table),是一種分散式儲存方法。在不需要伺服器的情況下,每個客戶端負責一個小範圍的路由,並負責儲存一小部分資料,從而實現整個DHT網路的定址和儲存。使用支援該技術的BT下載軟體,使用者無需連上Tracker就可以下載,因為軟體會在DHT網路中尋找下載同一檔案的其他使用者並與之通訊,開始下載任務。

有些軟體(比如位元精靈)還會自動通過DHT搜尋種子資源,構成種子市場。

另外,這裡使用的DHT演算法叫Kademlia(在eMule中也有使用,常把它叫做KAD,具體實現協議有所不同),這種技術好處十分明顯,就是大大減輕了Tracker的負擔(甚至不需要)。使用者之間可以更快速建立通訊(特別是與Tracker連線不上的時候)。

3.ed2k

與多數檔案共享網路一樣,它是分散式的;檔案基於點對點原理傳輸,而不是由中樞伺服器提供。客戶端程式連線到ed2k網路來共享檔案。而ed2k伺服器作為一個通訊中心,幫助使用者在ed2k網路內查詢檔案。它的客戶端和服務端可以工作於Windows、Mac OS、Linux、UNIX等作業系統。2005年因與美國唱片工業協會的官司敗訴被美國聯邦最高法院判為非法,被判罰向RIAA賠款3000萬美元並且永久停止開發。

由歐洲黑客和愛好者們破解ed2k協議(未經MetaMachine公司授權,並不合法)開發的MLDonkey,電騾eMule等客戶端卻普及開來,當時這些相容客戶端有:eMule(電騾),MLDonkey,Shareaza,aMule,Hydranode,Lphant,Morpheus,lMule等

作為ED2K客戶端,mldonkey的最大特色就是支援同時連線多伺服器(emule,amule等都只能連線一個ed2k伺服器),大大提高了可用源的數量。

4.迅雷(國內流行)

P2P(Peer to Peer)是基於點對點(對等網路),一端的下載速度和另一端的上傳速度密切相關,由於中國使用者大多使用ADSL上網,ADSL的上傳速度並不快,僅幾十K速度,一些使用者還會人為限制上傳速度,這導致了P2P方式的上傳頻寬資源的缺乏,因此中國使用者會普遍感覺P2P的速度較慢。

P2S(Peer to Server)是基於使用者對伺服器,使用者直接到某個大型的下載網站去下載檔案,檔案儲存在網站伺服器上,因此速度可以得到保證,通常都會有數百K的速度,但存在的問題是資源分散、不易搜尋。

而迅雷使用的P2SP(Peer to Server & Peer)基於使用者對伺服器和使用者機制,不同於P2P,也不同於P2S,P2SP下載方式實際上對P2P技術的延伸,它不但支援P2P技術,同時還通過檢索資料庫把伺服器資源和P2P資源整合到了一起,使用者下載某一個檔案的時候,會自動搜尋其他資源,選擇合適的資源進行加速,這使得迅雷在下載的穩定性和下載的速度上,比傳統的P2P有了非常大的提高。

這裡面的核心問題就是迅雷的智慧資源選擇,使用者使用迅雷下載某個檔案的同時,迅雷會自動收集使用者的下載地址,並以MD5值判斷是否為同一個檔案,從而形成一個龐大的下載連結庫,這樣就在迅雷伺服器端進行了資源的整合,當後面的使用者下載同一個檔案時,迅雷就會根據使用者具體的網速去一個速度最快的伺服器上面下載同一個檔案,由於選擇通常是最優化的結果,因此使用者感覺下載速度的確非常快。

總的來說,小型的軟體下載站應該避免浪費流量,避免盜鏈,同時也應該量力而行,如果沒有足夠的流量支援,例如使用幾百元的虛擬主機,就不要提供大量檔案下載,否則肯定會被拖垮。不過,大型軟體下載站的策略就可以不同,不一定非要節省流量,因為通常大型下載站都會託管了獨立的伺服器,有了一定頻寬的保證,只要不放一些大型檔案,通常不會流量超限,那時就不必在乎迅雷的這種P2SP行為了,而可以利用迅雷做一些廣告,如果實在流量太大,可以直接使用上面說的第四條方法,限制下載空間的連線數即可減輕伺服器負載

個人理解:迅雷就是結合了P2S,P2P兩者的特點,盡最大極限找下載來源,做到充分利用使用者頻寬(當然非VIP可能做了限速),但是他又不上傳,或者是上傳很少,甚至只是在迅雷使用者圈內上傳,並不反饋到P2P網路,那麼“盜鏈”和“吸血驢”就這麼來了.

P.s.沒錯,你在中文維基裡面看的內容和上面基本一樣,我只是做了刪減和提煉,特在此作出宣告.
吐槽一句:雖然內容都是維基的,而且中文維基對這三者的介紹都非常全面,可我就沒有看到有把這三種(迅雷是P2SP)P2P下載方式別說比較了,放在一起都沒有,那麼不比較的話,其實磁力連結,BT還有電驢在我看來都很像好不好:-)

實際下載工具

那麼接下來是說說linux下一些實際的下載工具:
(linux上的下載工具多到讓你頭疼,但其實各個下載軟體的下載協議還是脫不開上面說的幾種P2P協議):

1.Wget
2.BitTorrent(原版)
3.Transmission
4.Uget(cURL+Aria2)
5.KTorrent
6.μTorrent
7.Amule/Emule
8.MLDonkey
9.Flashget
10.xware–迅雷替代方案

1.Wget

Wget是一款CLI的下載工具,幾乎所有Unix Like的平臺都有它,小巧輕便,和上面列出其他下載工具不同,它並不是基於P2P的方式,目前它支援通過HTTP,HTTPS,以及FTP這三個最常見的TCP/IP協議協議下載,即它的下載方式是P2S的方式.

它最強大的地方是-r(recursive遞迴)這個選項,意思就是可以下載請求URL頁面內引用的所有連結,幾乎每個web頁面都會引用URL,所以基本上-r以後下載就會一直進行,但是它的缺點是支援的協議較少,特別是cURL相比,流行的流媒體協議MMS和RTSP沒有得到支援,還有廣泛使用各種的P2P協議也沒有涉及.

結論就是如果只是進行非P2P下載,wget一個足以.

2.BitTorrent(原版)

這款軟體我沒有用過,不過見到一篇介紹挺好的,就抄來了:
首先國內可能很多人不知道BitTorrent這款BT下載軟體,國內知道的比較廣泛的大多數都是位元彗星(BitComet)位元精靈(BitSpirit),以及國內著名滴流氓下載軟體某雷。當然喜歡PT下載以及BT下載的發燒友估計也知道國外滴一款新興BT、PT軟體μtorrent,國內現在越來越多喜歡下載BT的朋友知道了μtorrent這款軟體很好用,下載速度快、穩定、資源佔用非常少(記憶體佔用還不到10MB)下載國外的BT種子用μtorrent速度飛快,迅雷卻完全沒有速度(國外沒人知道中國迅雷,外國種子不認識迅雷)因為以上種種原因國內使用μtorrent的朋友越來越多,但是國內很少有人知道其實μtorrent這款軟體只不過是“美國BitTorrent公司為了旗下的 BitTorrent BT下載軟體(也是全世界第一款BT下載軟體,真正的BT下載軟體始祖)進行新版本、新功能、的測試而收購的一家子公司,換句話說μtorrent只不過是BitTorrent的測試版或者“割閹版”,而且因為utorrent最早就是為了給BitTorrent測試新版本、新功能的軟體。穩定性、BUG各個方面來說都比BitTorrent要差很多

3.Transmission

是一種BitTorrent客戶端,特點是一個跨平臺的後端和其上的簡潔的使用者介面,Transmission以MIT許可證和GNU通用公共許可證雙許可證授權,因此是一款自由軟體,支援Magnet.

4.Uget(cURL+Aria2)

其實cURL和Aria2也是單獨的兩款下載工具,Uget對兩者都可以同時整合呼叫,所以就一起放在這裡說了

cURL

cURL是一個利用URL語法在CLI下工作的檔案傳輸工具,1997年首次發行。它支援檔案上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具,cURL還包含了用於程式開發的libcurl。

cURL支援的通訊協議有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。

Aria2

Aria2也是一款CLI下工作的下載工具,支援HTTP/HTTPS, FTP, SFTP, BitTorrent 和 Metalink通訊協議.

Uget

GUI工具,除了支援原生http/ftp還支援magnet,但是主要還是因為它的簡潔的圖形介面和對curl和aria2的呼叫.

5.KTorrent

6.μTorrent
據說是老大哥BitTorrent的測試版,現在被

7.Amule/Emule

8.MLDonkey

9.Flashget

網際快車,我認為它的優點是你讓它從哪裡下檔案,它就從哪裡下檔案,它從不自作主張,速度方面比IE快,不過自身執行緒少,多數網站允許同一IP連線的執行緒也不會多,導致其效率時高時低;

10.xware–迅雷替代方案

結束

其實作為一個普通使用者不可能一個個去試用,那麼作為一個整合型的下載軟體,迅雷真的做的很好,不然光是大大小小的軟體使用者就得安裝不少,還要倒騰每個軟體的特性,對比,然而這個過程太費時間和精力,特別是國內這種下完的跑的圈子,就算倒騰得有什麼結果,下載速度還是提升不上去,所以最適合國人的下載方式就是迅雷,儘管他很無賴.

以上具體P2S,P2P,P2SP下載工具由於時間精力有限,只是做了部分列舉,如果你有其他好的工具的體驗,不妨寫在下面的評論區域~
這一篇通篇基本都在講下載的事情,而一些其他開源軟體其實我也有總結,http://blog.csdn.net/qq_29245097/article/details/51511145,這是我之前的一篇推薦文章,希望能幫到你。

相關推薦

關於Linux下載工具

來由 不得不說在windows下下載自從有了迅雷以後就沒有考慮過什麼是BT還是電驢下載,總之只要有什麼thunder,有magnet,或者是ed2k的統統丟進迅雷,歐,當然還有.torrent的種子,迅雷都可以一站式解決,加上校園網的下載速度不差,一般資源都由

linux下載工具wget的引數使用

使用方法:wget -引數 URL連結 如:wget -b http://***********/a.txt   後臺下載a.txt檔案. 具體引數功能如下: -a<日誌檔案>:在指定的日誌檔案中記錄資料的執行過程;  -A<字尾名>:指定要下載檔

linux下設置wget下載工具使用代理

https 一行 後者 etc use pro 編輯 tps 下載工具 為wget使用代理,可以直接修改/etc/wgetrc,也可以在主文件夾下新建.wgetrc,並編輯相應內容,本文采用後者。 直接往~/.wgetrc(自行創建此文件)添加如下內容: https_pro

Linux高速下載工具——Axel

linux高速下載Axel 是 Linux 下一個不錯的HTTP/FTP高速下載工具。支持多線程下載、斷點續傳,且可以從多個地址或者從一個地址的多個連接來下載同一個文件。適合網速不給力時多線程下載提高下載速度。比如在國內VPS或服務器上下載lnmp一鍵安裝包用Axel就比wget快。CentOS安裝Axel:

Linux系統上傳下載工具rz/sz

linux系統上傳下載工具rz/szLinux系統上傳下載工具rz/szlinux系統中上傳與下載的工具有很多,比如:filezilla.exe等。為了使用linux系統方便,rz / sz命令很方便的幫我們實現了這個功能,但是很多Linux系統初始並沒有這兩個命令。下面對此命令進行說明:下載軟件lrzszl

linux下載安裝aapt工具

下載apktool # wget https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool   下載apktool_2.2.1.jar並且重新命名為apktool.jar

linux下安裝簡單的檔案上傳與下載工具 lrzsz

編譯安裝 1、從下面的網站下載 lrzsz-1.12.20.tar.gz wget https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz 2、檢視裡面的I

Linux批量遠端命令和上傳下載工具

mooon_ssh:批量遠端命令工具,在多臺機器上執行指定命令 mooon_upload:批量遠端上傳工具,上傳單個或多個檔案到單臺或多臺機器 mooon_download:批量遠端下載工具,從指定機器下載一個或多個檔案 mooon-tools-glibc2.17.ta

再議Linux上傳下載工具curl的使用

在目前的CentOS最小化安裝發行版中,系統預設的下載/上傳工具為:curl。curl支援包括HTTP、HTTPS、ftp等眾多協議,還支援POST、cookies、認證、從指定偏移處下載部分檔案、使用者代理字串、限速、檔案大小、進度條等特徵。我們先來大概看一下curl工具的各選項的大概含義。 -a/–a

Linux 上傳下載工具lrzsz

win10通過xshell連線centos伺服器,有上傳及下載檔案需求,可使用lrzsz工具。 // 首先安裝lrzsz # yum -y install lrzsz 1 // 上傳檔案,執行命令rz,會跳出檔案選擇視窗,選擇好檔案,點選確認即可。 # rz 1

Linux 命令列下載工具 wget 的使用技巧

wget 是一個命令列的下載工具。對於我們這些 Linux 使用者來說,幾乎每天都在使用它。下面為大家介紹幾個有用的 wget 小技巧,可以讓你更加高效而靈活的使用 wget。 $ wget -r -np -nd http://example.com/packages/

CentOS配環境變數(針對MacOS,Windows類似,請自行下載連線Linux工具

先把下載的jdk上傳到Linux裡/usr/java下,如果沒有java資料夾,新建一個上傳檔案命令MacOS:scp -P 22 /Users/zhaojl/Downloads/jdk-8u161-linux-x64.tar root @192.168.1.1:/usr/j

linux 高速下載工具 aria2 的用法

http://www.openboy.net/ubuntu-linux-download-tool-aria2.html http://wiki.ubuntu.org.cn/Aria2 http://www.debugfs.com/?p=412 aria2是一款輕量型命令列下載工具,它提供了對多協議和多源地

Linux下多執行緒,斷點續傳,命令列下載工具axel

 參考:http://www.2cto.com/os/201202/118482.html 1、安裝方法Ubuntu sudo apt-get install axel  2、man一下 名稱        Axel - Linux 下輕量的下載加速器。 總覽      

linux常用工具

保存 常用 version 51cto -h 設備 輸入 忘記 cto 對不錯的工具記錄一下,不然明天又忘記啦 1. tee 功能說明:讀取標準輸入的數據,並將其內容輸出成文件, 語  法:tee [-ai][--help][--version][文件...]補充說明:

超全Linux備份工具集合,滿足你的所有需要!

系統管理員 計算機 開源軟件 服務器 所有權 導讀個人計算機或者服務器上的備份對於防止數據丟失很重要。系統管理員每天需要處理大量的企業級數據,甚至個人計算機上的數據,所以要深入了解不同的備份工具。我們在本文中將介紹11款一流的備份工具,供你在Linux服務器或系統上使用。經常備份計算機上的

Linux備份工具收集

linux備份工具收集1.Rsync這是一款在Linux用戶當中頗受歡迎的命令行備份工具,尤其受到系統管理員的歡迎。它擁有豐富的功能,包括增量備份、更新整個目錄樹和文件系統、本地備份及遠程備份,以及保留文件權限、所有權、鏈接及更多對象。它還有一個名為Grsync的圖形化用戶界面,不過rsync的一個優點在於,

Linux命令工具 apt-get(1)

purge tor show 命令工具 但是 nag deb 模式 其中 Advanced Package Tool,又名apt-get,是一款適用於Unix和Linux系統的應用程序管理器。最初於1998年發布,用於檢索應用程序並將其加載到Debian Linux系統。A

HttpUtils.java 網絡下載工具

arr tle sys 字節數 stream ati reat package you package Http;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.I

You-Get——基於Python3的媒體下載工具

播放器 tar clas -s 播放 supported groovy med 文件的 You-Get是一個基於 Python 3 的下載工具。使用 You-Get 可以很輕松的下載到網絡上的視頻、圖片及音樂。 項目主頁:https://github.com/soimor