简洁、美观且免费使用的开源短链接项目-sink
发布于: 2025-5-28
最后更新: 2025-5-31
type
status
date
slug
summary
tags
category
icon
以前尝试过一些短链接项目,比如 bit.ly,但是这些网站的收费太贵了,对于我这样的一个业余用户来说属于无法负担的成本,然后某一天刷论坛时在评论区刷到了一个基于 cloudflare 产品开发的短链接项目- sink
同时面条大佬我在推特上也已经关注了很久,那种突然发现一个好项目,结果好项目是一个自己以及关注了很久的人开发的,算是一个小惊喜😄
面条大佬的推特:https://x.com/miantiao_me

介绍

sink 使用了 cloudflare 的 worker、kv存储 以及分析引擎(Analytics Engine),这三种产品都在 free plan 里面,因此可以完全免费的使用它。
最让我觉得惊喜的就是可以有免费的数据分析,背靠 cloudflare,在个人的小网站使用时,基本都不会超出 free plan 提供的额度,相比于一些短链接 saas 产品,动辄几十美元一个月的付费计划,sink 简直不要太香!

一些使用截图

仪表盘:
notion image
数据分析:
notion image

部署教程

一直以来,我都认为官方提供的部署教程是最好的,因为官方会一直更新,因此我在这里会贴出官方的部署教程地址:https://github.com/ccbikai/Sink/blob/master/docs/deployment/workers.md
整个部署过程非常简单,一共分为五步:
  • 创建KV存储,并保存 id
  • 替换自己fork的仓库的 wrangler.jsonc 文件中的 kv_namespaces ID
  • 新建一个worker,选择sink仓库,并设置构建命令:npm run build 以及部署命令:npx wrangler deploy
  • 添加环境变量:NUXT_SITE_TOKENNUXT_CF_ACCOUNT_IDNUXT_CF_API_TOKEN
  • 设置分析引擎:创建一个 Dataset,名为 sink
总的步骤一共就这么几步,不过里面还是有一些地方需要注意:
NUXT_SITE_TOKEN 是用于自己访问后台仪表盘的,可以理解为后台管理页面的密码,一般来说设置一个自己常用的就行(如果使用了bitwarden这样的密码管理器,建议设置一个复杂一些的密码,避免被人猜出来弱口令进后来乱搞)
NUXT_CF_API_TOKEN 是用于访问 cloudflare 的分析引擎的,所以这个 API token 最好是去到 cloudflare 后台单独创建一个只有 Analytics Engine 权限的 token,避免权限过大对自己账号造成额外影响。
还有就是官方的部署文档中写了 Enable Analytics Engine. In Workers & Pages, go to Account details in the right panel, locate Analytics Engine, and click Set up to enable the free tier.
我当初在部署的时候,并没有 Set up 这一步操作,有可能是我在此之前已经开启过了。
同时官方没有提到需要创建一个名为 sink 的 Dataset,如果不创建的话,在编译部署项目到 worker 的过程中就会报错。

部署视频

以下是视频部署教程:
 
Cloud Run 访问 Cloud SQL 踩坑记录注册GCP小号获取300美金赠金并转移到个人账户使用
Loading...