此项目已终止,因为其思路违反了JsDelivr的使用条约
引子
百度(毒)网盘,相信很多人都用过哈。

它很好,很优秀,可是…
它限速😭
所以我想到了这个主意。
本文是一个开发指导,由于我的时间不够,可能要等到明年才能实现,读者可以先尝试一下。
特点
众所周知,Github是很良心的!

因此诞生了很多诸如picsgo这样的程序。而我的构思其实也差不多。但主要有以下不同:
- 主打的文件存储对象不同:picsgo这类程序,主要就是当个图床,本程序计划将任何文件都上传
- 文件处理方式不同:为了达到第一条所述效果,必定要对文件进行切片处理。
- 全程cdn:Github自带cdn(jsdelivr),看了一下,速度不错,下载链接肯定要用cdn的链接(注:本篇博客所用图片均使用CDN加速)
- 可选加密:由于存储内容不同,所以有些文件可能不愿分享,我的想法是通过sha-256算法进行加密,密钥由用户保存。当然,若愿意分享,则不加密。
- 管理方式不同:由于一些文件会切片,或加密,那么就需要标识起来。我的想法是生成元文档,将文件的切片关系记录,而在存储的时候,将同一文件的所有切片,上传到与该文件同名的文件夹中。
- and so on.
技术资料
刚刚给了点思路,现在把一些注意点(资料)记录一下。
Github
本程序将文件存储在Github,很良心,但有限制
- 单仓库文件不得超过100GB(强烈推荐不超过1GB)
- 单文件不得超过100MB
JSdelivr CDN
想要速度,cdn必不可少,但它也有限制
- 若要缓存,单文件大小限制为20MB,缓存在Amazon S3存储上,release版本代码及内容永久保留,即使在Github删除
- 要用cdn加速,单文件不得超过50MB。
- 刷新仓库有时延,但可通过@master @latest(@latest好像不管用)强制刷新,如果还不行,就直接请求目标文件。
补充一下:
是否缓存要从两面去看,如果文件经常修改,建议不要缓存。

