A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare. https://Sink.Cool
Find a file
面条 1b15b5e962 refactor: consolidate issue workflows into single assistant
Replaces the duplicate-issues workflow with a more comprehensive issue-assistant that combines multiple functions into one.

The new workflow checks both documentation and existing issues, then posts a single consolidated comment when relevant information is found. This reduces noise by avoiding multiple comments and provides a better user experience with documentation references alongside duplicate detection.
2026-02-11 19:27:09 +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 refactor: reorganize types and composables structure 2026-02-06 12:05:46 +08:00
docs fix: disable notFoundRedirect default value 2026-02-09 19:27:13 +08:00
i18n feat(i18n): add current version to update message 2026-02-09 21:15:16 +08:00
layers/dashboard feat(i18n): add current version to update message 2026-02-09 21:15:16 +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: improve filters sync and caching behavior 2026-02-09 20:26:10 +08:00
shared feat: add password protection for short links 2026-02-08 22:16:42 +08:00
skills/sink feat: add per-link query parameter redirect control 2026-02-08 21:55:26 +08:00
tests refactor: migrate to Nuxt path aliases 2026-02-04 19:54:10 +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 fix: improve filters sync and caching behavior 2026-02-09 20:26:10 +08:00
package.json chore: bump version to 0.2.6 2026-02-09 20:45:55 +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.