现在网络上大部分公益项目都为 jsDelivr 提供镜像加速,此时用户的资源文件必须从源服务器经 jsDelivr 再绕过公益服务才能回到用户手上。本身 jsDelivr 也回源 GitHub 和 NPM,那么为什么不从源拉起?
那好,那就从源拉起。
域名
目前,JSEW 的域名已经开启中国大陆境内和境外双 CDN 加速,为用户提供快速的服务。
使用 s.cky.qystu.cc
替换 fastly.jsdelivr.net
, cdn.jsdelivr.net
作为加速域名,遵循中国大陆相关地区的法律法规。
端点
目前仅支持使用
/gh
和npm
,并且自动开启 HTTPS 访问与 Gzip 压缩。
GitHub
GitHub 文件来源于 raw.githubusercontent.com
,将自动转换路径,API 如下:
/gh/[USER_NAME]/[REPO_NAME]@[BRANCH_NAME]/[FILE]
请求链接:
代码语言:javascript复制https://s.cky.qystu.cc/gh/detalkjs/client@master/dist/detalk.js
需要注意的是,部分 CDN 的缓存时间会比较长,如果是仓库 master
等变动较快的分支不建议使用。如果你需要实时获取最新的 Commit,那么请在请求 URL 后追加 !latest
,这样 JSEW 会自动 307 跳转至最新的 Commit Tag.
同时,如果没有指定分支名,则会自动默认为 master
。
NPM
NPM 文件来源于 www.npmjs.com
,将自动转换路径并获取文件 Hex,API 如下:
/npm/[PACKAGE_NAME]@[VERSION]/[FILE]
请求链接例如:
代码语言:javascript复制https://s.cky.qystu.cc/npm/@detalk/static@1.3.2/dist/detalk.js
如果当版本号为 @latest
时,为了避免缓存问题,将会自动 307 跳转至最新的版本号。
如果版本号为 @1
等只包含 major
或 minor
的形式时,将会自动 307 跳转至最新的以指定版本号为限制条件的完整版本号。
例如:
代码语言:javascript复制https://s.cky.qystu.cc/npm/@detalk/static@1/dist/detalk.js
Redirect to =>
https://s.cky.qystu.cc/npm/@detalk/static@1.3.2/dist/detalk.js
代码语言:javascript复制https://s.cky.qystu.cc/npm/@detalk/static@1.2/dist/detalk.js
Redirect to =>
https://s.cky.qystu.cc/npm/@detalk/static@1.2.1/dist/detalk.js
为了避免潜在问题,即使不指定版本号,也必须指定 @latest
,否则无法访问。
自动压缩
除 Gzip 压缩外,目前 CKY#JSEW 还兼容部分文件的自动压缩功能。
例如,请求 main.min.js
文件,而目录下无对应文件,只有 main.js
,那么则会自动获取 main.js
并进行压缩返回。
此功能目前适用于 CSS 与 JavaScript,只有在请求文件为 .min.js
或 .min.css
且对应文件不存在时可用。
感谢您对公益服务的支持!