一个基于 Cloudflare Pages Functions 的多功能网站
本文最后更新于 336 天前,其中的信息可能已经有所发展或是发生改变。

前言

最开始是看上了 cz.cyou 这个短的域名,还是个便宜溢价域名,就买了(从第二年开始溢价的域名,没见过吧),然后短域名当然想做短链啦,之前有一个 s.orangii.cn 作为跳转链接,但是既然跳了肯定要更短一点;但是不想再备案,就只能用国外服务器了,正巧看到 CF Pages 的 Functions 功能,就可以在边缘节点执行自定义功能,配合 CF Workers KV,可以用键值对表示短链源地址和目的地址,就可以做到无后端的短链跳转了。成果如下

cz.cyou 截图

功能

  1. 最基础的肯定就是 URL 跳转功能了,基于其绑定的 KV 决定跳转目标。体验:https://cz.cyou/random → 跳转到本博客的随机文章页。
  2. Gravatar 头像镜像:使用 https://cz.cyou/avatar/ 作为镜像源即可,在线体验:https://cz.cyou/#gravatar-mirror 输入自己的邮箱就可以查看,所有 Gravatar 支持的参数都可以,有一天的缓存。
  3. 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吧!

文章首发于https://blog.orangii.cn/2022/cloudflare-pages-functions/,转载请注明出处。博客所有文章遵循CC BY-NC 4.0协议

评论

  1. Windows Chrome
    2 年前
    2022-10-01 1:15:11

    我这里今天打开速度飞快。

    • 博主
      土拨许
      Windows Chrome
      2 年前
      2022-10-01 9:47:05

      不理解,不过后面可能就都能打开了吧

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
橙橙梓
甘城猫猫
颜文字
Emoji
小恐龙
花!
上一篇
下一篇