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 简直不要太香!一些使用截图
仪表盘:

数据分析:

部署教程
一直以来,我都认为官方提供的部署教程是最好的,因为官方会一直更新,因此我在这里会贴出官方的部署教程地址:https://github.com/ccbikai/Sink/blob/master/docs/deployment/workers.md
整个部署过程非常简单,一共分为五步:
- fork sink 仓库,仓库地址在这:https://github.com/ccbikai/Sink
- 创建KV存储,并保存 id
- 替换自己fork的仓库的 wrangler.jsonc 文件中的
kv_namespaces
ID
- 新建一个worker,选择sink仓库,并设置构建命令:
npm run build
以及部署命令:npx wrangler deploy
- 添加环境变量:
NUXT_SITE_TOKEN
、NUXT_CF_ACCOUNT_ID
、NUXT_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 的过程中就会报错。
部署视频
以下是视频部署教程:
- 作者:阿杰鲁
- 链接:https://dddd.moe/article/2017d549-6f33-8091-86a1-f379d5629715
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。