Sink 是一个基于 Cloudflare 的开源短链接项目。对我这种偶尔做点项目,又不想花钱买 SaaS 的独立开发者来说,简直是神器!

为什么我选择 Sink?
我其实早就想用短链接了,但市面上像 bit.ly 这些服务,收费实在太贵了,一个月动辄几十美元。作为一个爱捣鼓但钱包很瘪的 indie hacker,真的下不去手。
后来刷论坛的时候,在评论区无意看到有人提到了这个叫 Sink 的项目。点进去一看,发现是用 Cloudflare 的 Worker + KV 存储 + Analytics Engine 组合开发的——这仨在 free plan 都能用!
也就是说,整个服务部署下来,完全不用花一分钱,还能享受 Cloudflare 背后的强大基础设施支持。对个人项目来说,这个性价比,简直吊打市面一众付费短链服务。

Sink 主要功能一览
下面是它的一些核心功能:
功能名称 | 功能描述 |
---|---|
URL 缩短 | 支持将任意链接压缩成短链,访问体验丝滑 |
数据分析 | 内置统计功能,监控点击数据,生成分析图表 |
无服务器部署 | 全部基于 Cloudflare,无需传统后端服务器 |
自定义短链 | 支持自定义别名,大小写敏感(例如 abc 和 ABC 可区分) |
AI 生成短链 | 提供 AI 方式生成有趣或可读性更高的短链 |
链接有效期控制 | 支持设置短链的过期时间,到期自动失效 |

界面体验
仪表盘和数据分析界面设计得很简洁直观,不用培训也能上手。

尤其是分析功能这块,直接拉数据、出图表,完全就是一个小型的“数据看板”,对我这种只想快速验证链接效果的场景非常合适。

还有非常炫酷的实时访客效果,简直了!

部署流程
Sink 官方给的部署流程已经很清晰了,我就按步骤带大家快速过一遍(不多,就 5 步):
-
Fork 仓库: 项目地址是 https://github.com/ccbikai/Sink
-
创建 KV 存储: 到 Cloudflare 后台创建一个 KV,保存它的 ID。
-
配置 wrangler.jsonc: 把你 fork 后仓库里的
wrangler.jsonc
里的 kv ID 换成自己的。 -
新建 Worker: 配好构建命令
npm run build
和部署命令npx wrangler deploy
。 -
添加环境变量:
-
NUXT_SITE_TOKEN
(仪表盘密码) -
NUXT_CF_ACCOUNT_ID
(Cloudflare 账户 ID) -
NUXT_CF_API_TOKEN
(用于访问分析引擎)
-
-
开启分析引擎并创建数据集: 在 Cloudflare 后台启用 Analytics Engine,然后新建一个 Dataset,名字叫
sink
(非常重要,否则部署会报错)。
安全提醒
-
NUXT_SITE_TOKEN
就是后台登录的密码,建议设得复杂点,别被扫进后台搞破坏。 -
NUXT_CF_API_TOKEN
推荐只赋予 Analytics Engine 权限,避免暴露更多 Cloudflare 权限。 -
官方文档提到 “Set up Analytics Engine”,我自己部署的时候倒是没出现这一步,可能之前已经默认开启了。但记得一定要手动创建名为
sink
使用建议
权限隔离:单独创建一个Cloudflare子账号操作,避免主账号密钥泄露
短链黑名单:在后台屏蔽敏感关键词(比如admin
),防止撞库攻击
自动清理旧链接:利用过期功能定期清理低活跃短链(节省KV存储)
对接API:官方提供开发者接口,可集成到自己的CMS系统
写在最后
对于像我这样喜欢搭点实用工具、但又懒得管后端运维的开发者来说,Sink 真的是太香了。不但免费、部署简单,还有一套分析系统傍身,非常适合用于小项目、推广页、AI 工具入口等等场景。