Kutt:
一款现代开源 URL 缩短器,支持自定义域,创建和编辑链接、查看统计信息、管理用户等功能。

主要特点:
-
- 自托管适配性强
- • 零配置快速启动,无额外构建步骤;
- • 数据库支持:默认 SQLite(无需额外安装),可选 Postgres、MySQL/MariaDB;
- • 缓存支持:可选 Redis 提升性能;
- • 权限管控:可禁用用户注册、关闭匿名链接生成,支持 OpenID Connect (OIDC) 登录。
-
- 丰富的自定义能力
- • 自定义域名:支持绑定自有域名生成短链接;
- • 链接精细化配置:可为短链接设置自定义 URL、访问密码、描述、过期时间;
- • 链接管理:支持对已生成的链接进行查看、编辑、删除等操作。
-
- 统计与管理
- • 私有统计:短链接的访问数据仅对创建者 / 管理员可见;
- • 管理员面板:支持后台管理用户、审核 / 操作所有链接。
-
- 其他能力
- • 主题定制:支持界面主题自定义;
- • RESTful API:提供完整的接口,便于集成到其他系统。
安装
Docker Compose
services:
kutt:
image: kutt/kutt:latest
container_name: kutt
ports:
- 3000:3000
volumes:
- ./db_data_sqlite:/var/lib/kutt
- ./custom:/kutt/custom
environment:
- DB_FILENAME=/var/lib/kutt/data.sqlite
- JWT_SECRET=sk-xxxxx
- DEFAULT_DOMAIN=192.168.31.90:3000
restart: always
参数说明(更多参数设置建议去看文档)
:::DB_FILENAME:SQLite 数据库的文件路径
JWT_SECRET:用于对身份验证令牌进行签名(使用长随机字符串)
DEFAULT_DOMAIN:域名地址
:::
使用
浏览器中输入 http://NAS的IP:3000 就能看到界面

根据提示,先创建一个管理员账号

创建成功,就可以进行登录了

TIP:页面需要是 HTTPS 访问的,我是做了一个反代为 3001 端口,不然这里跳转会有问题

进入面板比较简洁,下面简单说说怎么样使用

输入一条很长的访问连接,点击发送按钮

这样短链接就生成成功了,点击就能访问了

TIP:记得 DEFAULT_DOMAIN 环境变量改为反代后的 IP 地址

下面能看到前面添加的链接,可以进行管理。

其实大部分短链接的意义不在于缩短,而在于不需要改原来链接,可以实现跳转到不同地方

除了可以统计访问次数,还可以设置密码

勾选显示高级选项,可以进行更细致设置

其他设置就没什么需要特别介绍的了,有兴趣看部署试试

总结
Kutt 这款 URL 缩短器的教程很早就有计划要做,但是因为要做反代 HTTPS 才能正常使用,所以一直搁置。目前部署体验下来还不错,操作也是相当简单,突然想起页面是没有中文的,不过也不影响。
这类型工具最大作用就是原地址不变,自由修改跳转的地址,以及统计访问人数。对于一般用户来说,其实是没用太大作用的,有兴趣的可以部署试试。
综合推荐:⭐⭐(看个人需要,一般人没用)
使用体验:⭐⭐⭐(需要 HTTPS 代理,上手使用简单)
部署难易:⭐⭐(简单)︎