Skip to content

ccbikai/Sink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e909922 · Mar 12, 2025
Jul 8, 2024
Dec 24, 2024
Jun 8, 2024
Mar 12, 2025
Dec 25, 2024
May 25, 2024
May 25, 2024
Jul 20, 2024
Mar 2, 2025
Mar 2, 2025
Jul 8, 2024
Mar 2, 2025
Dec 24, 2024
May 25, 2024
Jul 20, 2024
Jun 8, 2024
Nov 4, 2024
May 25, 2024
Oct 18, 2024
May 25, 2024
Jan 20, 2025
Mar 12, 2025
Mar 2, 2025
May 25, 2024
May 25, 2024
Jul 8, 2024
Dec 25, 2024
Mar 2, 2025
Mar 2, 2025
May 25, 2024
Jun 2, 2024
May 25, 2024
May 25, 2024

Repository files navigation

⚡ Sink

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

ccbikai/Sink | Trendshift Featured on Hacker News Uneed Badge

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
  • Raycast Extension - Raycast-Sink
  • Apple Shortcuts - Sink Shortcuts
  • Enhanced Link Management (with Cloudflare D1)
  • Analytics Enhancements (Support for merging filter conditions)
  • Dashboard Performance Optimization (Infinite loading)
  • Units Test
  • Support for Other Deployment Platforms

🏗️ Deployment

Video tutorial: Watch here

  1. Fork the repository to your GitHub account.

  2. Create a project in Cloudflare Pages.

  3. Select the Sink repository and choose the Nuxt.js preset.

  4. Configure the following environment variables:

    • NUXT_SITE_TOKEN: Must be longer than 8 characters. This token grants access to your dashboard.
    • NUXT_CF_ACCOUNT_ID: Locate your account ID.
    • NUXT_CF_API_TOKEN: Create a Cloudflare API token with at least Account.Account Analytics permissions. See reference.
  5. Save and deploy the project.

  6. Cancel the deployment, then navigate to Settings -> Bindings -> Add:

    • KV Namespace: Bind the variable name KV to a KV namespace (create a new one under Storage & Databases -> KV).
    • Workers AI (Optional): Bind the variable name AI to the Workers AI Catalog.
    • Analytics Engine:
      • In Workers & Pages, go to Account details on the right side, find Analytics Engine, and click Set up to enable the free version.
      • Return to Settings -> Bindings -> Add and select Analytics engine.
      • Bind the variable name ANALYTICS to the sink dataset.
  7. Redeploy the project.

  8. Update code, refer to the official GitHub documentation Syncing a fork branch from the web UI.

⚒️ Configuration

Configuration Docs

🔌 API

API Docs

🙋🏻 FAQs

FAQs

💖 Credits

  1. Cloudflare
  2. NuxtHub
  3. Astroship

☕ Sponsor

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