openflarestack Star this repo
  1. Catalog
  2. Link shorteners
  3. Sink
Ranked 07 of 234

Sink

miantiao-me/Sink

Shorten links on your own domain and see click analytics on a live dashboard.

A self-hosted alternative to Bitly.

What it sets up in your account

  • D1
    D1 database
    A SQL database for the app’s records.
  • KV
    KV namespace
    A key value store for settings and fast lookups.
  • R2
    R2 bucket
    Storage for files and uploads.
  • AI
    Workers AI
    Runs AI models inside your account.
  • Cr
    Cron trigger
    Runs scheduled tasks.
  • AE
    Analytics Engine
    Stores high-volume event data cheaply.
Category
Link shorteners
Licence
AGPL-3.0
Stars
7,212
Last commit
2 weeks ago
Latest release
v0.3.1

Use it with AI or code

  • Markdown for AIPaste into ChatGPT, Claude or any LLM./apps/sink.md
    Open
  • JSON APIFree, no key, CORS open./api/v1/apps/sink.json
    Open

More in the API docs and llms.txt.

Keeping it up to date

The Deploy button copies the repo into your GitHub. Run this in your copy whenever a new version comes out.

terminal
git remote add upstream https://github.com/miantiao-me/Sink.git
git pull upstream master
npx wrangler deploy

Sink questions

What is Sink?

Shorten links on your own domain and see click analytics on a live dashboard. It’s an open-source, self-hosted alternative to Bitly. It runs on Cloudflare Workers in your own account.

What does Sink set up in my Cloudflare account?

D1 database, KV namespace, R2 bucket, Workers AI, Cron trigger and Analytics Engine. They are created in your account, so the data stays yours.

How do I deploy Sink?

Press Deploy to Cloudflare. Cloudflare copies the repository into your GitHub account, creates what it needs and deploys it with Workers Builds.

Is Sink free and open source?

Yes. It’s published under the AGPL-3.0 licence. Running it uses your own Cloudflare account, and small setups usually fit in the free plan.

How do I update Sink?

Pull from the original repository and redeploy: add https://github.com/miantiao-me/Sink.git as an upstream remote, run git pull upstream master, then npx wrangler deploy.