新時(shí)期的資源帝戰(zhàn)術(shù)研討

近年來搁拙,國內(nèi)網(wǎng)絡(luò)版權(quán)維護(hù)的力度逐步加大云挟,從“凈網(wǎng)行動(dòng)”嚴(yán)查網(wǎng)盤分享內(nèi)容、直致快播于死地哺哼,到廣電封殺電視盒子佩抹,再到版權(quán)局嚴(yán)令未經(jīng)授權(quán)的云音樂全面下架,政府的一系列舉措讓高枕無憂地享受了幾十年免費(fèi)內(nèi)容的網(wǎng)民們終于幡然醒悟——現(xiàn)在是動(dòng)真格的了取董。

技術(shù)的進(jìn)步永遠(yuǎn)超前于政策和法律匹摇,就如同醫(yī)學(xué)的發(fā)展永遠(yuǎn)超前于倫理。本著互聯(lián)網(wǎng)的開放精神甲葬,這么多年來廊勃,國內(nèi)的互聯(lián)網(wǎng)產(chǎn)品商前赴后繼,為用戶獲取免費(fèi)資源提供了極大的便利经窖。想想曾經(jīng)坡垫,優(yōu)酷土豆上電影電視劇應(yīng)有盡有,百度音樂歌曲隨便下画侣,115上的動(dòng)畫可以瘋狂地塞滿硬盤冰悠,種子搜索網(wǎng)站遍地開花……

保護(hù)版權(quán)是好事,但對(duì)于一個(gè)普通用戶(消費(fèi)者)來說配乱,現(xiàn)在要追個(gè)劇溉卓、看個(gè)綜藝節(jié)目皮迟、聽個(gè)音樂,得去好幾個(gè)地方桑寨,手機(jī)上要裝好幾個(gè)APP伏尼,一些冷門資源則根本沒有正規(guī)門路,而對(duì)于筆者這樣的資源控尉尾,更是習(xí)慣把文件下載下來爆阶,不親手拿到總覺得沒有安全感,也滿足不了自己的收藏欲沙咏,而且鑒于國內(nèi)現(xiàn)在的網(wǎng)速辨图,在線觀影的清晰度實(shí)在不給力,流媒體的回看肢藐、快進(jìn)也并不方便故河。

是的,好東西吆豹,要放在自己硬盤里才是王道鱼的。怎么獲取呢?當(dāng)然靠網(wǎng)盤瞻讽。

為什么要用網(wǎng)盤鸳吸?

網(wǎng)盤是云時(shí)代帶來的超強(qiáng)神器熏挎,如果你到現(xiàn)在都還沒用過速勇,真該好好地自我檢討,即使你不是個(gè)收藏控坎拐,也對(duì)冷門資源毫無興趣烦磁,至少也該利用網(wǎng)盤備份一些自己的資料、和朋友共享一些內(nèi)容哼勇。

為什么說網(wǎng)盤是神器都伪?作為以服務(wù)器為物理介質(zhì)的云存儲(chǔ)服務(wù),網(wǎng)盤與PC本地硬盤的機(jī)理和用戶體驗(yàn)并不相同积担。除卻冗余備份這些尚不能直觀感受到的特性陨晶,網(wǎng)盤最強(qiáng)大的一點(diǎn),也是令人最愛不釋手的一點(diǎn)帝璧,就是秒傳機(jī)制先誉。如果云端已經(jīng)存在某個(gè)文件,那么我們將其上傳至網(wǎng)盤的耗時(shí)是秒級(jí)的的烁,該情況下的上傳速度跟網(wǎng)速幾乎沒有關(guān)系褐耳。即便你家是2M的ASDL寬帶,照樣瞬間上傳渴庆。

這一機(jī)制的實(shí)現(xiàn)依靠的是hash(哈希)算法铃芦,在云端雅镊,每個(gè)文件都有著一個(gè)獨(dú)一無二的hash值,判斷兩個(gè)文件是否相同刃滓,只需判斷其hash值是否相同仁烹。hash算法有許多種,任何一種計(jì)算文件hash值的算法所追求的都是使結(jié)果唯一注盈。舉個(gè)最簡(jiǎn)單的例子——取余:

1%7 = 1

9%7 = 2

2015%7 = 6

2013201420152016%7 = 3

不論多長的數(shù)晃危,經(jīng)過取余運(yùn)算,最終結(jié)果(即hash值)都是一個(gè)小于7的非負(fù)整數(shù)老客。在這個(gè)例子中僚饭,明顯存在著不同數(shù)據(jù)的hash值相同的情況,比如10和2013201420152016的hash值都是3胧砰,這一算法只能生成7個(gè)不同的hash值(0~6)鳍鸵,因此只能標(biāo)記7個(gè)不同的數(shù)據(jù)。

云存儲(chǔ)所采用的hash算法明顯要復(fù)雜得多尉间,以著名的MD5算法(信息摘要算法第五版)為例偿乖,任何數(shù)據(jù)或文件(文件本來就由數(shù)據(jù)組成)經(jīng)過MD5算法運(yùn)算,均生成一個(gè)長度為128位的二進(jìn)制數(shù)哲嘲,其hash值就可以有2^128個(gè)(約340萬億億億億)贪薪,如果以MD5碼作為文件的唯一標(biāo)識(shí),那么基本允許全球(按70億人口算)每人擁有近5萬億億億個(gè)互不相同的文件眠副。這些都是天文數(shù)字画切,以目前的情況看,世界上的文件再多囱怕,也不可能達(dá)到這個(gè)數(shù)目霍弹。類似的hash算法有許多,它們都力求保證不同文件擁有不同的hash值娃弓。

(在文件系統(tǒng)允許的情況下)一個(gè)文件的大小可以是任意的典格,可以只有幾K,也可以有好幾十G台丛,但其所對(duì)應(yīng)的hash值總是只有那么長(如MD5碼永遠(yuǎn)只有128位)耍缴,在網(wǎng)絡(luò)上進(jìn)行文件傳輸時(shí),傳hash值比傳文件本身要便捷得多挽霉。網(wǎng)盤就是利用這一原理防嗡,在保存文件的同時(shí)保存著它們的hash值,在用戶上傳文件時(shí)炼吴,先計(jì)算文件的hash值本鸣,在云端搜索是否存在相同的hash,若存在硅蹦,則說明服務(wù)器已有這個(gè)文件荣德,就不需要真正地上傳闷煤,只需在用戶的網(wǎng)盤里提供一個(gè)鏈接,讓用戶誤以為文件已經(jīng)上傳成功(事實(shí)上上傳的僅僅是這個(gè)文件的hash值)涮瞻。

有了這一功能鲤拿,我們備份電影、動(dòng)畫署咽、游戲的時(shí)候近顷,就無需忍受每秒幾十KB的上傳速度。硬盤里放不下宁否,又舍不得丟掉的資源窒升,都可以盡情地留在網(wǎng)盤。而別人分享的文件慕匠,則可以瞬間轉(zhuǎn)存到自己的網(wǎng)盤里饱须,想什么時(shí)候下就什么時(shí)候下,不怕丟失台谊。

同時(shí)也正是由于這一機(jī)制蓉媳,網(wǎng)盤才得以擁有強(qiáng)大的離線下載功能。離線下載通常支持BT種子和鏈接兩種模式锅铅,用迅雷拖種慢得要你相信酪呻,而掛到網(wǎng)盤卻可以瞬間搞定,直接秒殺迅雷會(huì)員盐须。其原理十分簡(jiǎn)單玩荠,就是看種子(或鏈接)里的文件是否已經(jīng)存在于服務(wù)器,已經(jīng)有了就不需要再慢慢地獲取丰歌。(當(dāng)然迅雷會(huì)員的離線下載也是同一原理姨蟋,但迅雷要錢屉凯,網(wǎng)盤免費(fèi)立帖,你說用哪個(gè)。)

離線下載的詭異現(xiàn)象

BT種子也是之前針對(duì)資源共享的一個(gè)偉大發(fā)明悠砚,其宗旨是去中心化晓勇,讓用戶可以點(diǎn)對(duì)點(diǎn)進(jìn)行文件傳輸,不再需要服務(wù)器灌旧,文件存在于甲乙丙丁的個(gè)人電腦上绑咱,他們做種,你就可以去復(fù)制過來枢泰。

網(wǎng)盤與種子的結(jié)合更是強(qiáng)強(qiáng)聯(lián)手描融,我們不再需要掛著下載軟件苦等別人做種,別人一關(guān)機(jī)就根本沒有速度衡蚂。使用網(wǎng)盤的離線下載功能窿克,可以瞬間將種子里的資源保存到自己的網(wǎng)盤骏庸,而后從網(wǎng)盤上下載,即便不是滿帶寬年叮,速度也至少不會(huì)消失具被。

網(wǎng)盤最早推出時(shí),下載速度通常都是滿帶寬只损,這是用戶直接從服務(wù)器下載的原因一姿。但發(fā)展到現(xiàn)在,網(wǎng)盤的下載速度不比以往了跃惫,由于其機(jī)制沒有公開叮叹,只能猜測(cè)幾點(diǎn)原因:

1、為了減輕服務(wù)器壓力爆存,動(dòng)態(tài)限制了每個(gè)用戶的下載帶寬衬横;

2、在P2P機(jī)制的輔助下终蒂,有些情況下服務(wù)器不作為下載源蜂林;

3、為了賺錢拇泣,你開通會(huì)員噪叙,我就讓你滿帶寬下載。

但是這里的重點(diǎn)不在于談?wù)撊绾问褂秒x線下載搞定高清資源霉翔,也不是推薦BT天堂睁蕾、ed2kersed2000债朵、放放電影子眶、一生有你BT之家這些隨時(shí)可能被查抄的資源搜索站序芦,而是如何在當(dāng)今這樣一個(gè)艱苦的環(huán)境下臭杰,繼續(xù)網(wǎng)友間的資源共享,如何自己動(dòng)手谚中,互惠互利渴杆。

現(xiàn)在各大網(wǎng)盤都限制了分享功能,比如在百度云宪塔,絕大部分電影電視劇都已經(jīng)無法分享磁奖,其服務(wù)器上維護(hù)著一個(gè)所有盜版影視文件的hash值的列表,這是一個(gè)黑名單某筐,黑名單中的文件一分享就會(huì)立馬被屏蔽比搭,而115的分享功能免費(fèi)用戶根本無權(quán)使用,金山的外鏈服務(wù)器干脆永遠(yuǎn)都在維護(hù)南誊。其他網(wǎng)盤我用得不多身诺,想必也并不會(huì)好到哪去蔽莱。

網(wǎng)絡(luò)上大量的度盤分享一夜間都成了這個(gè)樣子。通常為了避免被屏蔽戚长,可以將文件打成加密壓縮包盗冷,但對(duì)大文件并不適用。
115往昔犀利的兩個(gè)分享途徑都已成為VIP的專利

天真如我一直以為同廉,在網(wǎng)盤上掛種子仪糖,只要云端有資源,離線下載就能瞬間成功迫肖。于是即便網(wǎng)盤無法直接分享锅劝,只要在網(wǎng)上找到種子,就可以毫無阻礙地拿到資源蟆湖,我想給別人分享故爵,也只需要自制種子就行。直到前不久的某一天隅津,我在百度云上掛的一個(gè)離線怎么也沒有速度诬垂,想著可能云端沒有資源,服務(wù)器正在別處尋找伦仍,但后來有機(jī)會(huì)從別人那兒直接轉(zhuǎn)存到了相同的文件结窘,云端明明就有,而離線卻依然沒有速度充蓝。這究竟是怎么回事呢隧枫?

我開始實(shí)驗(yàn),用μTorrent軟件制作一些網(wǎng)盤上已有文件的種子谓苟,有些離線成功官脓,有些則永遠(yuǎn)找不到資源,不同網(wǎng)盤的表現(xiàn)還不盡相同涝焙。我將自己硬盤里獨(dú)一無二的文件上傳到網(wǎng)盤卑笨,制成種子進(jìn)行離線,則沒有一個(gè)能成功纱皆。這一現(xiàn)象讓我深感困惑湾趾,難道網(wǎng)盤的離線下載并沒有將種子與云端已有的文件進(jìn)行hash匹配嗎芭商?

我思考許久派草,突然茅塞頓開:BT種子采用的hash算法是SHA-1,誰說網(wǎng)盤服務(wù)器里文件對(duì)應(yīng)的hash碼就是SHA-1碼铛楣!實(shí)驗(yàn)證明近迁,每個(gè)網(wǎng)盤都有著自己的hash算法,它們沒有義務(wù)再另外去計(jì)算每個(gè)文件的SHA-1碼簸州。

那么為什么有些種子掛離線就能成功呢鉴竭?那是最初歧譬,在有人做種的情況下,網(wǎng)盤拿到了種子里的文件搏存,并把種子和文件的對(duì)應(yīng)關(guān)系記錄了下來瑰步。在這之后,網(wǎng)盤才能根據(jù)種子在云端找到現(xiàn)成的資源璧眠。

用戶掛離線下載時(shí)缩焦,服務(wù)器會(huì)先在文件-SHA-1表中查詢:如果找到,就可以將對(duì)應(yīng)的文件直接存到用戶網(wǎng)盤责静;如果沒找到袁滥,就需要到網(wǎng)絡(luò)的其他地方尋找正在做種的機(jī)子。PS:即便事實(shí)上文件存在灾螃,其SHA-1碼為空题翻,服務(wù)器就無法判斷。
找到做種的機(jī)子后腰鬼,就從那里下載文件到服務(wù)器——此時(shí)是真的下載嵌赠,不是hash匹配——下載完后,使用自有的算法計(jì)算文件hash值熄赡,查表猾普,看這文件是不是已經(jīng)存在,將其SHA-1填入表中本谜。PS:下次有用戶離線該種子就能直接在表中找到初家,可以瞬間轉(zhuǎn)存。

可見乌助,即便是強(qiáng)大的網(wǎng)盤溜在,也并不能確保每個(gè)種子都離線成功,要是沒人做種他托,即使云端有資源掖肋,你也永遠(yuǎn)都拿不到。

這就意味著赏参,我想共享一個(gè)資源志笼,將其做成種子是不靠譜的,畢竟親自做種還是很麻煩的把篓。退而求其次纫溃,百度云的好友可以無限制地互相分享,但是我們不可能讓每個(gè)資源發(fā)布者和跪求者都加成好友韧掩。

究竟還有沒有其他辦法呢紊浩?

在測(cè)試種子離線時(shí),我也測(cè)試了磁力鏈接。磁力鏈接是對(duì)BT種子的優(yōu)化坊谁,種子本身是一個(gè)文件费彼,而磁鏈?zhǔn)且淮址菀讉鞑タ谏郑哺子诒苊獗缓椭C箍铲。事實(shí)上磁鏈中保存的也是一個(gè)hash碼,通常我們見到的磁鏈形式是這樣的:

magnet:?xt=urn:btih:33LXETSPT2GTR6ZZ4VH3TELXBYSSFU7Y

其中“33LXETSPT2GTR6ZZ4VH3TELXBYSSFU7Y”就是hash值鬓椭,此處的hash算法是BTIH(BitTorrent Info Hash)虹钮,BTIH實(shí)際上是對(duì)SHA-1信息字段的hash值,也就是說膘融,每個(gè)BTIH磁鏈都是與一個(gè)特定的種子文件相關(guān)聯(lián)的芙粱。我們?cè)谑褂眠@些磁鏈時(shí),網(wǎng)盤后臺(tái)會(huì)去嘗試尋找與其對(duì)應(yīng)的種子文件氧映,最終的離線下載還是靠的種子春畔。網(wǎng)盤隱藏了這一步驟,但是在迅雷里就一目了然:

在迅雷里新建磁鏈下載岛都,最先出現(xiàn)的是根據(jù)磁鏈獲取種子文件的界面

那么是不是就走投無路了呢律姨?別急,磁鏈有很多種臼疫,電驢磁鏈(ed2k)就不需要依托種子择份,其hash碼是針對(duì)資源文件本身計(jì)算出來的,也就是說烫堤,電驢磁鏈與文件一一對(duì)應(yīng)荣赶。于是我們是否可以靠它來突破網(wǎng)盤的分享限制呢?

ed2k使用混合MD4算法鸽斟,只支持對(duì)單個(gè)文件進(jìn)行編碼拔创,正好一一對(duì)應(yīng),但是我們?nèi)匀徊荒芡刖W(wǎng)盤會(huì)維護(hù)云端每個(gè)文件的ed2k碼富蓄。然而即便只有一線希望也不能輕易剩燥,于是我使用eMule LinkCreator軟件,生成了一個(gè)本地文件的ed2k磁鏈:

ed2k://|file|3.txt|648|1DC437533C342D4531A9E0986A73E6DC|h=PFWKEORT7MY4ITQUEWHQUXUM3T6LKZXR|/

(為保護(hù)隱私立倍,偷偷改動(dòng)了一下灭红,所以現(xiàn)在這個(gè)磁鏈?zhǔn)遣荒苡玫摹#?br>

格式是這樣的:

ed2k://|file|文件名|文件大小|混合MD4碼|h=用于修正文件損壞的根哈希值|/

這是我自己創(chuàng)建的一個(gè)文件口注,云端絕對(duì)沒有变擒。當(dāng)我將其上傳到百度云,然后掛磁鏈離線疆导,并沒有任何反應(yīng)赁项。但是當(dāng)我將其上傳到115葛躏,掛磁鏈離線澈段,奇跡出現(xiàn)了悠菜,真的轉(zhuǎn)存成功了!

這證明一點(diǎn):115在上傳文件時(shí)會(huì)計(jì)算其ed2k碼并維護(hù)在服務(wù)器的表中败富,而百度卻并沒有這么做悔醋。(從這點(diǎn)隱藏極深的差異,就可以看出115做產(chǎn)品確實(shí)更用心兽叮。)

然后我試了許多文件芬骄,皆完美離線,在別人的115上也能離線到我的文件鹦聪,這是多么令人振奮的一件事罢俗琛!以后我可以隨心所欲地分享文件泽本,繞過網(wǎng)盤的一切限制淘太!

(咳,除非115哪天腦子抽筋封禁這個(gè)擦邊球……)

不單是我個(gè)人的文件规丽,云端的影視資源蒲牧,同樣可以完美離線,比如我生成了自己手頭《碟中諜5》的磁鏈:

ed2k://|file|碟中諜系列:[2015][7.8]碟中諜5:神秘國度.mkv|7517011186|DE3ACB4715A116B5A72FFE65BFBD4E49|h=KYTLQFVBICOTNKK6W7X2V65FAZKRKOK2|/

(沒錯(cuò)赌莺,這個(gè)磁鏈?zhǔn)强梢杂玫谋溃?15的朋友可以試一下。)

但并不是所有影視資源都能順利離線艘狭,可以認(rèn)為115在早前并沒有維護(hù)文件的ed2k碼挎扰,后來隨著ed2k離線功能的推出,才開始計(jì)算新上傳文件的ed2k碼巢音,以前的老文件鼓鲁,即便現(xiàn)在重新上傳也不會(huì)計(jì)算ed2k——個(gè)人認(rèn)為這一點(diǎn)應(yīng)該改進(jìn),也許只是程序員并沒有考慮這么周到港谊。

好了骇吭,不多說了,我要去貼吧發(fā)資源了歧寺。

參考資料

B編碼以及BT種子文件分析 - 博客園

Magnet URI scheme - 維基百科

ed2k - 百度百科

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末燥狰,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子斜筐,更是在濱河造成了極大的恐慌龙致,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顷链,死亡現(xiàn)場(chǎng)離奇詭異目代,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門榛了,熙熙樓的掌柜王于貴愁眉苦臉地迎上來在讶,“玉大人,你說我怎么就攤上這事霜大」共福” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵战坤,是天一觀的道長曙强。 經(jīng)常有香客問我,道長途茫,這世上最難降的妖魔是什么碟嘴? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮囊卜,結(jié)果婚禮上娜扇,老公的妹妹穿的比我還像新娘。我一直安慰自己边败,他們只是感情好袱衷,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著笑窜,像睡著了一般致燥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上排截,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天嫌蚤,我揣著相機(jī)與錄音,去河邊找鬼断傲。 笑死脱吱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的认罩。 我是一名探鬼主播箱蝠,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼垦垂!你這毒婦竟也來了宦搬?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤劫拗,失蹤者是張志新(化名)和其女友劉穎间校,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體页慷,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡憔足,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年胁附,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滓彰。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡控妻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出找蜜,到底是詐尸還是另有隱情饼暑,我是刑警寧澤稳析,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布洗做,位于F島的核電站,受9級(jí)特大地震影響彰居,放射性物質(zhì)發(fā)生泄漏诚纸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一陈惰、第九天 我趴在偏房一處隱蔽的房頂上張望畦徘。 院中可真熱鬧,春花似錦抬闯、人聲如沸井辆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽杯缺。三九已至,卻和暖如春睡榆,著一層夾襖步出監(jiān)牢的瞬間萍肆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來泰國打工胀屿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留塘揣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓宿崭,卻偏偏與公主長得像亲铡,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子葡兑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容