Sink ⚡

Sink 是一个带有分析功能的简单、快速、安全的链接缩短器。它可以快速部署到 Cloudflare Pages,不花一分钱。本文将详细介绍如何使用 Sink 部署一个功能强大的链接缩短器,它不仅支持 URL 缩短,还提供了丰富的分析功能和自定义选项,确保你的链接管理更加高效和安全。


界面预览


应用特点

  • URL 缩短:将您的 URL 压缩到最短长度。
  • 分析学:监控链路分析并收集有洞察力的统计数据。
  • 无服务器:无需传统服务器即可部署。
  • 可自定义的 Slug:支持个性化 slug 和 区分大小写。
  • AI Slug:利用 AI 生成 slug。
  • 链接过期:设置链接的到期日期。

设置自动更新 Fork

自动同步项目参考本篇博文:使用GitHub Actions自动同步fork的项目


Fork 项目

  1. 首先打开 https://github.com/ccbikai/Sink 在 GitHub 上 Fork 项目,并点个 Star 给与项目作者支持与鼓励!

Cloudflare部署

  1. 选择 Pages → 连接到GIT
  1. 框架预设 选择 Nuxt.js 部署的页面不要关掉,获取下方的环境变量并填写。

获取环境变量

NUXT_PUBLIC_PREVIEW_MODE=true
NUXT_PUBLIC_SLUG_DEFAULT_LENGTH=5
NUXT_SITE_TOKEN=SinkCool
NUXT_REDIRECT_STATUS_CODE=308
NUXT_LINK_CACHE_TTL=60
NUXT_REDIRECT_WITH_QUERY=false
NUXT_HOME_URL=”https://sink.cool“
NUXT_CF_ACCOUNT_ID=123456
NUXT_CF_API_TOKEN=CloudflareAPIToken
NUXT_DATASET=sink
NUXT_AI_MODEL=”@cf/meta/llama-3-8b-instruct”
NUXT_AI_PROMPT=”You are a URL shortening assistant……”

  1. NUXT_SITE_TOKEN 我这里设置aizrfcom必须超过 8 个字符。这是登录仪表板的密码。

  2. NUXT_CF_ACCOUNT_ID 打开新的页面 https://dash.cloudflare.com/login 随便选择一个你的域名点进去,右侧下拉就可以看到 帐户 ID 复制去添加。

  1. NUXT_CF_API_TOKEN 最右上角 配置文件
  1. 创建API令牌
  1. 选择阅读分析数据和日志
  1. 创建令牌的名称为 sink 当然你也可以默认,如果你项目多了,可能不知道这个 token 是干嘛的,建议备注名称,删除模板中其他两个,只保留 账户分析 。随后最下方点击 继续以显示摘要 → 创建API令牌
  1. 找地方保存下来,这 token 只显示一次。
  1. 这是我填写完的效果,除了环境变量的值,你的与我不同,其他必须和图片一模一样,填写完成选择 保存并部署 。
  1. 然后选择 继续处理项目 会出现一个提示点 继续 。

创建与绑定 KV命名空间 和 Workers AI

  1. 来到 储存和数据库 → KV 名称随便取, 我这里设置 sink 并 添加 。
  1. 看图操作,注意 KV命名空间 的 变量名称 一定是大写 KV 不要写错,然后保存。
  1. Workers AI 的 变量名称 一定是大写 AI 不要写错,然后保存。
  1. 帐户详细信息下方,启用 分析引擎 → 数据分享功能。
  1. 回到项目 设置 看图操作,注意 Analytics Engine 的 变量名称 一定是大写 ANALYTICS 不要写错,值为 sink
  1. 好了,所有设置完成,在项目 部署页面 进行 重新部署 使刚设置的配置生效。部署时间大概为两分钟左右。
  1. 这个时间去设置一个自定义域名

登录仪表盘

  1. 打开自定义域名,豋录sink仪表盘
  1. 输入前面变量NUXT_SITE_TOKEN仪表盘登录密码
  1. 创建链接