因为总所周知的原因,GitHub 在国内的访问是不稳定的,经常抽风,不使用一点科学的手段没有办法很好的进行访问,所以就有通过获取 GitHub 最新的可访问的 ip,手动更新到系统的 hosts 文件中的办法来应对
官网的介绍:fetch-github-hosts 是主要为解决研究及学习人员访问 Github 过慢或其他问题而提供的 Github Hosts 同步工具
官网链接:https://hosts.gitcdn.top/
对于 Windows系统,我们可以直接下载 fetch-github-hosts 客户端的方式很方便的对 hosts 进行更新,
也可以通过手动的方式修改 hosts,只需要将:https://hosts.gitcdn.top/hosts.txt 中的内容复制到 hosts 文件中即可
通过使用 Cron 可以定时执行 sh更新 GitHub Hosts
首先编写一个 sh 脚本
# 创建一个文件夹 可自定义
mkdir /data/crontab_task
mkdir /data/crontab_task/log
# 创建一个sh脚本
vi set_github_hosts.sh
接着写入内容
#!/bin/bash
start_text="Start update github hosts. Current time: "
current_time=$(date "+%Y-%m-%d %H:%M:%S")
starting=$start_text$current_time
echo "-----------------------------------------------------------------"
echo $starting
sed -i "/# fetch-github-hosts begin/Q" /etc/hosts && curl https://hosts.gitcdn.top/hosts.txt >> /etc/hosts
echo "Down."
按下 esc 并输入 wq 保存
# 赋予sh可执行权限
chmod u+x set_github_hosts.sh
# 编写cron表达式
crontab -e
# 在文件的最后添加以下内容,保存即可
*/60 * * * * /data/crontab_task/set_github_hosts.sh >> /data/crontab_task/log/set_github_hosts.log 2>&1
一段时间后就可以去 log 目录下查看执行的日志,正确执行的情况下是一直会更新日志的
使用Cron定时更新Hosts解决Gihub无法访问问题 - 珂泽小站 https://www.kezez.com/archives/276.html