この紹介文は現在英語版のみです。
Sink
Sink is a modern, serverless URL shortener built entirely on Cloudflare’s infrastructure. It provides fast, secure link shortening with built-in analytics capabilities.
Core Features
- URL Shortening: Create short, memorable links
- Analytics Dashboard: Track link performance and visitor data
- Custom Slugs: Create personalized short URLs
- AI-Powered: Generate smart slugs using AI
- Link Expiration: Set expiration dates for temporary links
- Serverless Architecture: 100% Cloudflare-based
- Real-time Analytics: Monitor link performance in real-time
- Secure: Built-in security features and HTTPS support
- Customizable: Tailor the service to your needs
- Multi-language Support: Internationalization ready
Quick Start
-
Access the Platform: Visit Sink.Cool
-
Demo Access:
- Use Site Token:
SinkCool - Explore the analytics dashboard
- Test link creation
- Use Site Token:
Key Benefits
- Speed: Lightning-fast link redirection
- Security: Built on Cloudflare’s secure infrastructure
- Analytics: Comprehensive link performance tracking
- Serverless: No server maintenance required
- Scalable: Handles high traffic with ease
- Free: Open source with no hidden costs
Technical Stack
- Framework: Nuxt.js
- Database: Cloudflare Workers KV
- Analytics: Cloudflare Workers Analytics Engine
- UI Components: shadcn-vue
- Styling: Tailwind CSS
- Deployment: Cloudflare Pages
- AI Integration: Cloudflare Workers AI
Usage Guide
-
Link Creation:
# Create a new short link POST /api/links { "url": "https://example.com", "slug": "optional-custom-slug" } -
Analytics Access:
# View link analytics GET /api/analytics/{slug} -
Link Management:
# Update link settings PUT /api/links/{slug} { "expiresAt": "2024-12-31" }
Development
-
Requirements:
# Node.js environment # Cloudflare account # pnpm package manager -
Installation:
git clone https://github.com/ccbikai/Sink.git cd Sink pnpm install -
Configuration:
# Copy environment variables cp .env.example .env # Configure your settings -
Development Server:
pnpm dev
Deployment
-
Cloudflare Setup:
- Create a Cloudflare Pages project
- Configure environment variables
- Set up KV namespace
- Enable Analytics Engine
- Configure Workers AI (optional)
-
Environment Variables:
NUXT_SITE_TOKEN=your-secure-token NUXT_CF_ACCOUNT_ID=your-account-id NUXT_CF_API_TOKEN=your-api-token
Contributing
We welcome contributions in various forms:
- Feature development
- Bug fixes
- Documentation improvements
- UI/UX enhancements
- Performance optimization
Please read our Contributing Guide before submitting changes.
Support
- Documentation: Official Docs
- Issues: Report on GitHub
- Community: Join our discussions
License
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.
Made with ❤️ by ccbikai