Github访问加速
由于近些年
GitHub
分发网络被dns
污染严重,导致国内用户访问速度巨慢,解决方法也有不少,详情参考“参考文献中的内容”
加速方法
- 使用镜像网站或代理网站
-
cdn
加速 - 转入
gitee
加速
使用镜像网站
镜像网站地址:
- https://github.com.cnpmjs.org/ (常用)
- https://hub.fastgit.org/ (常用)
- https://gitclone.com/
- https://github-dotcom.gateway.web.tr/
- https://hub.xn–p8jhe.tw/?imyshare.com=friends
- https://hub.xn–gzu630h.xn–kpry57d/?imyshare.com=friends
- https://gh.api.99988866.xyz/
- https://toolwa.com/github/
- https://ghproxy.com/ (代理加速)
- https://www.7ed.net/gra/ (raw加速)
CDN
加速
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
需要注意的是,Hosts文件配置的映射是静态的,如果网络上的计算机更改了请及时更新IP地址,否则将不能访问。
CDN
加速便是通过修改Hosts
文件,绕过国内的dns
解析,直达github
的ip
地址,从而加速访问。
以下三个网站是常用的访问链接:
github.com
assets-cdn.github.com
github.global.ssl.fastly.net
首先在网址:https://www.ipaddress.com/中查询上述域名的ip
地址,然后对应添加至Hosts中即可,如下图:
由于直接添加会有权限问题,所以先把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
可以直接将github
或gitlab
的仓库转入,所以只要知道想要访问的github
地址,直接导入gitee
即可:完成后访问速度超级快!!(已经操作过数十个项目啦~)
如上图,一般比较有名的项目在gitee
上已经被同步了,也可以直接用,但有时候不是最新的,有洁癖的朋友自行选择噢~
*违法,请勿随意*!!
参考文献
github 镜像站_CHAOS_ORDER的博客-CSDN博客_github镜像站