Shlink
自托管的 PHP 短链接服务,支持自定义域名、点击统计和 API。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
自己搭建的短链接工具,数据全在你手里。
核心功能
- 支持自定义域名缩短链接
- 提供详细的点击统计和地理位置分析
- 丰富的 REST API 和命令行工具
- 可配合官方 Web 客户端使用
- 支持 Docker 部署,多种数据库可选
避坑指南
- •默认没有图形界面,需配合 Web 客户端使用;API 密钥管理仅限命令行;统计功能需要额外配置 GeoLite2 数据库(可选)。
适用场景
- 个人博客或社交媒体的短链接管理
- 营销活动链接追踪和效果分析
- 品牌自定义短链提升信任度
- 隐私敏感场景下避免第三方数据收集
详细介绍
Shlink 是一款基于 PHP 的开源自托管 URL 缩短服务。它让你能在自己的域名下创建和管理短链接,并提供详细的点击统计、地理位置数据以及强大的 REST API。你可以通过 Docker 或手动安装部署在自己的服务器上,支持 MySQL、PostgreSQL、SQLite 等多种数据库。与商业缩短服务不同,Shlink 让你完全掌控自己的数据和链接管理,同时提供了命令行和 Web 客户端两种操作方式,方便日常使用。
常见问题与排障 (2)
故障排除为什么我在 fork 并做出更改后无法创建 pull request?
一些项目将 pull requests 限制为仅限仓库协作者。如果你的 PR 被阻止,解决方法是打开一个 issue 并提及你 fork 的分支名,请求维护者拉取它。查看项目的贡献指南(例如 DEVELOPING.md 或 AGENTS.md)以获取任何更新的说明。
故障排除如何在使用Docker运行时轮换Shlink API密钥?
INITIAL_API_KEY 环境变量仅在容器首次运行时设置密钥。要轮换密钥,可以使用自定义启动脚本替换 Docker 入口点。脚本应执行以下步骤:1) 计算一个确定性密钥名称(例如,原始密钥的哈希值)。2) 如果存在该名称的密钥,则删除它。3) 使用当前 INITIAL_API_KEY 值创建新的 API 密钥。4) 将密钥重命名为该确定性名称。伪代码:
$API_KEY_NAME = hash($INITIAL_API_KEY)
如果 $API_KEY_NAME 存在
删除所有现有密钥
使用 api-key:initial $INITIAL_API_KEY 创建 API 密钥
将 $INITIAL_API_KEY 重命名为 $API_KEY_NAME更新 INITIAL_API_KEY 后重启容器。注意:这是社区临时解决方案,并非官方支持。未来的 Shlink 版本可能提供基于 API 的密钥管理。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
步骤1:确保服务器已安装 Docker(或 PHP 8.4+ 及对应数据库)
步骤2:运行 docker run -p 8080:8080 -e DEFAULT_DOMAIN=your.domain shlinkio/shlink
步骤3:通过命令行 bin/cli api-key:generate 生成 API 密钥
- 步骤1:确保服务器已安装 Docker(或 PHP 8.4+ 及对应数据库)
- 步骤2:运行 docker run -p 8080:8080 -e DEFAULT_DOMAIN=your.domain shlinkio/shlink
- 步骤3:通过命令行 bin/cli api-key:generate 生成 API 密钥
暂未获取到校验码
该项目暂未在 GitHub Release 页面提供 SHA-256 校验码
SHA256 校验码
暂无校验码
建议从 GitHub Releases 页面直接下载,并自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
删除 Docker 容器和镜像(docker rm shlink && docker rmi shlinkio/shlink);若手动安装则删除项目目录和数据库即可。
无额外依赖
下载后即可直接使用,无需安装其他运行环境
遇到问题?查看下方 FAQ
2 FAQs