不需要翻墙,完美提升Github访问的体验

很多时候都需要修改DNS来稳定github网络,但手动更新实在不方便。

自动更新可以选择shell脚本或者SwitchHosts
主要在这里推荐switchhosts
DNS选的是helloGitHub的DNS文件下载地址

SwitchHosts

  1. 下载switchhosts
  2. 新建host
  3. 添加自动更新的地址
  4. 设置周期即可

详细如下:

下载地址:

官方下载可能会有点慢,下面也贴个百度云的4.0.3版本

官方下载||exe版本百度云:提取码:hhhh ||Linux版本在官网下叭

只需要新建一个DNS,在自动配置里加上下面这个链接:

https://cdn.jsdelivr.net/gh/521xueweihan/GitHub520@main/hosts
这里特别推荐新建两个host文件,一个存本地的,命名为local,一个存上述的自动更新的,命名为github,switchhosts会自动把这两个文件合并到系统hosts中。

设置好更新频率,然后等他自动更新即可。

Linux注意要修改switchhosts软件的权限

可以先在/usr/share/applications这个目录下看看有没有switchhosts,然后直接给这个文件权限即可:

sudo chmod 600 ××× (只有所有者有读和写的权限) 
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) 
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限) 
sudo chmod 666 ××× (每个人都有读和写的权限) 
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

下面是近期的DNS,也可以手动添加:

# 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命令时,可以直接修改目标文件。

具体可以自己试试啦。

#! /bin/bash
# change the hosts file to make sure some website couldn`t accessed in worktime

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
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

麦滋堡的摸鱼芝士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值