β‘ Sink
May 10, 2026 Β· View on GitHub
A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.

β¨ 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.
- Browser Extension - Sink Tool
- Chrome Extension - Sink Quick Shorten
- Raycast Extension - Raycast-Sink
- Apple Shortcuts - Sink Shortcuts
- iOS App - Sink
- Enhanced Link Management (with Cloudflare D1)
- Analytics Enhancements (Support for merging filter conditions)
- Dashboard Performance Optimization (Infinite loading)
- 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"
}
}
}
}