解决GitHub不能访问的几个办法_github打不开-程序员宅基地

技术标签: 日用办公  github  git  

一、问题现象

GitHub页面时而能访问,时而不能。不是慢,而是不能访问。当然,下载它的比如仓库Release下的压缩包比较慢则是另一回事。蛋疼的影响不限于打不开页面,更多的在于不能git pull和git push等操作。范围方面,凡国内不管是家宽、移动网络还是云上的,都受到一致的影响。

二、问题原因

1、DNS解析污染

网上有个这个说法,大致原理就是“某某”通过拦截你发起的GitHub域名解析请求并伪装返回非正确的IP地址。但我有些怀疑,打不开GitHub也没见什么其他页面显示出来,怀疑这个“某某”的目的是什么?莫非就是让你长期不能稳定访问?

2、网络限制

按理说类似有的站点被限制一样,应该是一直打不开。所以这个说法不成立。

三、解决办法

1、科学上网(备用)

但是呢也有些问题,比如包下载依然较慢,这个不同供应商和实现方式的效果不一样,比如企业申报类的企业业务用途、外企VPN隧道等正常,个人用途的那就不一定了。

如果是对我提供服务的服务器,这个方式可能就不太合适了。

2、使用代理(首选)

从实际观测来看,应该使用了反向代理,采用一个这样的IP(域名),既能让国内正常访问,同时也能正常访问GitHub,然后在这个IP的主机上搭建一个反向代理,接收国内的访问,代理请求GitHub并返回结果给访问者。

这种办法只需要更改github.com为代理的域名即可,使用方式与GitHub除了域名不同其他都一样,速度挺快,可登陆,可提交。类似站点众多但服务连续性和稳定性普遍不强(安全性待验证),不过成本较低、简单便捷。比如https://kgithub.com(这个地址后期可能失效),也有人专门列举和更新有效的代理清单

具体替换github.com这个地址的方式有两个,一是直接git remote来修改具体仓库的地址,二是全局修改git,如下:

git config --global url."代理地址如https://kgithub.com/".insteadOf "https://github.com/"  # 全局修改
git config --global --list  #  查看配置
git config --global --unset url.https://github.com/.insteadof  # 取消修改

3、修改hosts(备用)

当前网上最多的使用方法,即通过类似站长工具的手段查询获取GitHub域名的IP,然后增加本地hosts解析记录。但不论Windows还是Linux,都有几个不足的地方。

#Windows: C:\Windows\System32\drivers\etc\hosts;Linux: /etc/hosts
ip1 github.com
#ip2 github.com
ip3 xx.github.com

1)根据GitHub官网说明,它的IP会不定期修改,且不告知当前具体IP是什么,只是给出IP CIDR网段。当然Web方面尾部的几个IP都是32位子网掩码,可以确定具体IP,但不知道当前使用的是哪个,不过目前观测来看,正在使用的IP基本上长期不变化。

……
“web”: [
“192.30.252.0/22”,
“185.199.108.0/22”,
“140.82.112.0/20”,
“143.55.64.0/20”,
“2a0a:a440::/29”,
“2606:50c0::/32”,
“20.201.28.151/32”,
“20.205.243.166/32”,
“20.87.225.212/32”,
“20.248.137.48/32”,
“20.207.73.82/32”,
“20.27.177.113/32”,
“20.200.245.247/32”,
“20.233.54.53/32”

],
“api”: [
“192.30.252.0/22”,
“185.199.108.0/22”,
“140.82.112.0/20”,
“143.55.64.0/20”,
“2a0a:a440::/29”,
“2606:50c0::/32”,
“20.201.28.148/32”,
“20.205.243.168/32”,
“20.87.225.211/32”,
“20.248.137.49/32”,
“20.207.73.85/32”,
“20.27.177.116/32”,
“20.200.245.245/32”,
“20.233.54.49/32”
],
……

2)指定的具体IP,同样频繁时不时不能访问,导致你又得去找新IP,不停的修改hosts在几个IP中来回切换。该方法不具有便捷性和持续性。

而之前指定的IP并非不再使用,从这里看出,不仅仅是域名解析问题那么简单。

3)寻找IP的方式太单一和缺乏足够准确性。一种做法是通过ping来获取,如果说是DNS解析污染,那这个方式最好不用,同时GitHub的IP从实测上看不会响应ping的ICMP包。二种做法是使用前面提及的IP查询工具,但返回的IP太少。这里补充个方式 - 直接查询GitHub域名的A记录。通过类似这个网站来查询,可以一次性查看GitHub在不同区域和不同DNS服务商的解析配置记录,这里列举几个得到的IP。

192.30.255.113 # Cloudflare、Authoritative
192.30.255.112 # Google、OpenDNS
20.87.225.212 # Microsoft
20.248.137.48 # Microsoft
20.207.73.82 # Microsoft
140.82.121.4 # Microsoft
20.201.28.151 # Microsoft
140.82.121.3 # GitHub
140.82.114.4 # GitHub
140.82.112.4 # GitHub

从这里你可能也发现了,域名解析配置的实际IP和前面GitHub官网meta API给出的不太一致,用哪个?用实际的DNS记录。

4、使用镜像(我不用)

把GitHub的实际内容同步、复制一份,并开放访问。这种方式成本较大、时效性稍弱,但也提供一些增值服务。如gitclone.com

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/evandeng2009/article/details/131390484

智能推荐

怎么开启windows hypervisor platform,解决hypervisor platform消失无法安装的问题-程序员宅基地

文章浏览阅读3.7w次,点赞7次,收藏24次。正常的windows功能面板我的很好,没有安装windows hypervisor platform的机会,但是没关系然后cmd 或powershll 管理员身份运行Dism /online /Get-Features可以查看到hypervisor platform是禁用状态pushd “%~dp0”dir /b %SystemRoot%\servicing\Packages*..._windows hypervisor platform

MediaPlayer(二)--MediaPlayer基本框架_mediaplayerclassfactory-程序员宅基地

文章浏览阅读596次。MediaPlayer涉及的的文件路径这里参考的是android8.1 的代码JAVA类的路径:frameworks/base/media/java/android/media/MediaPlayer.javaJNI路径:frameworks/base/media/jni/android_media_MediaPlayer.cpp编译为 libmedia_jni.sonative 层的接口frameworks/av/media/libmedia编译为 libmedia.sonative层_mediaplayerclassfactory

精选微软等公司数据结构+算法面试100题带答案(41-60)_数据结构中len=sizeof(data)/sizeof(int)-1-程序员宅基地

文章浏览阅读3.7k次。41、求固晶机的晶元查找程序。晶元盘由数目不详的大小一样的晶元组成,晶元并不一定全布满晶元盘,照相机每次这能匹配一个晶元,如匹配过,则拾取该晶元,若匹配不过,照相机则按测好的晶元间距移到下一个位置。求遍历晶元盘的算法 求思路。(不懂)42、两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5。另外只能输出结果,不能修改两个链表的数据。思路:只用输出结果,并不_数据结构中len=sizeof(data)/sizeof(int)-1

C语言最全操作符详解,一文精通所有操作符!_c语言操作符 >> <<-程序员宅基地

文章浏览阅读4.2k次,点赞15次,收藏58次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、除号“/”二、"%"除法取余数三、左移操作符“<<”和右移操作符“>>”1.左移操作符2.右移操作符四、按位与“&”五、按位或“|”六、按位异或“^”七、赋值操作符“=”和复合赋值操作符1.赋值操作符2.复合赋值操作符八、逻辑非“!”九、&取地址操作符和*解引用操作符十、sizeof操作符十一、按位取反操作符“~”十二、强制类型转换操作符 (类型)十三、双目操作符:逻辑与&&a_c语言操作符 >> <<

GEC6818开发板使用和配置-程序员宅基地

文章浏览阅读1.8w次,点赞15次,收藏89次。GEC6818开发板使用和配置❥(^_-) GEC1808开发板简介极致低功耗强大 AI 运算能力面向 AIoT 应用的丰富接口易于开发主控芯片特性参数❥(^_-) 常用接口说明电源接口调试串口CSI摄像头接口以太网接口音频输入接口LCD接口❥(^_-) 开发板功能❥(^_-) 常用接口说明电源接口调试串口USB-OTG接口以太网接口音频接口_gec6818开发板

Android4.2关于bluetooth在HAL层的分析_bluetooth hal-程序员宅基地

文章浏览阅读1.2k次。1.一些常用的数据结构hardware/libhardware/include/hardware.h中定义了三个重要的结构:struct hw_module_t; //模块类型struct hw_module_methods_t; //模块方法struct hw_device_t; //设备类型hw_module_t中包含结构_bluetooth hal

随便推点

【前端开发-----NodeJS】nodejs快速入门教程,想要快速入门nodejs就看这一篇文章就够了,基础部分特详细,按要点整理知识点-程序员宅基地

文章浏览阅读4.5k次,点赞20次,收藏88次。nodejs快速入门教程,想要快速入门nodejs就看这一篇文章就够了,特详细的保姆级教程;基础部分特详细,按要点整理知识点;内容包括文件操作,路径处理,模块化,中间件,路由,身份认证,数据库操作,数据校验等等;用express框架快速搭建自己的后端服务器。_nodejs

GEE(5):关于使用Google Earth Engine上传shp文件时属性表乱码的问题_gee上传的shp-程序员宅基地

文章浏览阅读2.3k次,点赞3次,收藏14次。如图所示,当我使用Google Earth Engine(GEE)上传shp文件时,可以上传成功,但出现了属性表中中文乱码的情况。这是由于在使用GEE导入shp文件时,字符编码方式为“utf-8”,而我们的shp文件编码格式不是utf-8导致的,通常我们的文件的编码方式为“GBK”格式,因此需要对其进行修改。.我用的arcgis软件是10.2版本,这个版本导出的shp文件回出现乱码 所以我们只需处理10.2版本问题,具体步骤如下:..._gee上传的shp

安卓手机上最好的3个txt阅读器_安卓最好 离线 阅读 txt-程序员宅基地

文章浏览阅读1.3w次。txt格式是一款非常常见的电子书格式,很多手机由于自身不能直接打开txt格式文件或者软件使用感较差而给我们阅读带来困扰。今天小编就为大家介绍3款可以在安卓手机上使用的txt阅读器。第一款:neat reader 这款阅读器界面设计相当整洁,色调以淡蓝色和白色为主,整体阅读视觉感舒适,在阅读的基础功能上,书签,高亮,注释这些在阅读时需要的功能都可以满足,可以在阅读时同步记录笔记,具有多种配色组合用户可以自由搭配,支持词典查询,用户在进行英文阅读时可以随时查询不懂的语句。值得一提的是,这款阅读器不.._安卓最好 离线 阅读 txt

水下图像增强技术研究进展_基于安卓的水下图像增强-程序员宅基地

文章浏览阅读6.4k次,点赞5次,收藏44次。本人硕士阶段研究偏于图像处理,计算机视觉,然后着重研究领域是关于水下图像增强,在此记录一些自己的学习过程和总结。1.图像增强技术总览这是我总结的关于低光照增强和水下图像增强的两个领域的研究进展和主要方法,另外图像增强还包括图像去雨,图像去雾,图像去模糊,超分辨等各种技术。下面针对水下图像增强,我做了一些实验,结果如下图所示:可以看到图像效果有明显提升,在主观和客观评价上也有这不错的结果,由于论文还没online,就先不放代码,当然也存在一些缺点,所有期待大家一起..._基于安卓的水下图像增强

【精选】金属工件表面缺陷图像分割系统:DLA34骨干网络改进YOLOv5-程序员宅基地

文章浏览阅读151次。【精选】金属工件表面缺陷图像分割系统:DLA34骨干网络改进YOLOv5_dla34

【Unity】模型文件格式、常见3D模型格式_psk格式-程序员宅基地

文章浏览阅读1.5w次,点赞29次,收藏76次。除非在计算机上安装了相应的 3D 建模软件,否则保存为 .ma、.mb、.max、.c4d 或 .blend 文件的资源将无法导入。.obj文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导。.fbx最大的用途是用在诸如在 Max、Maya、Softimage 等软件间进行模型、材质、动作和摄影机信息的互导,这样就可以发挥 Max 和 Maya 等软件的优势。_psk格式

推荐文章

热门文章

相关标签