saad-shaikh-256/URL-Shortner

GitHub: saad-shaikh-256/URL-Shortner

一个基于MERN栈的高性能URL缩短器,通过现代主义暴烈主义设计与自动化生命周期管理解决链接简洁化与安全清理问题。

Stars: 0 | Forks: 0

# URL 缩短器 - MakeLink ![MakeLink 封面](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/296917c9a1184126.png) **MakeLink** 是一个基于 MERN 栈构建的高性能、专业级 URL 缩短器。采用 **现代主义暴烈主义** 美学设计,专注于原始工程、架构清晰性和闪电级执行效率。它将杂乱的原始数据转换为现代网络的简洁、品牌化资产。 ## 🚀 实时预览 - **[实时预览](https://make-link.vercel.app/)**
体验 MakeLink 的实际运行效果。 ## 🎨 Figma UI 灵感 - **[Figma 设计文件](https://www.figma.com/community/file/1371040846150181225/makelink-brutalist-ui-kit-design-system-url-shortner)**
在 Figma 中体验 MakeLink。 ## ✨ 功能特性 - **亚 40 毫秒重定向**:通过 Vercel 重写实现边缘代理,打造零延迟用户体验。 - **自定义标识符**:完全支持品牌化 Slug 和个性化别名。 - **自动协议**:对目标 URL 进行智能标准化与安全净化。 - **安全加固**:通过 Helmet、速率限制和禁止协议过滤提供内置保护。 - **90 天生命周期**:通过 MongoDB TTL(生存时间)索引实现自动数据库清理。 - **现代主义暴烈主义 UI**:高对比度中性色调界面,针对专注、功能速度和响应式体验优化。 - **高级 SEO**:完整实现 JSON-LD 结构化数据、OpenGraph 和 Twitter Card 元数据。 ## 🛠️ 使用技术 - **前端**:React (Vite)、Tailwind CSS v4、Framer Motion - **后端**:Node.js、Express.js、Mongoose - **数据库**:MongoDB Atlas - **DevOps**:Vercel(边缘代理)、Render(API 部署) ## 🔑 环境变量 要在本地运行此项目,请创建以下文件: ### 服务器环境 (`/server/.env`) ``` PORT=5000 MONGO_URI=your_mongodb_atlas_uri BASE_URL=http://localhost:5000 ``` ### 客户端环境 (`/client/.env.local`) ``` VITE_API_URL=http://localhost:5000/api ``` ## ⚡ 安装与使用 要获取本地副本并运行,请按照以下步骤操作: 1. **克隆仓库:** git clone https://github.com/saad-shaikh-256/URL-Shortner.git 2. **进入根目录:** cd URL-Shortner 3. **安装依赖:** npm run install-all 4. **启动开发服务器:** npm run dev 5. **打开浏览器并访问** [http://localhost:5173](http://localhost:5173) _(或终端显示的端口)_. ## 📝 注意事项 - **自动删除**:该项目使用 MongoDB 的 TTL 索引。所有链接在创建后恰好 90 天会自动从数据库中删除。 - **安全策略**:系统会阻止 `javascript:`、`data:` 和 `file:` 协议,以防止 XSS 和会话劫持。 生产代理:在生产环境中,`vercel.json` 处理重写,因此用户只会看到 `make-link.vercel.app` 域名。 ## 🚧 后续增强功能 - 实时点击分析仪表板 - 为每个缩短链接生成二维码 - 密码保护链接重定向 - 企业用户的自定义域名映射 ## ⚠️ 责任限制与免责声明 **使用本工具的风险自担。** MakeLink 开发者: - **不**监控、认可或验证任何缩短 URL 的内容。 - **不对**因使用重定向链接而产生的任何损害、法律问题或安全威胁(恶意软件、网络钓鱼等)负责。 - 明确否认对用户生成内容的全部责任。 - 仅提供本软件用于 **学习和演示目的**。 如果发现滥用链接,请通过 GitHub 问题标签报告。
标签:90天清理, API_URL, BASE_URL, Edge代理, Express.js, Framer Motion, GitHub Advanced Security, GNU通用公共许可证, Helmet, JSON-LD, MERN栈, MITM代理, Modernist Brutalist, MongoDB, MongoDB Atlas, Mongoose, Node.js, OpenGraph, OSV, React, Render, SEO, Syscalls, Tailwind CSS, Tailwind v4, TTL, Twitter Card, UI设计, URL短链接, Vercel, Vercel Rewrites, Vite, 低延迟, 前端, 协议过滤, 品牌Slug, 安全加固, 工程化, 数据库, 极简主义, 极速重定向, 架构清晰, 环境变量, 短链系统, 禁止协议, 端口, 粗野主义, 结构化数据, 自动化清理, 自动协议规范化, 自动过期, 自定义别名, 自定义脚本, 部署, 链接管理, 链接过期, 零延迟