写了一个简单脚本用来解决Mac上访问github慢的问题,基本思路如下:
- 访问 http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 获取github的IP地址
- 在/etc/hosts中加入查询到的IP和域名 (需要root 权限)
- 在终端在输以下指令刷新DNS(需要root 权限)
运行以下shell脚本即可,需要root权限。
#get the fastest github ip
fast_ip=`curl http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 2>/dev/null| grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}" |sed -n '2p'`;
echo $fast_ip;
#Add or replace the $fast_ip in /etc/hosts
if grep "www.github.com" /etc/hosts >/dev/null;then
echo "github dns exists, replace it with the latest one $fast_ip";
sed -i -e "s|[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} *www.github.com|$fast_ip www.github.com|" /etc/hosts;
else
echo "github dns does not exist, replace it with the latest one $fast_ip";
echo -e "
#Github
$fast_ip www.github.com
" >> /etc/hosts;
fi
killall -HUP mDNSResponder;say DNS cache has been flushed;