Github访问加速

Github访问加速

由于近些年GitHub分发网络被dns污染严重,导致国内用户访问速度巨慢,解决方法也有不少,详情参考“参考文献中的内容”

加速方法

  1. 使用镜像网站或代理网站
  2. cdn加速
  3. 转入gitee加速

使用镜像网站

镜像网站地址:

  1. https://github.com.cnpmjs.org/ (常用)
  2. https://hub.fastgit.org/ (常用)
  3. https://gitclone.com/
  4. https://github-dotcom.gateway.web.tr/
  5. https://hub.xn–p8jhe.tw/?imyshare.com=friends
  6. https://hub.xn–gzu630h.xn–kpry57d/?imyshare.com=friends
  7. https://gh.api.99988866.xyz/
  8. https://toolwa.com/github/
  9. https://ghproxy.com/ (代理加速)
  10. https://www.7ed.net/gra/ (raw加速)

CDN加速

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

需要注意的是,Hosts文件配置的映射是静态的,如果网络上的计算机更改了请及时更新IP地址,否则将不能访问。

CDN加速便是通过修改Hosts文件,绕过国内的dns解析,直达githubip地址,从而加速访问。

以下三个网站是常用的访问链接:

  1. github.com
  2. assets-cdn.github.com
  3. github.global.ssl.fastly.net

首先在网址:https://www.ipaddress.com/中查询上述域名的ip地址,然后对应添加至Hosts中即可,如下图:

Github访问加速

Github访问加速

Github访问加速

由于直接添加会有权限问题,所以先把Hosts文件复制到桌面上,然后把复制的文件修改以后,再替换回去即可。

一个简单的爬虫脚本

由于每个人的位置不一样,所查询到的ip可能也不一样,而且github的主机自身可能也会变动ip,所以写了个简单的爬虫脚本处理了一下,运行以后复制进去就行,Linux用户直接用即可!(full_domain列表中是github中几乎全部会用到的域名,强迫症患者可以对应打开修改)

import requests
import time
import sys
import random
import urllib3
from bs4 import BeautifulSoup

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

heads = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}

# All the options
# full_domain = [github.githubassets.com, central.github.com, desktop.githubusercontent.com, camo.githubusercontent.com, github.map.fastly.net, github.global.ssl.fastly.net, gist.github.com, github.io, github.com, assets-cdn.github.com, api.github.com, raw.githubusercontent.com, user-images.githubusercontent.com, favicons.githubusercontent.com, avatars5.githubusercontent.com, avatars4.githubusercontent.com, avatars3.githubusercontent.com, avatars2.githubusercontent.com, avatars1.githubusercontent.com, avatars0.githubusercontent.com, avatars.githubusercontent.com, codeload.github.com, github-cloud.s3.amazonaws.com, github-com.s3.amazonaws.com, github-production-release-asset-2e65be.s3.amazonaws.com, github-production-user-asset-6210df.s3.amazonaws.com, github-production-repository-file-5c1aeb.s3.amazonaws.com, githubstatus.com, github.community, media.githubusercontent.com]

website = "https://websites.ipaddress.com/"
# Necessary options
des_domain = ["github.com","assets-cdn.github.com","github.global.ssl.fastly.net"]
des_ip = []

def getip(domain):
    url = website + domain
    try:	
        res = requests.get(url,timeout=30,headers=heads,verify=False)
        res.encoding = 'UTF-8'
        content = res.text
        #print(content)

        soup = BeautifulSoup(content,'html.parser')

        iplist = soup.find('ul',class_='comma-separated')
        iptmp = str(iplist.find("li").text) + "    " + domain
        print(iptmp)
    except:
        print("[\033[31m############   Something Error  #############\033[0m](\033[31m%s\033[0m)"% (url))
        iptmp = '' 

    des.write(iptmp + "\n")

if __name__ == '__main__':
    try:
        # Used in Windows
        # des = open("/mnt/c/Windows/System32/drivers/etc/hosts","a")
        # Used in Linux
        des = open("/etc/hosts","r")
        if "github" in str(des.readlines()):
            des.close()
            print("github dns configuration is already done!\n")
            sys.exit(0)

        des.close()
        des = open("/etc/hosts","a")
        print("# Add by mxdon, you can remove duplicate options manually\n")
        des.write("# Add by mxdon, you can remove duplicate options manually\n")
        for idomain in des_domain:
            getip(idomain)

    except:
        des.close()

转入Gitee加速

gitee可以直接将githubgitlab的仓库转入,所以只要知道想要访问的github地址,直接导入gitee即可:完成后访问速度超级快!!(已经操作过数十个项目啦~)

Github访问加速

如上图,一般比较有名的项目在gitee上已经被同步了,也可以直接用,但有时候不是最新的,有洁癖的朋友自行选择噢~

*违法,请勿随意*!!

参考文献

github访问加速 - 知乎

提高国内访问 github 速度的 9 种方法! - 知乎

Github RAW 加速服务 - 7ED Service

github 镜像站_CHAOS_ORDER的博客-CSDN博客_github镜像站

那些你用得上的镜像网站 - SegmentFault 思否

hosts_百度百科

最后,点个关注不迷路

Github访问加速

上一篇:swiper 点击滑动功能属性


下一篇:页面轮播