Slug快速入门指南:5分钟内搭建你的专属短链服务
【免费下载链接】slug🌱 An open-source URL shortener built with T3 Stack.项目地址: https://gitcode.com/gh_mirrors/slug/slug
Slug是一款基于T3 Stack构建的开源URL短链服务,让你能够简单、快速且安全地缩短长链接。无论是个人使用还是团队协作,Slug都能帮助你高效管理链接,提升分享体验。
为什么选择Slug短链服务?
Slug采用现代化技术栈构建,具备以下核心优势:
- 极速性能:基于Next.js 14 App Router构建,提供毫秒级响应速度
- 数据安全:使用Turso (SQLite) + libSQL数据库,确保数据本地存储安全可控
- 全栈类型安全:通过Prisma ORM和TypeScript实现端到端类型检查
- 简洁界面:集成shadcn/ui与TailwindCSS,打造直观易用的管理面板
- 灵活部署:支持本地部署和云端托管,满足不同场景需求
Slug仪表盘界面展示,可直观管理所有短链接
准备工作:环境要求
开始前请确保你的系统满足以下条件:
- Node.js (+v18.x)
- pnpm (v8+)
- Turso CLI(Windows用户需先安装WSL 2)
- 代码编辑器(推荐VSCode)
快速安装:3步完成部署
1. 获取项目代码
git clone https://gitcode.com/gh_mirrors/slug/slug cd slug2. 安装依赖
# 全局安装pnpm(如未安装) npm install -g pnpm # 安装项目依赖 pnpm install3. 配置环境变量
创建.env文件,添加以下必要配置:
# 数据库配置 DATABASE_URL="file:./dev.db" TURSO_DATABASE_URL=你的Turso数据库URL TURSO_AUTH_TOKEN=你的Turso授权令牌 # 认证配置 AUTH_SECRET=生成的随机安全字符串 GITHUB_ID=你的GitHub OAuth应用ID GITHUB_CLIENT_SECRET=你的GitHub OAuth应用密钥提示:可通过
openssl rand -hex 32命令生成安全的AUTH_SECRET
初始化数据库
执行以下命令完成数据库设置:
# 生成数据库迁移文件 pnpm db:migrate # 应用迁移到数据库 pnpm db:push启动服务
# 开发模式启动 pnpm dev服务启动后,访问 http://localhost:3000 即可使用Slug短链服务。
Slug短链服务主界面,简洁现代的设计风格
基本使用指南
- 创建短链接:点击右上角"Create Link"按钮,输入原始URL和自定义短码(可选)
- 管理链接:在仪表盘查看所有短链接,包含点击统计和创建时间
- 编辑功能:通过链接卡片上的编辑按钮修改目标URL或短码
- 标签分类:使用标签功能对链接进行分类管理
- 数据导出:通过设置页面导出所有链接数据
技术架构概览
Slug采用T3 Stack技术架构,主要组件包括:
- 前端框架:Next.js 14 App Router
- 认证系统:Auth.js v5
- 数据库ORM:Prisma
- 数据库:Turso (SQLite) + libSQL
- 样式解决方案:TailwindCSS + shadcn/ui
- API交互:Next.js Server Actions
核心代码结构:
- 数据库模型:prisma/schema.prisma
- 认证配置:src/auth.ts
- 链接管理:src/server/actions/links.ts
- 前端组件:src/components/links/
常见问题解决
Q: 如何修改默认端口?
A: 在package.json中修改dev脚本:"dev": "next dev -p 4000"
Q: 忘记数据库迁移命令?
A: 查看package.json中的scripts部分,包含所有数据库相关命令
Q: 如何添加更多认证方式?
A: 编辑src/auth.ts文件,添加新的Auth.js提供商配置
总结
Slug作为一款开源短链服务,不仅提供了基础的链接缩短功能,还通过现代化的技术栈和直观的界面设计,为用户带来专业级的链接管理体验。无论是个人博主、开发者还是小型团队,都能在5分钟内搭建起属于自己的短链服务,完全掌控数据和链接管理。
现在就开始使用Slug,让链接分享变得更加高效和专业!
【免费下载链接】slug🌱 An open-source URL shortener built with T3 Stack.项目地址: https://gitcode.com/gh_mirrors/slug/slug
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考