摘要:前言在這個網(wǎng)絡(luò)帶寬飛速增長的年代,下載文件要充分利用好網(wǎng)速就得用到下載工具,比如迅雷。本人兩年迅雷年費(fèi)會員在離線下載越來越形如虛設(shè)的情況下,選擇投入了的懷抱,然而丑陋的界面和破解版的無限彈框讓我產(chǎn)生了開發(fā)一款屬于自己下載器的想法。
前言
在這個網(wǎng)絡(luò)帶寬飛速增長的年代,下載文件要充分利用好網(wǎng)速就得用到下載工具,比如迅雷、IDM。然而貧窮限制了下載速度,這兩個下載軟件不花錢毫無體驗可言。本人兩年迅雷年費(fèi)會員在離線下載越來越形如虛設(shè)的情況下,選擇投入了IDM的懷抱,然而IDM丑陋的界面和破解版的無限彈框讓我產(chǎn)生了開發(fā)一款屬于自己下載器的想法。
成果沒圖說個xx,下圖是在20M帶寬的情況下載網(wǎng)盤文件的過程,可以看到網(wǎng)速基本跑滿。
下載試用,需要JAVA8+運(yùn)行環(huán)境。
啟動:
java -jar proxyee-down-1.3.jar 訪問http://127.0.0.1:9999,點(diǎn)擊ProxyeeRoot ca.crt下載證書并安裝到受信任的根證書頒發(fā)機(jī)構(gòu)中 設(shè)置瀏覽器http代理為127.0.0.1:9999即可關(guān)于證書導(dǎo)入
windows系統(tǒng)
訪問http://127.0.0.1:9999,下載證書,要選擇受信任的根證書頒發(fā)機(jī)構(gòu)目錄
安卓
用原生瀏覽器訪問http://serverIp:9999,下載證書
介紹本下載器開源,代碼托管在proxyee-down,是一款基于http代理服務(wù)器嗅探http下載請求的下載工具,支持插件化開發(fā),目前內(nèi)置百度云大文件下載限制插件和百度云合并下載限制插件。
技術(shù)簡介本項目使用java+netty+spring boot+vue.js+element ui編寫,這里只談一談核心的技術(shù)點(diǎn),細(xì)節(jié)請參考源碼。
http代理
基于http代理服務(wù)器來實現(xiàn)下載請求的嗅探,實現(xiàn)了https的報文解密,在代理服務(wù)器嗅探到下載請求頭時,進(jìn)行攔截處理。
//例如Content-Disposition請求頭攔截 Content-Disposition,attachment;filename=FileName.txt
之后修改響應(yīng)體跳轉(zhuǎn)到前端下載頁面
HTTP/1.1 200 OK Conten-type:text/html Conten-length:129
http斷點(diǎn)下載
攔截到下載請求之后,自動試探下載請求是否支持http斷點(diǎn)下載。
//發(fā)送range請求頭,下載一個字節(jié) range:bytes=0-0
若支持?jǐn)帱c(diǎn)下載則可開啟分段下載
//返回206響應(yīng)碼 HTTP/1.1 206 Partial Content
根據(jù)前端填寫的下載段數(shù)計算出每個請求的下載范圍
//例如文件總大小為10byte分成2段下載 //第一段請求頭 range:bytes=0-4 //第二段請求頭 range:bytes=5-9
下載完之后所有段落按順序合并,看看這里是不是很像IDM,其實原理是一樣的。
后記在寫此下載器的過程中對http和https協(xié)議又有了新的認(rèn)識,特別是https若不能實現(xiàn)https的報文解密就做不到https下載請求的嗅探,在熟悉https協(xié)議后采用MITM(中間人攻擊)動態(tài)生成ssl證書的方式,來對https的報文進(jìn)行解密。http代理服務(wù)器核心已經(jīng)獨(dú)立出來了,托管在proxyee,可以輕易的對http(s)協(xié)議進(jìn)行攔截和處理。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/70741.html
摘要:前言從號開始在寫下第一篇文章說是筆記還差不多,驚奇地收到有人收藏我的文章的消息,覺得有點(diǎn)開心。突然腦子抽到想爬下里標(biāo)簽下的文章有多少,哪篇被收藏最多,哪篇被點(diǎn)贊最多。?!,F(xiàn)在和大家分享下,收藏量前的文章,被那么多人收藏應(yīng)該是篇值得看的文章。 前言 從18號開始在sf寫下第一篇文章(說是筆記還差不多),驚奇地收到有人收藏我的文章的消息,覺得有點(diǎn)開心。突然腦子抽到想爬下sf里JAVA標(biāo)簽下...
摘要:據(jù)了解,迅雷于月日晚間對外發(fā)布財報。此次迅雷再發(fā)星域云新產(chǎn)品,實力自然不容小覷,再加之與剛成功上市的愛奇藝達(dá)成戰(zhàn)略合作,未來發(fā)展值得期待。5月16日,迅雷正式對外發(fā)布星域云和迅雷鏈開放平臺。星域云將面向所有企業(yè)開放三大云計算產(chǎn)品-邊緣計算、函數(shù)計算和CDN共享版。其中邊緣計算基于Docker技術(shù),向企業(yè)開放150+節(jié)點(diǎn)資源,CDN共享版帶寬成本只有傳統(tǒng)CDN 的30%.網(wǎng)心科技現(xiàn)已與愛奇藝共...
摘要:問能否談一下迅雷云使用的過程其實最初的時候,迅雷團(tuán)隊對是懷有謹(jǐn)慎的態(tài)度的。三調(diào)度算法是迅雷云定制優(yōu)化的。迅雷在使用這方面一直沒有把數(shù)據(jù)層面交給迅雷云之外的系統(tǒng)。 非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/201256 曾金龍就職于迅雷網(wǎng)絡(luò),是國內(nèi)覆蓋面最廣的迅雷P2P引擎核心研發(fā)成員。他畢業(yè)于中山大...
閱讀 3018·2023-04-26 02:49
閱讀 3532·2021-11-25 09:43
閱讀 3734·2021-10-09 09:43
閱讀 3179·2021-09-28 09:44
閱讀 2550·2021-09-22 15:29
閱讀 4748·2021-09-14 18:02
閱讀 2855·2021-09-03 10:48
閱讀 3488·2019-08-30 12:47