Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ccbikai/Sink
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
https://github.com/ccbikai/Sink
analytics bitly-alternative cloudflare hacktoberfest link-shortener nuxt nuxthub shadcn-ui tailwindcss url-shortener web-analytics
Last synced: 8 days ago
JSON representation
⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.
- Host: GitHub
- URL: https://github.com/ccbikai/Sink
- Owner: ccbikai
- License: agpl-3.0
- Created: 2024-05-05T13:53:54.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-12-29T13:16:48.000Z (13 days ago)
- Last Synced: 2025-01-01T18:56:48.471Z (10 days ago)
- Topics: analytics, bitly-alternative, cloudflare, hacktoberfest, link-shortener, nuxt, nuxthub, shadcn-ui, tailwindcss, url-shortener, web-analytics
- Language: Vue
- Homepage: https://Sink.Cool
- Size: 2.89 MB
- Stars: 3,307
- Watchers: 11
- Forks: 1,841
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- starred - ccbikai/Sink - ⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare. (Vue)
- awesome-cloudflare - Sink
- Awesome-independent-tools - Sink - 一个简单/快速/安全的链接缩短器,带有分析功能,100% 运行在 Cloudflare 上。 (🧰 工具列表 / 部署与托管)
- my-awesome - ccbikai/Sink - alternative,cloudflare,hacktoberfest,link-shortener,nuxt,nuxthub,shadcn-ui,tailwindcss,url-shortener,web-analytics pushed_at:2024-12 star:3.2k fork:1.8k ⚡ A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare. (Vue)
README
# ⚡ Sink
**A Simple / Speedy / Secure Link Shortener with Analytics, 100% run on Cloudflare.**
![Cloudflare](https://img.shields.io/badge/Cloudflare-F69652?style=flat&logo=cloudflare&logoColor=white)
![Nuxt](https://img.shields.io/badge/Nuxt-00DC82?style=flat&logo=nuxtdotjs&logoColor=white)
![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-06B6D4?style=flat&logo=tailwindcss&logoColor=white)
![shadcn/ui](https://img.shields.io/badge/shadcn/ui-000000?style=flat&logo=shadcnui&logoColor=white)![Hero](./public/image.png)
----
## ✨ 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](https://sink.cool/dashboard). Log in using the Site Token below:
```txt
Site Token: SinkCool
```Screenshots
## 🧱 Technologies Used
- **Framework**: [Nuxt](https://nuxt.com/)
- **Database**: [Cloudflare Workers KV](https://developers.cloudflare.com/kv/)
- **Analytics Engine**: [Cloudflare Workers Analytics Engine](https://developers.cloudflare.com/analytics/)
- **UI Components**: [Shadcn-vue](https://www.shadcn-vue.com/)
- **Styling:** [Tailwind CSS](https://tailwindcss.com/)
- **Deployment**: [Cloudflare](https://www.cloudflare.com/)## 🚗 Roadmap [WIP]
We welcome your contributions and PRs.
- [x] Browser Extension
- [Sink Tool](https://github.com/zhuzhuyule/sink-extension)
- [x] Raycast Extension
- [Raycast-Sink](https://github.com/foru17/raycast-sink)
- [x] Apple Shortcuts
- [Sink Shortcuts](https://s.search1api.com/sink001)
- [ ] 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](https://www.youtube.com/watch?v=MkU23U2VE9E)
1. [Fork](https://github.com/ccbikai/Sink/fork) the repository to your GitHub account.
2. Create a project in [Cloudflare Pages](https://developers.cloudflare.com/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](https://developers.cloudflare.com/fundamentals/setup/find-account-and-zone-ids/).
- `NUXT_CF_API_TOKEN`: Create a [Cloudflare API token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/) with at least `Account.Account Analytics` permissions. [See reference.](https://developers.cloudflare.com/analytics/analytics-engine/sql-api/#authentication)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.
8. Update code, refer to the official GitHub documentation [Syncing a fork branch from the web UI](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-branch-from-the-web-ui).## ⚒️ Configuration
[Configuration Docs](./docs/configuration.md)
## 🔌 API
[API Docs](./docs/api.md)
## 🙋🏻 FAQs
[FAQs](./docs/faqs.md)
## 💖 Credits
1. [**Cloudflare**](https://www.cloudflare.com/)
2. [**NuxtHub**](https://hub.nuxt.com/)
3. [**Astroship**](https://astroship.web3templates.com/)## ☕ Sponsor
1. [Follow Me on X(Twitter)](https://404.li/kai).
2. [Become a sponsor to on GitHub](https://github.com/sponsors/ccbikai).