Slink:短链、图床、笔记三合一

Slink:短链、图床、笔记三合一

Slink 是一个轻量级、高性能的多功能文件管理服务,基于 Cloudflare Workers 和 KV 存储,具备免费且快速的短链图床笔记三个模块。该项目旨在提供一个易于部署、功能完善的自托管文件管理解决方案

通用功能

  • KV 数据管理: 提供管理面板,支持 查询、删除 链接
  • 自定义名: 所有模块均可自定义名称并支持中文名
  • 访问统计: 可选开启,对每个短链接记录访问次数
  • 阅后即焚: 可选开启,链接被访问后立即从 KV 中删除
  • 二维码生成: 在管理列表页,支持即时生成短链接的 二维码
  • 暗黑模式: 支持手动切换明亮模式或暗黑模式
  • 响应式设计: 采用响应式设计,适配手机平板等设备访问
  • 反向查询: 支持根据短链接 Key 或文件名查询原始数据

各模块功能

模块 功能 描述
短链模块 短链生成
唯一链接
支持将任意长网址生成简洁的短链接
对同一长链接,只生成一个短链接(默认开启)
图床模块 图片上传
直链预览
上传图片到图床,返回图片的访问链接
可生成预览图与访问直链
笔记模块 文本存储
Markdown
可存储任意文本内容
计划支持 Markdown 语法

🧩 快速部署

  • 到 CF 创建一个 worker,删除默认的示例代码
  • 到下面仓库找到 _worker.js 文件,复制全部内容粘贴到 worker 中,点击 保存并部署
  • 创建一个新的 KV 命名空间,名称随意,如 slink
  • Worker 设置 中找到 KV 命名空间绑定,变量名称填写 LINKS(不能是其他名称),绑定刚刚创建的 KV 空间,保存
  • 配置以下环境变量(均为可选,默认管理员密码为 admin
变量名 默认值 描述
ADMIN admin 管理密码,访问 /admin 进入主页
PASSWORD apipass API 秘钥,小白不用管它
UNIQUE_LINK true 是否开启唯一链接功能(相同 URL 只生成一个短链)
CUSTOM_LINK true 是否允许用户自定义短链 Key
OVERWRITE_KV true 是否允许覆盖已存在的自定义短链 Key
SNAPCHAT_MODE false 是否启用阅后即焚模式(访问一次后删除)
VISIT_COUNT false 是否启用访问计数功能
LOAD_KV true 是否允许从 KV 加载数据,需要绑定变量名为 LINKS 的 KV 空间
  • 访问 https://your-worker.your-account.workers.dev/<ADMIN> 进入管理页面
  • 建议:绑定一个自定义域名

💫 进阶部署

通过 github action 自动部署,与作者仓库同步,即可自动部署最新版本

  • fork 作者仓库
  • 依次点击自己仓库的 action自动同步上游仓库run workflow

image.png

  • 只有首次同步需要点击,后续会自动同步
  • 设置仓库机密 settingSecrets and variablesaction

image.png

  • 切换到 variables 选项卡,点击 New repository variable,创建如下变量:
    • CF_ACCOUNT_ID:CF 账户 ID
    • CF_API_TOKEN:CF 个人访问令牌,需要 worker 和 kv 权限
    • CF_KV_ID:你所创建的 KV 的 ID
    • ADMIN:管理密码,默认为 admin(可选)
    • PASSWORD:API 秘钥,默认为 apipass(可选)

image.png

  • 点击仓库上方的 action 选项卡,点击左侧 自动部署到CF Worker,点击 run workflow
  • 等待部署完成,在部署日志中找到项目在 CF 的管理页面,点击进入 CF,绑定一个自定义域名

API 接口说明

详见以下 API 文档:

#cloudflare #图床