ccbikai / Sink

⚑ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
https://Sink.Cool
GNU Affero General Public License v3.0
2.98k stars 1.59k forks source link
analytics bitly-alternative cloudflare hacktoberfest link-shortener nuxt nuxthub shadcn-ui tailwindcss url-shortener web-analytics

⚑ Sink

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

<img src="https://trendshift.io/api/badge/repositories/10421" alt="ccbikai/Sink | Trendshift" style="width: 250px; height: 55px;" width="250" height="55" /> <img src="https://hackernews-badge.vercel.app/api?id=40843683" alt="Featured on Hacker News" style="width: 250px; height: 55px;" width="250" height="55" />

Cloudflare Nuxt Tailwind CSS shadcn/ui

Hero


✨ Features

πŸͺ§ 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.

πŸ—οΈ 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 Workers & Pages -> 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.

βš’οΈ 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.