Sink 无服务器短链 + 分析:Cloudflare Pages 极速部署全流程

Sink 是什么

Sink 是一款无服务器的短链与分析服务,部署在 Cloudflare Pages 即可上线,无需额外服务器费用。核心特性:

  • URL 缩短,支持自定义 slug、区分大小写
  • AI Slug 自动生成
  • 链接过期时间
  • 分析统计(点击量、来源等)
  • 全流程 0 服务器,Cloudflare 免费额度即可跑起来

演示站(作者示例):https://sink.001315.xyz,访问密码 aizrfcom

Sink 仪表盘预览
前端页面示意

0. 前置准备

  • Cloudflare 账号(可用 Pages、KV、Workers AI、Analytics Engine)
  • GitHub 账号(用于 Fork 仓库、接入 Pages)
  • 已克隆的图片链接(下文已按顺序插图,替换成你本地托管的链接即可)

1. Fork 仓库并准备自动同步

  1. 访问仓库:https://github.com/ccbikai/Sink,Fork 一份到自己的账户。
  2. 若想自动与上游同步,可参考作者的同步脚本:https://blog.aizrf.com/p/64

Fork 仓库示意

2. Cloudflare Pages 连接 Git

  1. Cloudflare 控制台 → Pages → “连接到 Git”,选择刚 Fork 的项目。
  2. 框架预设选 Nuxt.js,构建命令/输出目录保持默认。部署页先别关,用来抄环境变量。

Pages 连接到 Git
框架选择 Nuxt.js
保持页面,后续填环境变量

3. 准备环境变量(必填)

需在 Pages 的构建环境里添加下列变量(值示例请替换为你自己的):

  • NUXT_SITE_TOKEN:仪表盘登录密码,需 ≥ 8 字符,例如 aizrfcom123
  • NUXT_CF_ACCOUNT_ID:Cloudflare 账户 ID(右上角切换域名后右侧可见)。
  • NUXT_CF_API_TOKEN:只需“账户分析”权限的 API Token。

查找 Account ID

生成 API Token 步骤:

  1. 右上角“配置文件”→ API 令牌 → “创建 API 令牌”。
  2. 模板选“读取分析数据和日志”(只保留“账户分析”,其他删除)。
  3. 自定义名称如 sink 便于辨识。创建后 仅显示一次,请妥善保存。

进入 API 令牌
选择读取分析数据和日志
命名并保留账户分析权限
Token 只显示一次

在 Pages 环境变量页填好上述三项,保存后继续。

环境变量填写示例
继续部署提示

4. 创建并绑定 KV / Workers AI

  1. Cloudflare → 储存与数据库 → KV → 新建命名空间(例:sink)。
  2. 回到 Pages 的 环境变量/绑定 面板,添加绑定:
    • 类型:KV 命名空间
    • 变量名:KV(必须大写)
    • 选择刚才创建的命名空间

创建 KV 命名空间
绑定变量名 KV

  1. 同样添加 Workers AI 绑定:
    • 类型:Workers AI
    • 变量名:AI(必须大写)

绑定变量名 AI

5. 开启 Analytics Engine 并绑定

  1. 账户级设置中开启 Analytics Engine → 数据分享
  2. 回到 Pages 绑定面板,添加 Analytics Engine:
    • 变量名:ANALYTICS(大写)
    • 数据集名:自定义(示例 sink

开启 Analytics Engine
确认已启用
绑定变量名 ANALYTICS

6. 重新部署并绑定自定义域名

  1. 返回 Pages 项目部署页,点击 重新部署 使 KV/AI/Analytics 生效(约 2 分钟)。
  2. 部署完成后,可在 Pages 中绑定自定义域名(示例:sink.001315.xyz),按提示在 DNS 添加 CNAME 记录。

触发重新部署
绑定自定义域名
域名验证示例
自定义域名上线
访问确认

7. 常见问题与优化

  • 403 / 权限不足:确认 API Token 仅含“账户分析”权限,Account ID 正确。
  • 变量未生效:修改 KV/AI/Analytics 后务必重新部署。
  • AI Slug 不生成:检查 Workers AI 绑定是否为大写 AI,且账户地区支持 AI。
  • 统计无数据:确认 Analytics Engine 已启用并绑定 ANALYTICS,等待几分钟再看。
  • 自动同步上游:可在 GitHub Actions 或定时任务里跑 upstream sync(参考上游提供的脚本)。

8. 相关链接

  • 上游仓库:https://github.com/ccbikai/Sink
  • 演示站:https://sink.001315.xyz(密码 aizrfcom
  • 自动同步 Fork:https://blog.aizrf.com/p/64

现在,你的 Sink 短链 + 分析服务已经在 Cloudflare Pages 上线,零服务器成本即可使用。享受超低延迟与便捷统计吧!