操作步驟:
打開終端
Command + 空格
?聚焦搜索“終端”,打開應用。執行一鍵腳本
復制以下命令粘貼到終端運行(需輸入密碼授權):bash
sed -i "" "/# GitHub520 Host Start/,/# Github520 Host End/d" /etc/hosts && curl https://raw.hellogithub.com/hosts >> /etc/hosts
作用:
刪除舊 GitHub520 規則
拉取最新 Hosts 配置追加到系統文件34
刷新 DNS 緩存
bash
sudo killall -HUP mDNSResponder # Monterey 及更新系統 sudo dscacheutil -flushcache # 可選,雙重刷新:cite[2]:cite[4]
方法二:設置自動跟新host
在 Mac 上設置 GitHub520 自動更新
推薦使用官方提供的 Shell 腳本方案,這是最直接、最可靠的方法。
方法一:使用官方自動腳本(推薦)
這個方案通過一個?crontab
?定時任務,每天自動從項目地址獲取最新的 hosts 內容并刷新。
操作步驟
創建或下載自動更新腳本
首先,你需要一個能執行更新操作的腳本。你可以直接使用項目作者提供的腳本。打開終端(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
(可選)手動運行一次腳本進行測試
在設置自動任務前,最好先手動執行一次,確保它能正常工作。bash
# 在終端中運行(需要sudo權限因為它要修改/etc/hosts) sudo ./hosts-tool.sh
輸入你的管理員密碼后,腳本會自動完成下載、替換和刷新 DNS 的全過程。如果終端沒有報錯,就說明成功了。你可以馬上打開瀏覽器訪問 GitHub 測試一下速度。
設置定時任務 (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點)執行。
允許 cron 訪問輔助功能(可能需要的步驟)
在某些版本的 macOS 上,cron
?需要特殊權限才能刷新 DNS 緩存。如果自動任務不生效,你可能需要手動執行一次?sudo ./hosts-tool.sh
。