方法一、手动更新:

方法二、操作步骤
  1. 打开终端
    Command + 空格 聚焦搜索“终端”,打开应用。

  2. 执行一键脚本
    复制以下命令粘贴到终端运行(需输入密码授权):

    bash

    sed -i "" "/# GitHub520 Host Start/,/# Github520 Host End/d" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts

    作用

    • 删除旧 GitHub520 规则

    • 拉取最新 Hosts 配置追加到系统文件34

  3. 刷新 DNS 缓存

    bash

    sudo killall -HUP mDNSResponder  # Monterey 及更新系统
    sudo dscacheutil -flushcache     # 可选,双重刷新:cite[2]:cite[4]

方法三:设置自动跟新host

在 Mac 上设置 GitHub520 自动更新

推荐使用官方提供的 Shell 脚本方案,这是最直接、最可靠的方法。

方法一:使用官方自动脚本(推荐)

这个方案通过一个 crontab 定时任务,每天自动从项目地址获取最新的 hosts 内容并刷新。

操作步骤

  1. 创建或下载自动更新脚本
    首先,你需要一个能执行更新操作的脚本。你可以直接使用项目作者提供的脚本。

    打开终端(Terminal),依次执行以下命令:

    bash

    # 1. 进入你的用户目录(通常在 /Users/你的用户名/)
    cd ~
    
    # 2. 创建一个用于存放脚本的目录(如果已有其他目录也可)
    mkdir Scripts && cd Scripts
    
    # 3. 使用 curl 命令下载官方推荐的更新脚本
    # 注意:在执行远程脚本前,最好先检查其内容是否安全 (https://github.com/521xueweihan/GitHub520/blob/main/hosts-tool.sh)
    curl -fsSL https://cdn.jsdelivr.net/gh/521xueweihan/GitHub520@main/hosts-tool.sh -o hosts-tool.sh
    
    # 4. 给下载的脚本赋予可执行权限
    chmod +x hosts-tool.sh
  2. (可选)手动运行一次脚本进行测试
    在设置自动任务前,最好先手动执行一次,确保它能正常工作。

    bash

    # 在终端中运行(需要sudo权限因为它要修改/etc/hosts)
    sudo ./hosts-tool.sh

    输入你的管理员密码后,脚本会自动完成下载、替换和刷新 DNS 的全过程。如果终端没有报错,就说明成功了。你可以马上打开浏览器访问 GitHub 测试一下速度。

  3. 设置定时任务 (crontab)
    crontab 是 Linux 和 macOS 系统自带的定时任务工具,可以让你定期自动执行脚本。

    在终端中输入以下命令来编辑当前用户的定时任务列表:

    bash

    crontab -e
    • 如果你是第一次使用 crontab -e,系统可能会让你选择一个编辑器。强烈建议选择 nano(输入它的序号即可),因为它最简单。

    在打开的编辑器中,添加如下一行

    bash

    # 每天中午12点自动运行更新脚本(请确保将 /path/to/ 替换为你实际存放 hosts-tool.sh 的路径!)
    0 12 * * * sudo /bin/bash /path/to/your/Scripts/hosts-tool.sh >/dev/null 2>&1
    • 重要:你必须将 /path/to/your/Scripts/ 替换成真实的路径。如果你完全按照上面的步骤操作,路径通常是 /Users/你的用户名/Scripts/hosts-tool.sh。如果不确定路径,可以在终端中输入 pwd来查看当前所在目录的绝对路径。

    在 nano 编辑器中的操作:

    • 粘贴好内容并修改路径后,按下 Control + O 来保存文件,然后按回车键确认文件名。

    • 再按下 Control + X 退出编辑器。

    这行配置的意思是:每天 UTC 时间的 12:00(对于中国时区是 UTC+8,即晚上8点)自动以 root 权限执行这个脚本,并将所有输出信息丢弃(不发送邮件提醒)

    关于时间:如果你想在其他时间运行,可以修改开头的时间表达式。例如:

    • 0 9 * * * 每天 UTC 时间 9:00(北京时间为下午5点)执行。

    • 0 20 * * * 每天 UTC 时间 20:00(北京时间为次日凌晨4点)执行。

  4. 允许 cron 访问辅助功能(可能需要的步骤)
    在某些版本的 macOS 上,cron 需要特殊权限才能刷新 DNS 缓存。如果自动任务不生效,你可能需要手动执行一次 sudo ./hosts-tool.sh

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐