在线查询github最新hosts
工具简介:
在线查询github.com 最新的hosts, 用来解决图片无法加载,访问失败,文件下载慢等问题。
hosts 文件在每个系统的位置不一,详情如下:
C:\Windows\System32\drivers\etc\hosts
/etc/hosts
/etc/hosts
/system/etc/hosts
/etc/hosts
修改方法,把第一步的内容复制到文本末尾:
sudo vi /etc/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
Tips: 上述方法无效可以尝试重启机器。
自动化脚本
使用命令需要安装git bash 复制以下命令保存到本地命名为fetch_github_hosts
_hosts=$(mktemp /tmp/hostsXXX)
hosts=/c/Windows/System32/drivers/etc/hosts
remote=https://raw.hellogithub.com/hosts
reg='/# GitHub520 Host Start/,/# Github520 Host End/d'
sed "$reg" $hosts > "$_hosts"
curl "$remote" >> "$_hosts"
cat "$_hosts" > "$hosts"
rm "$_hosts"
在CMD中执行以下命令,执行前需要替换git-bash.exe和fetch_github_hosts为你本地的路径,注意前者为windows路径格式后者为shell路径格式
"C:\Program Files\Git\git-bash.exe" -c "/c/Users/XXX/fetch_github_hosts"
可以将上述命令添加到windows的task schedular(任务计划程序)中以定时执行
sudo sh -c 'sed -i "/# GitHub520 Host Start/Q" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts'
sudo sed -i "" "/# GitHub520 Host Start/,/# Github520 Host End/d" /etc/hosts && curl https://raw.hellogithub.com/hosts | sudo tee -a /etc/hosts
将上面的命令添加到 cron,可定时执行。使用前确保 GitHub520 内容在该文件最后部分。