无兄弟,不篮球;无github,不代码。github和stackoverflow是程序员们的最爱,哪怕是github总是在抽疯,虐了程序员们千百遍,但他们还是想各种办法艰难地在github分享他们优秀的代码,进行pull push操作,下面分享程序员小Code的故事。
小Code是学习能力很强的同学,他通过网上搜索github抽疯缘由,得到的结论是DNS解析的github时,返回了不理想的ip甚至是假ip,所以他决定用靠谱的平台来检索github的ip,然后写入hosts文件。
Copy140.82.114.3 github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 documentcloud.github.com
140.82.114.4 gist.github.com
185.199.110.133 gist.githubusercontent.com
185.199.108.154 github.githubassets.com
185.199.111.154 help.github.com
140.82.113.9 nodeload.github.com
185.199.109.133 raw.github.com
140.82.114.17 status.github.com
185.199.108.153 training.github.com
140.82.113.10 codeload.github.com
小Code发现这样子之后,感觉改善了一些,还来不及沉浸在喜悦中,他将自己的hosts文件分享给了千千万万个需要的其他程序员同伴,于是他的hosts大法成为了普及率最高的办法。
小code发现,hosts文件里面的ip要经常更新,有时一天不更新,第二天就不能用了。更可怕的发现是,明明他用的hosts是可以的,可其他同伴用了他的成果之后,反馈说没有效果,每天都有无数个同伴,质问小code,你的大法不行啊!!小code一直觉得不可思议,为什么一样的配置就不行。直到有一天,小code出差了,来到了某省的某个酒店,小code拿出他心爱的笔记本电脑,准备打开每天都要上的github,这时小code傻眼了,浏览器小转圈圈,然后显示“连接已重置”,无论小Code怎么挣扎,还是无法上github。
小Code来不及多想,他觉得他的发明不不但没有解决千千万万个同伴的问题,而且带了深深的互相伤害,于是他决定放弃hosts大法。可难的是,还有是有很多在网上搜索到了他的hosts大法,继续被伤害的路上。
出来回来之后,小Code不吃不喝,寻找新的解决方案。小Code远程到在某省的一个朋友电脑,使用浏览器f12来分析github访问资源的加载情况,最后总结到:github.com这个域名一般能访问,虽然偶尔中断那么几分钟;而github的css、js、用户头像、releases下的附件,都无法加载。于是小Code定使用github镜像网站,来给替代github的资源的下传,为此小Code开发了浏览器插件,当github不抽疯的那些时间缝隙里,让用户可以刷新github,然后他的插件修改github页面,多显示了一个“加速Pull”的按钮,点击这个按钮,就是用镜像网站来拉取。
小Code明白,他的这套发明,只能解决一点点问题,解决了下传,但像小Code这种牛逼程序员,更多的时候,是把自己牛逼的代码分享给别人,还不是在享用别人的代码。但他自己的发明,却不能解决自己遇到的问题,庆幸的是小Code工作地,还能push代码到github,还不然他的这个镜像大法浏览器插件的代码,都不知道怎么提交到github了。
小Code想到了他的师傅大Code,师傅多年一直在网络编程里耕耘,说不定他有好办法。大Code决定为小Code写一个工具,解决小Code和千千万万个同伴的问题,同时把代码分享,让小Code来学习和提高水平。
大Code使用PostMan和Wireshark两个工具结合,开始忙碌的分析了数据,从DNS解析数据包开始,到TCP握手,到TLS握手,他发现了两个主要问题:DNS响应问题和TLS握手问题。问题找到后,他点了一支烟,抽完接着又点了半支,这是他准备要露手的前奏。
大Code不喜欢吹牛,也不喜欢讨论非技术问题。只知道他的工具,100%解决小Code的问题,把他的工具分享了出来,下面是他的工具一些介绍:
github的:
https://github.com/xljiulang/FastGithub/releases