新聞中心
前言
GitHub應(yīng)該是廣大開(kāi)發(fā)者最常去的站點(diǎn),這里面有大量的優(yōu)秀項(xiàng)目,是廣大開(kāi)發(fā)者尋找資源,交友學(xué)習(xí)的好地方。尤其是前段時(shí)間GitHub公布了一項(xiàng)代碼存檔計(jì)劃——Arctic Code Vault,要把代碼埋入地下250米深的永久凍土層,可以將代碼保存一千年。此外,GitHub 還為開(kāi)發(fā)者在配置文件中設(shè)計(jì)了紀(jì)念徽章。

想想自己的代碼可以作為人類(lèi)的技術(shù)瑰寶被保存一千年,是不是有點(diǎn)自豪呢。
好了,言歸正傳。
雖然GitHub沒(méi)有被Q,但是由于CDN服務(wù)器都在國(guó)外,所以國(guó)內(nèi)訪問(wèn)GitHub的速度實(shí)在是慢的一匹,有時(shí)候經(jīng)常頁(yè)面刷不出,在我獲取知識(shí)的道路上增加了重重的阻礙。
所以,我肝了3小時(shí),寫(xiě)了一個(gè)在不用T子的情況下,加速GitHub訪問(wèn)速度的小工具,最后會(huì)分享給大家。
同時(shí),這篇文章也會(huì)分享其他加速GitHub訪問(wèn)的方法。算是一個(gè)比較全的整理吧。
Let's get it!
自動(dòng)生成最快訪問(wèn)host的小工具
GitHub在國(guó)內(nèi)訪問(wèn)速度慢的原因其實(shí)有很多,但最主要的原因就是GitHub的分發(fā)加速網(wǎng)絡(luò)域名遭到DNS的污染。為了解決這個(gè)問(wèn)題,網(wǎng)上有很多文章提供了一個(gè)解決方案,就是通過(guò)修改Hosts文件,繞過(guò)國(guó)內(nèi)的DNS解析,直接訪問(wèn)GitHub的CDN節(jié)點(diǎn),從而達(dá)到加速的目的。
但是我看大多數(shù)關(guān)于此方法的介紹,只提供3個(gè)github的相關(guān)域名,而且需要在ipaddress.com 一個(gè)個(gè)去查,根據(jù)查到的ip,再去自己ping,肉眼選取最快的ip,自行編輯成IP+域名格式,貼到hosts文件里。
其實(shí)GitHub用到相關(guān)域名有很多,我整理了下,一共有十幾個(gè)
- github.global.ssl.fastly.net
- github.com
- assets-cdn.github.com
- documentcloud.github.com
- gist.github.com
- help.github.com
- nodeload.github.com
- codeload.github.com
- raw.github.com
- status.github.com
- training.github.com
- avatars0.githubusercontent.com
- avatars1.githubusercontent.com
- avatars2.githubusercontent.com
- avatars3.githubusercontent.com
這要是一個(gè)個(gè)去查,一個(gè)個(gè)去選取,也是挺麻煩的。
為此我寫(xiě)了一個(gè)工具,能自動(dòng)的根據(jù)你當(dāng)前ip,去尋找這十幾個(gè)域名所對(duì)應(yīng)最快的CDN節(jié)點(diǎn),如果一個(gè)ip對(duì)應(yīng)多個(gè)CDN節(jié)點(diǎn),工具會(huì)自動(dòng)幫你去ping 10次,取到平均值最小的CDN的IP地址。
你需要做的,只是把最終生成的結(jié)果貼到你的hosts文件中即可。
開(kāi)源地址:https://gitee.com/bryan31/githubhost
用法很簡(jiǎn)單,只需要執(zhí)行以下命令即可運(yùn)行
- java -jar githubhost.jar
運(yùn)行起來(lái)后,瀏覽器輸入127.0.0.1:8880即可自動(dòng)進(jìn)行根據(jù)你當(dāng)前Ip進(jìn)行分析:
分析大概需要十幾秒,進(jìn)度條會(huì)自動(dòng)刷新,等進(jìn)度條滿了之后,即可看到生成內(nèi)容:
每個(gè)地區(qū)每個(gè)運(yùn)營(yíng)商可能運(yùn)行出來(lái)的都不一樣,所以得出結(jié)果后,你就可以把這段內(nèi)容追加到你hosts文件中(如果不知道hosts存放位置,可以自行baidu),然后根據(jù)提示讓hosts文件生效。
指定了CDN的訪問(wèn)地址,可以讓你的github訪問(wèn)無(wú)卡頓了。
碼云GitHub鏡像站
碼云提供了一個(gè)”碼云急速下載“站,每天從github上同步一些項(xiàng)目。
https://gitee.com/mirrors
個(gè)人感覺(jué)應(yīng)該不是所有的github項(xiàng)目都會(huì)同步過(guò)來(lái),看倉(cāng)庫(kù)數(shù)量,有大概15k的項(xiàng)目
如果你想clone一些項(xiàng)目去研究,可以先在這里找找有沒(méi)有。碼云因?yàn)槭菄?guó)內(nèi)開(kāi)源項(xiàng)目站點(diǎn),git clone速度自然不用擔(dān)心,但是很可惜的是
1.這個(gè)鏡像站點(diǎn)不是所有的github項(xiàng)目,不過(guò)大多數(shù)熱門(mén)項(xiàng)目都會(huì)有
2.issue和release包也沒(méi)有,只有代碼
3.有一天的延遲。即你看到的是一天前的項(xiàng)目狀態(tài)
4.因?yàn)椴皇莋ithub,所以你也沒(méi)法通過(guò)這個(gè)push到github上的項(xiàng)目
GitHub鏡像站
這個(gè)鏡像站為:
https://github.com.cnpmjs.org/
進(jìn)入之后,完全和github沒(méi)有任何區(qū)別,訪問(wèn)也很快。
尤其是clone代碼,那是飛快啊。。。
比如,你原先要clone,這樣寫(xiě)
- git clone https://github.com/kubernetes/kubernetes.git
現(xiàn)在改成:
- git clone https://github.com.cnpmjs.org/kubernetes/kubernetes.git
試一下:
這個(gè)速度,應(yīng)該無(wú)欲無(wú)求了吧。。。
不過(guò)這個(gè)方法可惜的是:
1.這個(gè)鏡像站很不穩(wěn)定,你時(shí)常會(huì)看到:
2.你每次clone還需要自己去修改url,有點(diǎn)不方便
3.你依舊沒(méi)法push
GitClone站點(diǎn)
在尋找解決之道的途中,我又發(fā)現(xiàn)一個(gè)站點(diǎn):gitclone
https://gitclone.com/
這是一個(gè)GitHub的緩存加速節(jié)點(diǎn),也大約緩存了15k個(gè)項(xiàng)目,但是gitclone單獨(dú)做了一個(gè)站點(diǎn),里面可以進(jìn)行搜索項(xiàng)目,甚至于還可以創(chuàng)建倉(cāng)庫(kù)。
gitclone的clone提供了多種方式來(lái)clone
但是搜索到的項(xiàng)目,最終查看還是跳轉(zhuǎn)到GitHub相應(yīng)的頁(yè)面。
所以其實(shí)和gitee鏡像站都差不多。換湯不換藥,問(wèn)題和之前幾個(gè)鏡像站點(diǎn)差不多,不過(guò)你只是要clone,還是不錯(cuò)的選擇。
總結(jié)
其實(shí)在不用T字的情況下,方式無(wú)非就兩種:
- 修改hosts,直接訪問(wèn)最快的CDN節(jié)點(diǎn),這種方式優(yōu)勢(shì)在于原汁原味。
- 通過(guò)鏡像去訪問(wèn)和clone,這種方式優(yōu)勢(shì)在于clone的速度。
個(gè)人推薦如果主要瀏覽為主,還是用上文推薦的工具去生成hosts進(jìn)行配置,畢竟原汁原味,clone大項(xiàng)目的話,可以考慮以上鏡像站點(diǎn)去加速下載。
開(kāi)源地址:https://gitee.com/bryan31/githubhost
啟動(dòng)后訪問(wèn)127.0.0.1:8880端口即可自動(dòng)生成。
網(wǎng)站標(biāo)題:訪問(wèn)Github太慢?我寫(xiě)了一個(gè)開(kāi)源小工具一鍵變快
網(wǎng)頁(yè)鏈接:http://www.dlmjj.cn/article/djoojie.html


咨詢
建站咨詢
