A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare. https://Sink.Cool
Find a file
2026-04-12 16:22:31 +08:00
.github refactor: consolidate issue workflows into single assistant 2026-02-11 19:27:09 +08:00
.vscode feat: Add internationalization (i18n) support 2025-03-03 11:21:39 +08:00
app feat: integrate NumberFlow for animated stats 2026-04-12 13:07:48 +08:00
docs feat: add unsafe link warning and detection 2026-03-01 17:26:07 +08:00
i18n feat: add UTM parameter builder to link editor 2026-04-12 12:57:54 +08:00
layers/dashboard feat: add UTM parameter builder to link editor 2026-04-12 12:57:54 +08:00
public perf(globe): optimize loading and texture rendering 2026-02-09 19:23:25 +08:00
scripts perf(globe): optimize loading and texture rendering 2026-02-09 19:23:25 +08:00
server fix: strip markdown code blocks from AI responses 2026-03-02 20:00:47 +08:00
shared feat: add unsafe link warning and detection 2026-03-01 17:26:07 +08:00
skills/sink feat: add unsafe link warning and detection 2026-03-01 17:26:07 +08:00
tests feat: add unsafe link warning and detection 2026-03-01 17:26:07 +08:00
.editorconfig feat: init 2024-05-25 08:09:30 +08:00
.env.example fix: disable notFoundRedirect default value 2026-02-09 19:27:13 +08:00
.gitignore feat: add device redirect and OpenGraph customization 2026-02-01 14:09:51 +08:00
.mcp.json refactor: Refactor by Opus 2026-01-09 20:15:19 +08:00
.node-version chore: Keep @nuxthub/core version below v0.10, remove nuxthub dependency in next release. 2026-01-08 18:37:42 +08:00
.npmrc feat: add "Buy me a coffee" donation link 2026-02-05 21:52:55 +08:00
AGENTS.md docs: add OpenAPI specs and update project guide 2026-02-07 18:09:21 +08:00
CLAUDE.md chore: remove AGENT.md and update references to AGENTS.md 2025-11-15 15:21:20 +08:00
CODE_OF_CONDUCT.md feat: add Contributor Covenant Code of Conduct 2024-10-18 12:04:06 +08:00
components.json feat: update nuxt and shadcn-vue 2026-01-17 13:24:55 +08:00
eslint.config.mjs feat: add automatic daily KV backup to R2 storage 2026-01-18 16:52:06 +08:00
LICENSE feat: init 2024-05-25 08:09:30 +08:00
nuxt.config.ts feat: enhance AI slug generation with page content 2026-03-02 19:16:20 +08:00
package.json 0.2.8 2026-04-12 16:22:31 +08:00
pnpm-lock.yaml refactor(globe): modularize WebGL globe implementation 2026-02-07 17:45:55 +08:00
pnpm-workspace.yaml build(nuxt): Upgrade Nuxt-related dependencies and streamline the configuration. 2025-08-10 11:18:22 +08:00
README.md docs: add AI Skills section and update MCP config 2026-02-05 22:05:00 +08:00
renovate.json feat: init 2024-05-25 08:09:30 +08:00
tsconfig.json refactor: move type definitions to schema files 2026-02-03 12:14:15 +08:00
vitest.config.ts refactor: move type definitions to schema files 2026-02-03 12:14:15 +08:00
worker-configuration.d.ts feat: add automatic daily KV backup to R2 storage 2026-01-18 16:52:06 +08:00
wrangler.jsonc feat: enable observability logs and traces 2026-02-02 20:27:33 +08:00

Sink

A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.

miantiao-me/Sink | Trendshift Featured on Hacker News Featured|HelloGitHub Uneed Badge

DeepWiki Cloudflare Nuxt Tailwind CSS shadcn/ui

Hero


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 for personalized slugs and case sensitivity.
  • 🪄 AI Slug: Leverage AI to generate slugs.
  • Link Expiration: Set expiration dates for your links.
  • 📱 Device Routing: Redirect iOS/Android users to different URLs (App Store links).
  • 🖼️ OpenGraph Preview: Custom social media previews with title, description, and image.
  • 📊 Real-time Analytics: Live 3D globe visualization and real-time event logs.
  • 🔲 QR Code: Generate QR codes for your short links.
  • 📦 Import/Export: Bulk migration via JSON/CSV files.
  • 🌍 Multi-language: Full i18n support for the dashboard.
  • 🌙 Dark Mode: Light, dark, and system theme support.

🪧 Demo

Experience the demo at Sink.Cool. Log in using the Site Token below:

Site Token: SinkCool
Screenshots Analytics Links Link Analytics

🧱 Technologies Used

🚗 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)
  • Units Test

🏗️ Deployment

Video tutorial: Watch here

We currently support deployment to Cloudflare Workers (recommended) and Cloudflare Pages.

⚒️ Configuration

Configuration Docs

🔌 API

API Docs

🤖 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_URL with your own domain name.

The API_KEY is the same as the NUXT_SITE_TOKEN in 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"
      }
    }
  }
}

🙋🏻 FAQs

FAQs

💖 Credits

  1. Cloudflare
  2. NuxtHub
  3. Astroship
  4. Tailark

Sponsor

  1. Follow Me on X(Twitter).
  2. Become a sponsor to on GitHub.