解決 Github 國內訪問問題

鹹魚愛前端發表於2021-05-18

為什麼訪問不了以及訪問速度會很慢?

GitHub 在中國大陸訪問速度慢的問題原因有很多,但最直接和最主要的原因是 GitHub 的分發加速網路的域名遭到 DNS 汙染。 由於 GitHub 的加速分發 CDN 域名 assets-cdn.github.com 遭到DNS汙染,導致無法連線使用GitHub的加速分發伺服器,才使得中國大陸訪問速度很慢。

如何解決DNS汙染?

一般的 DNS 問題都可以通過修改 Hosts 檔案來解決,GitHub 的 CDN 域名被汙染問題也不例外,同樣可以通過修改 Hosts 檔案解決。 將域名解析直接指向 IP 地址來繞過 DNS 的解析,以此解決汙染問題。 因此主要解決思路是修改 Host 檔案。

如何修改 Host 檔案

方法來源於 github.com/521xueweiha…

複製下面的內容

# GitHub520 Host Start
185.199.108.154               github.githubassets.com
140.82.112.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.113.3                  gist.github.com
185.199.108.153               github.io
140.82.112.4                  github.com
140.82.112.5                  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.9.156                  github-cloud.s3.amazonaws.com
52.217.37.76                  github-com.s3.amazonaws.com
52.216.142.132                github-production-release-asset-2e65be.s3.amazonaws.com
52.217.85.124                 github-production-user-asset-6210df.s3.amazonaws.com
52.216.25.84                  github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153               githubstatus.com
64.71.168.201                 github.community
185.199.108.133               media.githubusercontent.com
複製程式碼

不同系統更換教程

Windows

Windows的 Hosts 檔案位於C:\Windows\System32\drivers\etc,修改前建議備份一份 Hosts 檔案

  1. 以管理員許可權編輯 Hosts 檔案,將上面的資訊新增到 Hosts 檔案中,儲存

  2. 更新DNS快取

    # 開啟 CMD 或 PowerShell (以管理員許可權)執行如下命令
    ipconfig /flushdns
    複製程式碼

Tips: 上述方法無效可以嘗試重啟機器。

Linux

Linux 的 Hosts 檔案位於/etc/hosts,修改前建議備份一份 Hosts 檔案

cp hosts host_old
複製程式碼
  1. 以管理員許可權編輯 Hosts檔案(以Vi 為例,可使用其他編輯器)

    sudo vi /etc/hosts
    複製程式碼
  2. i進入編輯模式,將上面的資訊新增到 Hosts 檔案中

  3. Esc鍵退出編輯模式,輸入:wq!強制儲存退出。

  4. 更新DNS快取

    sudo nscd restart
    複製程式碼

    如報錯則須安裝nscd

    sudo apt install nscd
    複製程式碼

Tips: 上述方法無效可以嘗試重啟機器。

MacOS

MacOS 的 Hosts 檔案位於/etc/hosts,修改前建議備份一份 Hosts 檔案

cp hosts host_old
複製程式碼
  1. 編輯Hosts檔案(以Vi 為例,可使用其他編輯器)

    sudo vi /etc/hosts
    複製程式碼
  2. i進入編輯模式,將上面的資訊新增到 Hosts 檔案中

  3. Esc鍵退出編輯模式,輸入:wq!強制儲存退出。

  4. 更新DNS快取

    sudo killall -HUP mDNSResponder
    複製程式碼

Tips: 上述方法無效可以嘗試重啟機器。

方法來源於 github.com/521xueweiha…

相關文章