6

解决github过慢或无法访问的方法

 1 year ago
source link: https://ttzz.eu.org/posts/2022-11-21-ways-to-fix-github-being-too-slow/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

github 在国内,有时会遇到打不开或者过慢的问题。这么好的东西,竟然不给用,这就很过分了,经过测试,绝大多数是 DNS 解析的问题,有可能是 DNS 污染,也有可能是有意为之,尤其国内几个基础运营商默认的 DNS,对于 github 和它的相关域名,解析结果大多数为 0.0.0.0 或 127.0.0.1,v 站上众多开发者测试都是这个结果。我测试了自己广州电信的网络,raw.githubusercontent.com 也无法打开。参看(需要爬墙)v 站帖子

DNS 解析这个问题,最简单的方式修改本机 hosts 文件,通过直接指定域名对应 ip 来实现访问,需要注意的是,所有厂家服务器的 ip 都可能会变的,域名解析出来的 ip 不是永远不变的,因此需要及时检查。

hosts 作用:

我们访问一个网站时,系统会优先在 hosts 文件里检查是否有这个 ip 域名的地址映射关系,如有就直接使用这个 ip 地址,如无,才会去 DNS 服务器把查询其 IP 地址,以供计算机访问。

所以 hosts 里地址映射查询,是在 DNS 解析之前的。

hosts 文件所在位置:

  • Linux / MacOS hosts 路径:/etc/hosts
  • Windows hosts 路径:C:\Windows\System32\drivers\etc\hosts

查域名 ip 网站 www.ipaddress.com

通过查询域名对应的 ip 地址,手动添加 ip 域名到 hosts 文件。

比如我发现我电脑上 https://raw.githubusercontent.com/ 不能访问,在 www.ipaddress.com 查询发现,它有 4 个 ipv4 和 4 个 ipv6,ipv4 可以 ping 通,因此将 ipv4 的 ip 添加到 hosts 文件中,同个可以同时添加多个 ip,访问时从第一个开始获取,解析失败时顺延第二个。添加格式:

185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com

https://s.imgkb.xyz/abcdocker/2022/11/22/5aadf3ace5fc8/5aadf3ace5fc8.png

添加后,就可以直接访问 https://raw.githubusercontent.com/ 了。

检查是否被墙 https://www.vps234.com/ipchecker/

这是一个测试 IP 是否被封的网站工具,通过 ICMP 和 TCP 来检查,输入 ip 后查看测试结果 ICMP 和 ping 一样,TCP 就好比是检测该 IP 的 Linux VPS 能否通过 SSH 连接。国内外都一致即说明没被墙。不过我测试 111 发现有时可以有时不行,不是很稳定。 https://s.imgkb.xyz/abcdocker/2022/11/22/3d8b224647387/3d8b224647387.png

开源自动获取工具 Fetch GitHub Hosts

Fetch GitHub Hosts 是一个非常有用的工具,在 github 上开源,它解决了实时监控和同步 github hosts 的问题。

它的原理是通过部署此项目本身的服务器来获取 github.com 的 hosts,而不是通过第三方 ip 地址接口来进行获取,例如 ipaddress.com 等。

值得注意的 Fetch GitHub Hosts 获取的 hosts 上 github 的 ip 和 ipaddress.com 上查的不一定一样,不同地区请求的 github 地址可能分发向不同的服务器。

Fetch GitHub Hosts 使用很简单,支持全平台,支持客户端和服务端运行,有运行界面,也可以做成服务在后台运行。可以设置自动获取 hosts 的时间间隔和或 hosts 源。因此非常方便。当然你可以复制他的 hosts 源 https://hosts.gitcdn.top/hosts.txt 进行手动进行更新。 https://s.imgkb.xyz/abcdocker/2022/11/22/dd0d563277153/dd0d563277153.png

Fetch GitHub Hosts[https://hosts.gitcdn.top/] https://learnku.com/articles/43426

关注一下有惊喜
wxqr.png 公众号
赞赏支持
wechatpay.png 微信打赏 alipay.png 支付宝打赏

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK