Sink
A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
- 3.6k
- GitHub stars
- Free
- Price
- Jan 10, 2025
- Updated
Overview
Sink is a simple, fast and secure link shortener with analytics that runs entirely on Cloudflare's serverless platform. It is aimed at individuals and small teams who want a self-hosted shortener, and it is licensed under AGPL-3.0. A sibling project, Slite, offers the same features as a local Node.js or Docker process.
The dashboard is built with Nuxt 4 and shadcn-vue, the Vue port of shadcn/ui, styled with Tailwind CSS. Links are stored in Cloudflare D1 with Workers KV as a read cache, and traffic is recorded in the Workers Analytics Engine. A public demo is available at sink.cool with the site token SinkCool, and the project has browser, Raycast, Apple Shortcuts and iOS companions.
Features
- URL shortening: Custom slugs, UTM parameters and optional case-sensitive matching.
- Analytics: Per-link statistics with multi-link filtering, plus a live 3D globe and event log refreshed every 10 seconds.
- Link control: Expiration dates, passwords and unsafe-link warning pages.
- Smart routing: Redirect visitors by device or country.
- Social previews: Custom titles, descriptions and images for shared links.
- AI assistance: Optional Cloudflare Workers AI for generating slugs and OpenGraph metadata.
- QR codes and import/export: QR codes for every link, JSON link transfer and CSV analytics export.
- Multi-language: Full i18n for the dashboard and redirect pages.
Tech stack
- Nuxt 4, shadcn-vue, Tailwind CSS
- Cloudflare Workers, D1, Workers KV, Analytics Engine, R2, Workers AI
- Drizzle ORM