解决github打不开的问题

 一 问题描述

github打不开,尝试ping下github,打不开时ping不通,反之,ping通之后就能打开。

windows+R,键入cmd回车,打开cmd窗口,输入

ping github.com

回车,发现请求超时。

二 解决方案

在本地hosts文件中加入IP地址。

hosts文件位于C:\Windows\System32\drivers\etc\hosts,打开hosts文件,在末尾添加如下IP:

140.82.112.4 github.com
140.82.114.4 www.github.com
199.232.5.194 github.global.ssl.fastly.net
54.231.114.219 github-cloud.s3.amazonaws.com

添加后如图:

保存后返回cmd窗口,重新ping,成功。

输入以下命令刷新dns缓存

ipconfig /flushdns

此时再进入github就能打开。

针对部分机型hosts无法编辑的情况,可用此处的hosts代替原来的hosts文件。

GitHub 链接缓慢或者连不上大概率是 DNS 域名解析出问题了,解决这一问题的办法就是修改 hosts 文件,将 IP 地址直接与域名对应起来,跳过解析过程,从而正常打开 github.com 。

本文第一、二节分别对查询IP与手动修改hosts文件进行说明,第三节介绍自动化更新 hosts 文件的方法。

1. 查询 IP

查询 IP 地址的网站有很多,这里推荐使用 IPAddress.com 。

IPAddress​ipaddress.com/website/github.com

上面的 IP 查询一次只能查一个域名,不够效率,所以更推荐下面这位作者 

@HelloGithub

 (大佬)建立的 IP 地址大全:

Github地址大全​raw.hellogithub.com/hosts

该项目的仓库地址:

GitHub520​github.com/521xueweihan/GitHub520

2. 手动修改 Hosts 文件

hosts 文件在每个系统的路径如下:

Windows 系统:C:\Windows\System32\drivers\etc\hosts

Linux 系统:/etc/hosts

Mac 系统:/etc/hosts

2.1 修改方法

打开 hosts 文件,在文件末尾写入 查询到的IP地址 所查域名 即可,例如 140.82.112.3 github.com

Windows 使用管理员权限的记事本修改 hosts 文件

Linux、Mac 需要 root 权限:sudo vim /etc/hosts

2.2 激活生效

修改完 hosts 文件后,大部分情况下是直接生效,如果没生效可以尝试刷新 DNS:

Windows:在 CMD 窗口输入:ipconfig /flushdns

Linux 命令:sudo nscd restart,如报错则须安装:sudo apt install nscd 或 sudo /etc/init.d/nscd restart

Mac 命令:sudo killall -HUP mDNSResponder

如果上述方法仍无效那就重启吧。

更加详细的修改 hosts 文件方法可以查看下面的链接
https://zhuanlan.zhihu.com/p/438447914

3. 自动更新 hosts 文件

3.1 周期性任务管理 cron

利用 crontab 建立周期性工作表,自动更新 Hosts 文件 ( 需要 root 权限 )。

crontab [-u <user_name>] -e 新建一个周期性工作表,省略 -u 则默认为当前用户,默认的编辑器是 vi,编写完成后,会以当前用户名命名该文件,并保存到路径 /var/spool/cron/ 下

crontab -l 查看工作表,其实质就是 cat /var/spool/cron/<user_name>

crontab -r 移除工作表

工作边在执行过程中的输出会发送到对应的 /var/spool/mail/<user_name> 中,如果不想看到输出,可以重定向 [Command] > /dev/null 2>&1

工作表的格式

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=user_name

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user_name  command to be executed

0 */8 * * * root sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts

上面工作表的内容是每隔8小时(*/8)0分钟(0),以 root 权限执行 sed 与 curl 命令

其作用是把网址 <https://raw.hellogithub.com/hosts> 中的内容以追加的形式插入到文件 /etc/hosts 中,插入点在 "# GitHub520 Host Start" 这一行。

如果觉得要执行的命令太长太复杂,也可以写成脚本执行,不过脚本路径最好写成绝对路径,防止执行过程中出现找不到的情况。

更多关于 crontab 的用法可以查看下面的网址:

Linux Crontab 定时任务​www.runoob.com/w3cnote/linux-crontab-tasks.html

3.2 其他自动更新方法

在 

@HelloGithub

 的 GitHub520 项目说明书中,还介绍了使用 SwitchHosts 、AdGuard 、Chrome 插件等方式自动更新 hosts 文件的方法:

​​​​​​https://github.com/521xueweihan/GitHub520/blob/main/README.md​github.com/521xueweihan/GitHub520/blob/main/README.md

hosts

***一种解决方案是使用FastGithub软件。具体操作如下:下载并运行FastGithub软件,然后安装cacert/fastgithub.cer并设置信任,将系统的自动代理设置为http://127.0.0.1:38457,或者手动代理设置为127.0.0.1:38457。 另外,如果出现"XXX"无法打开,因为开发者无法验证的错误提示,可以在终端中进入FastGithub执行文件所在路径,然后执行命令:sudo xattr -d com.apple.quarantine *.*。 如果以上方法无效,还可以尝试使用FastGithub软件。该软件支持Win、Linux和Mac,并且使用非常方便。它可以帮助解决GitHub打不开问题。 总之,如果在Mac上无法打开GitHub,可以尝试使用FastGithub软件来解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Mac 打不开github解决方案【亲测有效】](https://blog.csdn.net/weixin_42980874/article/details/125595210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [解决GitHub打不开(FastGithub,支持MAC)](https://blog.csdn.net/qq_38261819/article/details/127104434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值