OOPS,我有了个…主意--gitpan


此项目已终止,因为其思路违反了JsDelivr的使用条约

引子

百度(毒)网盘,相信很多人都用过哈。

ducloud

它很好,很优秀,可是…

它限速😭

所以我想到了这个主意。

本文是一个开发指导,由于我的时间不够,可能要等到明年才能实现,读者可以先尝试一下。

特点

众所周知,Github是很良心的!

github

因此诞生了很多诸如picsgo这样的程序。而我的构思其实也差不多。但主要有以下不同:

  • 主打的文件存储对象不同:picsgo这类程序,主要就是当个图床,本程序计划将任何文件都上传
  • 文件处理方式不同:为了达到第一条所述效果,必定要对文件进行切片处理。
  • 全程cdn:Github自带cdn(jsdelivr),看了一下,速度不错,下载链接肯定要用cdn的链接(注:本篇博客所用图片均使用CDN加速
  • 可选加密:由于存储内容不同,所以有些文件可能不愿分享,我的想法是通过sha-256算法进行加密,密钥由用户保存。当然,若愿意分享,则不加密。
  • 管理方式不同:由于一些文件会切片,或加密,那么就需要标识起来。我的想法是生成元文档,将文件的切片关系记录,而在存储的时候,将同一文件的所有切片,上传到与该文件同名的文件夹中。
  • and so on.

技术资料

刚刚给了点思路,现在把一些注意点(资料)记录一下。

Github

本程序将文件存储在Github,很良心,但有限制

  1. 单仓库文件不得超过100GB(强烈推荐不超过1GB
  2. 单文件不得超过100MB

JSdelivr CDN

想要速度,cdn必不可少,但它也有限制

  1. 若要缓存,单文件大小限制为20MB,缓存在Amazon S3存储上,release版本代码及内容永久保留,即使在Github删除
  2. 要用cdn加速,单文件不得超过50MB。
  3. 刷新仓库有时延,但可通过@master @latest(@latest好像不管用)强制刷新,如果还不行,就直接请求目标文件。

补充一下:

是否缓存要从两面去看,如果文件经常修改,建议不要缓存。


文章作者: Micraow
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Micraow !
评论
  目录