前言

一直想拥有自己的短链接服务,但是这几年确实没找到好看又好用的服务,直到看到 Sink 这款开源项目。Sink 是直接部署在 Cloudflare Pages 上的,并且整个部署流程 10 分钟就上线了,使用了几天后,整体体验非常不错,本文就介绍整个部署流程,同时还可以进行反向代理提高访问速度。

Sink 是一款具有分析功能的简单、快速、安全的链接缩短器,100% 在 Cloudflare 上运行。

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

设置流程

前期准备

  • GitHub 账号
  • Cloudflare 账号

Sink 是部署在 Cloudflare Pages 上,而 Cloudflare 提供给用户免费使用 Pgaes 功能。

GitHub Fork 项目

首先登陆你的 GitHub,访问 https://github.com/ccbikai/sink 并 fork 该项目。

Cloudflare 配置

登陆 https://dash.cloudflare.com 选取你现有的域名,或者添加新域。

复制保存你的Account ID,同时点击获取您的 API 令牌

点击创建令牌

选择阅读分析数据和日志使用模版

随意修改下名称

其他无需修改,点击继续

创建令牌

复制保存API 令牌

Cloudflare Pages 部署

登陆 https://pages.cloudflare.com - 选择 Pages - 连接到 Git

连接到 GitHub

授权

选择刚才 fork 的仓库,开始设置。

框架预设选择Nuxt.js
添加以下3个变量:
NUXT_SITE_TOKEN为你的管理员密码,请自行创建,长度尽量长些,否则可能会登陆失败。
NUXT_CF_ACCOUNT_ID上文获取的 Account ID。
NUXT_CF_API_TOKEN上文获取的 API 令牌 Token。

保存并部署,注意,一开始部署,马上取消。

取消部署

取消构建

取消部署后,点击左侧的存储和数据库 - KV并创建。

添加一个名为sink的命名空间。

创建成功

回到 Pages,点击项目名称。

设置 - 绑定 - 添加

选择KV 命名空间

变量名称直接复制大写的KV,不要改为其他的。命名空间选择刚才创建的sink,保存。

再次添加Works AI

变量名称直接复制大写的AI,不要改为其他的,保存。

如果你是 Cloudflare 付费用户,可以再次添加Analytics Engine

由于我不是会员,无法点进去查看设置方法,具体的请访问 https://github.com/ccbikai/sink 里的 Deployment 步骤会有设置方法。

添加完成

回到部署标签,重试部署。

开始部署,等待几分钟就部署完毕。

访问 Pages 域名成功

点击Dashboard,输入上文设置的密码登陆。

尝试添加短链接,可以自定义Slug后缀和有效期。

完成

添加域名

添加域名有两种方式,第一种是直接在 Cloudflare 里添加域名,设置好域名CNAME 解析就可以访问了,但是 Cloudflare 在国内访问比较佛系。如果你有对国内线路更优质的服务器,例如香港服务器,也可以在服务器上做反向代理,体验会更好。

以下两种方式任选其一,可以先看完在决定配置 DNS 解析。

Cloudflare 添加域名

自定义域 - 设置自定义域

填写你的域名 - 继续

开始 CNAME 设置

根据提示设置你的域名CNAME,等待一会提示成功。

完成域名配置

使用新域名访问登陆,存在的短链接也都会自动变为新域名。

Nginx 反向代理

如果你有更好线路的服务器,可以在该服务器配置 nginx 反向代理到 Pgaes 里的域名,以下为配置参考,把sink-72b.pages.dev改为你的 Pages 域名即可。

location / {
        proxy_pass https://sink-72b.pages.dev;
        proxy_set_header Host sink-72b.pages.dev;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;

        proxy_ssl_name sink-72b.pages.dev;
        proxy_ssl_server_name on;

        add_header X-Cache $upstream_cache_status;
        proxy_cache_key $host$uri$is_args$args;
        proxy_cache_valid 200 304 301 302 120m;
        expires 12h;
    }

结语

最后注意,如果不是 Cloudflare 付费会员,没有办法添加Analytics Engine,那么短链接的访问数据分析将无法显示,但是这并不影响正常使用,这个服务仅自己私有使用,Cloudflare 的免费用户的相关配额是足够使用了。

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

本文链接 https://www.ioiox.com/archives/172.html

晚高峰稳定 4K 的 IPLC 机场 解锁各流媒体 支持 ChatGPT. 晚高峰稳定 4K 的 IPLC 机场 解锁各流媒体 支持 ChatGPT. RedteaGO - 最划算的大陆漫游 eSim 流量卡,原生境外 IP,注册就送 3 刀。
RedteaGO - 最划算的大陆漫游 eSim 流量卡,原生境外 IP,注册就送 3 刀。
如果喜欢我的文章,觉得对你有帮助,请随意赞赏!