本文最后更新于 360 天前,其中的信息可能已经有所发展或是发生改变。
前言
最开始是看上了 cz.cyou 这个短的域名,还是个便宜溢价域名,就买了(从第二年开始溢价的域名,没见过吧),然后短域名当然想做短链啦,之前有一个 s.orangii.cn 作为跳转链接,但是既然跳了肯定要更短一点;但是不想再备案,就只能用国外服务器了,正巧看到 CF Pages 的 Functions 功能,就可以在边缘节点执行自定义功能,配合 CF Workers KV,可以用键值对表示短链源地址和目的地址,就可以做到无后端的短链跳转了。成果如下
功能
- 最基础的肯定就是 URL 跳转功能了,基于其绑定的 KV 决定跳转目标。体验:https://cz.cyou/random → 跳转到本博客的随机文章页。
- Gravatar 头像镜像:使用
https://cz.cyou/avatar/
作为镜像源即可,在线体验:https://cz.cyou/#gravatar-mirror 输入自己的邮箱就可以查看,所有 Gravatar 支持的参数都可以,有一天的缓存。 - Github 静态文件镜像:将静态文件 url 添加到
https://cz.cyou/gh/
后即可,在线生成:https://cz.cyou/#gh-static-mirror。功能来自于 hunshcn/gh-proxy,支持raw content、release等的镜像,没有缓存。
部署自己的实例
参考 Github 仓库的 README 来创建一个 KV、部署 Pages、设置 Pages Functions 及 KV namespace,然后设置按格式设置 KV 键值对即可添加 URL 跳转。
可以参考之前的从Github Pages迁移至CloudFlare Pages,提升一点点的速度来辅助。
后续计划
其他的东西
原理就是通过 [[path]].ts 匹配通配符路径,以及其他 functions 目录和文件进行匹配,然后到对应路径获取资源或通过 KV 获取目的地址。
其实还有一个 api,获取 md5 值,是 $host/api/md5/${text},以纯文本返回。所以头像那个预览并不会记录你的邮箱信息。
希望不要被直接copy走改掉版权发布吧,直接使用我的服务也可以,暂时还没有超过 functions 限制。
点个Star吧!
好东西
可惜,域名突然变溢价,现在换成orang.ee了
我这里今天打开速度飞快。
不理解,不过后面可能就都能打开了吧