⚡ Sink
A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
<img src="https://trendshift.io/api/badge/repositories/10421" alt="miantiao-me/Sink | Trendshift" width="250" height="55" /> <img src="https://hackernews-badge.vercel.app/api?id=40843683" alt="Featured on Hacker News" width="250" height="55" /> <img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=57771fd91d1542c7a470959b677a9944&claim_uid=qi74Zp23wYKeAVB&theme=neutral" alt="Featured|HelloGitHub" width="250" height="55" /> <img src="https://www.uneed.best/POTW1.png" alt="Uneed Badge" width="250" height="55" />

✨ Features
- 🔗 URL Shortening: Compress your URLs to their minimal length.
- 📈 Analytics: Monitor link analytics and gather insightful statistics.
- ☁️ Serverless: Deploy without the need for traditional servers.
- 🎨 Customizable Slug: Support personalized slugs, UTM parameters, and case sensitivity.
- 🪄 AI Assistance: Generate slugs and OpenGraph metadata from page content.
- ⏰ Link Control: Set expirations, passwords, and unsafe-link warning pages.
- 📱 Smart Routing: Redirect visitors by device or country.
- 🖼️ Social Preview: Customize social previews with titles, descriptions, and images.
- 📊 Real-time Analytics: Live 3D globe and real-time event logs.
- 🔲 QR Code: Generate QR codes for your short links.
- 📦 Import/Export: Bulk link migration via JSON and access analytics via CSV.
- 🌍 Multi-language: Full i18n support for dashboard and redirect pages.
🪧 Demo
Experience the demo at Sink.Cool. Log in using the Site Token below:
Site Token: SinkCool
Screenshots
🧱 Technologies Used
- Framework: Nuxt
- Database: Cloudflare Workers KV
- Analytics Engine: Cloudflare Workers Analytics Engine
- UI Components: shadcn-vue
- Styling: Tailwind CSS
- Deployment: Cloudflare
🚗 Roadmap [WIP]
We welcome your contributions and PRs.
- [x] Browser Extension - Sink Tool
- [x] Chrome Extension - Sink Quick Shorten
- [x] Raycast Extension - Raycast-Sink
- [x] Apple Shortcuts - Sink Shortcuts
- [x] iOS App - Sink
- [ ] Enhanced Link Management (with Cloudflare D1)
- [ ] Analytics Enhancements (Support for merging filter conditions)
- [x] Dashboard Performance Optimization (Infinite loading)
- [x] API, migration, backup, and redirect tests
🏗️ Deployment
Video tutorial: Watch here
We currently support deployment to Cloudflare Workers (recommended) and Cloudflare Pages.
⚒️ Configuration
🔌 API
🤖 AI Skills
Install Sink AI Skills for enhanced coding assistance:
npx skills add miantiao-me/sink
🧰 MCP
We currently do not support native MCP Server, but we have OpenAPI documentation, and you can use the following method to support MCP.
Replace the domain name in
OPENAPI_SPEC_URLwith your own domain name.The
API_KEYis the same as theNUXT_SITE_TOKENin the environment variables.
{
"mcpServers": {
"sink": {
"command": "uvx",
"args": [
"mcp-openapi-proxy"
],
"env": {
"OPENAPI_SPEC_URL": "https://sink.cool/_docs/openapi.json",
"API_KEY": "SinkCool",
"TOOL_WHITELIST": "/api/link"
}
}
}
}