很多时候都需要修改DNS来稳定网络,但手动更新实在不方便。
自动更新可以选择shell脚本或者SwitchHosts
DNS选的是helloGitHub的DNS文件下载地址
SwitchHosts
- 下载switchhosts
- 新建host
- 添加自动更新的地址
- 设置周期即可
详细如下:
下载地址:
官方下载可能会有点慢,下面也贴个百度云的4.0.3版本
官方下载||exe版本百度云:提取码:hhhh ||Linux版本在官网下叭
只需要新建一个DNS,在自动配置里加上下面这个链接:
https://cdn.jsdelivr.net/gh/521xueweihan/GitHub520@main/hosts
设置好更新频率,然后等他自动更新即可。
Linux注意要修改switchhosts软件的权限
可以先在/usr/share/applications这个目录下看看有没有switchhosts,然后直接给这个文件权限即可:
1 2 3 4 5
| sudo chmod 600 ××× (只有所有者有读和写的权限) sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) sudo chmod 666 ××× (每个人都有读和写的权限) sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
|
下面是近期的DNS,也可以手动添加:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| # GitHub520 Host Start 140.82.114.26 alive.github.com 140.82.114.26 live.github.com 185.199.108.154 github.githubassets.com 140.82.114.22 central.github.com 185.199.108.133 desktop.githubusercontent.com 185.199.108.153 assets-cdn.github.com 185.199.108.133 camo.githubusercontent.com 185.199.108.133 github.map.fastly.net 199.232.69.194 github.global.ssl.fastly.net 140.82.114.3 gist.github.com 185.199.111.153 github.io 140.82.113.4 github.com 192.0.66.2 github.blog 140.82.114.6 api.github.com 185.199.108.133 raw.githubusercontent.com 185.199.108.133 user-images.githubusercontent.com 185.199.108.133 favicons.githubusercontent.com 185.199.108.133 avatars5.githubusercontent.com 185.199.108.133 avatars4.githubusercontent.com 185.199.108.133 avatars3.githubusercontent.com 185.199.108.133 avatars2.githubusercontent.com 185.199.108.133 avatars1.githubusercontent.com 185.199.108.133 avatars0.githubusercontent.com 185.199.108.133 avatars.githubusercontent.com 140.82.113.9 codeload.github.com 52.217.139.73 github-cloud.s3.amazonaws.com 52.216.104.27 github-com.s3.amazonaws.com 52.217.108.108 github-production-release-asset-2e65be.s3.amazonaws.com 52.216.142.228 github-production-user-asset-6210df.s3.amazonaws.com 52.217.81.148 github-production-repository-file-5c1aeb.s3.amazonaws.com 185.199.108.153 githubstatus.com 64.71.144.202 github.community 23.100.27.125 github.dev 185.199.108.133 media.githubusercontent.com
# Update time: 2021-11-27T12:05:26+08:00 # Update url: https://raw.hellogithub.com/hosts # Star me: https://github.com/521xueweihan/GitHub520 # GitHub520 Host End
|
Shell脚本(不用看)
可以通过ubuntu的shell脚本去自动更新(不推荐),主要是通过date、test、tail、sed这几个命令做的。
date命令顾名思义,用于获取当前系统时间,使用+%H选项时可以单独返回当前小时(24小时制)。例如,当前时间为8:48,返回值为08.
test命令用于测试各种内容,关于test命令的用法大家可以自己查一下。需要注意的是,不同格式数据的比较方法不同。我刚开始写脚本的时候,进行比较的两个数据分别是字符串格式和整数格式,总是提示参数过多,后来将格式改为一致,并使用相应的比较符才可以正常使用。当对字符串进行大于或小于比较时,需要写为”>“或”<“,以避免shell将”<”和”>”符号理解为输入输出符号。
tail命令返回文件的最后几行信息。
sed命令可以对输入的字符串进行编辑替换。当使用-i选项调用sed命令时,可以直接修改目标文件。
具体可以自己试试啦。
1 2 3 4 5 6 7 8 9 10
|
if test $(date +%H) \> "08" -a $(date +%H) \< "22" thentail -7 /etc/hosts | sed -i /etc/hosts -e "s/# 127.0.0.1/ 127.0.0.1/g" cat /etc/hosts else tail -7 /etc/hosts | sed -i /etc/hosts -e "s/ 127.0.0.1/# 127.0.0.1/g" cat /etc/hosts fi
|