Github 快速下载

2020-01-26 Views Python577字3 min read
×

引用

MLA
Tim, Q. "Github 快速下载". Serence, 2020, https://blog.blinkstar.cn/post/grdr/.
APA
Tim, Q. (2020). Github 快速下载. Serence. Retrieved from https://blog.blinkstar.cn/post/grdr/.

Github 高速下载的一种可行方法。

简介

众所周知,Github 在国内时长抽风,并且速度奇慢,一个很小的exe文件都需要下载几十分钟。但是一个网站可以解决这个问题,那就是 jsdelivr

关于 jsdelivr 的介绍可以参考 很好用的免费公用 CDN 资源 JSDelivr - Segmengfault

总的来说 jsdelivr 有如下的优势:

  • 中国大陆唯一有 license 的公有 CDN
jsdelivr CDN 测速
jsdelivr CDN 测速
  • 与 Github、NPM 整合

通过 jsdelivr 可以直接获取 Github 上的数据(这也是 Github 快速下载的基础)

使用

使用 jsdelivr 来下载 Github 的方法有几种,这里主要介绍一种:

  1. 直接访问code处的文件

访问code处的文件十分简单,只要记住如下的公式即可

https://cdn.jsdelivr.net/gh/owner/repo@branch/fileName

其中 owner 是 GitHub 用户名,repo 是仓库名,branch 是分支【默认为 master 】,fileName 是需要下载的文件名

链接的合成可以采用下面这个python程序👇,也可以自己手动拼接!

import os

link = input("请输入需要下载的文件地址(直接拼接仓库地址以及文件名即可):如https://github.com/qyxtim/bitcron-pro/README.md: \n")
index = link.find("/")
reindex = []

while (index != -1):
    reindex.append(index)
    index = link.find('/', index + 1)

if len(reindex) < 5:
    print("输入链接不合法")
    print("建议参考https://blog.blinkstar.cn/post/grd/")
    os.system("pause")
    exit(0)

owner = link[reindex[2]+1:reindex[3]]
repo = link[reindex[3]+1:reindex[4]]
fileName = link[reindex[4]+1:]

print(owner, repo, fileName)

downloadLink = 'https://cdn.jsdelivr.net/gh/' + owner + '/' + repo + '@master/' + fileName
print(downloadLink)
  1. 获取 Github 的 Release

jsdelivr 唯一美中不足的就是它不能获取exe文件以及 Release 处附加的exe和dmg文件。也就是说如果exe文件是附加在 Release 处但是没有在 code 里面的话是无法获取的。但是有了能快速获取 code 处的功能也会有很大的帮助(比如快速下载在 Github 上的电子书、表格等)。但是需要注意电子书的大小不要超过 50MB!

下面附上两个 Github 上的电子书资源:

Classic books of computer science
计算机书籍

总的来说,使用 jsdelivr 来加速 Github 的下载限制颇多,但在实在难以下载的时候也算是一种临时的解决方案!

References

[1]
  

很好用的免费公用 CDN 资源 JSDelivr - Segmengfault: https://github.com/qyxtim/bitcron-pro


EOF