A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare. https://Sink.Cool
  • Vue 78.3%
  • TypeScript 20.2%
  • CSS 1.2%
  • JavaScript 0.3%
Find a file
Zoey Giegler e750e6e7cb
Update wrangler.jsonc
Set correct kv id
2026-01-02 13:08:17 +01:00
.github chore: transfer repository ownership to miantiao-me 2025-12-07 15:29:10 +08:00
.vscode feat: Add internationalization (i18n) support 2025-03-03 11:21:39 +08:00
app chore: transfer repository ownership to miantiao-me 2025-12-07 15:29:10 +08:00
docs Merge pull request #203 from pascalwhoop/patch-1 2025-12-14 11:59:57 +08:00
i18n feat: add vue-sonner styles import 2025-05-25 20:38:28 +08:00
public refactor: Update component styles and replace radix-vue with reka-ui 2025-08-10 12:18:53 +08:00
schemas feat(test): migrate to cloudflare worker test suite 2025-05-29 20:54:44 +08:00
scripts feat: enhance globe visualization with traffic arcs 2025-05-18 20:50:56 +08:00
server chore: transfer repository ownership to miantiao-me 2025-12-07 15:29:10 +08:00
tests feat(test): migrate to cloudflare worker test suite 2025-05-29 20:54:44 +08:00
.editorconfig feat: init 2024-05-25 08:09:30 +08:00
.env.example feat(test): add comprehensive testing guidelines 2025-05-28 19:50:56 +08:00
.gitignore feat: add CORS support for API and update .gitignore and configuration documentation 2025-07-20 12:11:18 +08:00
.node-version chore: update Node.js version and optimize build configuration 2025-05-21 12:15:04 +08:00
.npmrc feat: init 2024-05-25 08:09:30 +08:00
AGENTS.md chore: remove AGENT.md and update references to AGENTS.md 2025-11-15 15:21:20 +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 chore: shadcn-vue 2025-09-06 18:07:53 +08:00
eslint.config.mjs style: eslint add tailwindcss 2025-09-07 18:37:54 +08:00
LICENSE feat: init 2024-05-25 08:09:30 +08:00
nuxt.config.ts Merge pull request #199 from tomelliot/fix-env-var 2025-11-30 20:32:18 +08:00
package.json chore(release): bump version to v0.2.1 2025-11-02 15:14:45 +08:00
pnpm-lock.yaml chore: Refactor code structure for improved readability and maintainability 2025-11-02 12:16:53 +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 Fix checkbox status for Sink Quick Shorten 2025-12-09 12:53:05 +08:00
renovate.json feat: init 2024-05-25 08:09:30 +08:00
tsconfig.json feat(test): migrate to cloudflare worker test suite 2025-05-29 20:54:44 +08:00
vitest.config.ts feat(test): migrate to cloudflare worker test suite 2025-05-29 20:54:44 +08:00
wrangler.jsonc Update wrangler.jsonc 2026-01-02 13:08:17 +01: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.

🪧 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

🧰 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/create"
      }
    }
  }
}

🙋🏻 FAQs

FAQs

💖 Credits

  1. Cloudflare
  2. NuxtHub
  3. Astroship

Sponsor

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