利用 jsDelivr 加速 API

由于在国内直接访问 Cloudflare 代理的网站和 API 是真的很慢

因此把目光盯上了 jsDelivr…

Why

old.jimmy0w0.me 是一个自嗨网站,主要是看无样式的网页很爽 (说是现在没样式,不过可能以后会有一些用来优化网站可读性)

里面的日志功能是与本站同步的,利用的是一个 Hexo RESTful API 的插件

但问题是,从国内访问 Cloudflare 速度确实是感人,即使是单单加载一个 JSON 也需要上几秒钟

jsDelivr

于是我突然想起来这个东西,是因为 jsDelivr 的几大服务器节点赞助商中,QUANTIL 是在中国境内设立有合法的服务器机房和 CDN 节点的

甚至在杭州这里就有一个节点,住在这里直接有距离 Buff

Hexo 生成的 API 目录是在 public 文件夹下的 api 中,因为是私人项目,因此需要另外建立一个新的仓库来存放 API 内容

在 GitHub Actions 中当 Hexo 生成完毕之后,定位到 api 目录下进行 Git 仓库初始化,暂存和提交,以及 Push

最后使用如下方式访问可以看到所有的 API 文件:

https://cdn.jsdelivr.net/gh/JimmyRice/moe-API/

如果要获取文章列表,可以使用:

https://cdn.jsdelivr.net/gh/JimmyRice/moe-API/posts.json

除了从 moe.jimmy0w0.me/api/ 变成了 https://cdn.jsdelivr.net/gh/JimmyRice/moe-API/

其他都没什么不同,速度倒是提升非常非常多

只要有人访问过一次其中的某一个文件,就会被缓存到 CDN 中,下次访问秒加载