A powerful, self-hosted URL shortener with analytics and link-in-bio pages. The free Bitly alternative.
Features β’ Quick Start β’ Deploy β’ Docs
Syano is a free, open-source URL shortener that gives you complete control over your links and data. Unlike Bitly, your data stays on your server with no tracking or limitations.
- π Privacy First - Your data stays on your server
- π Fast & Reliable - Optimized for performance
- π¨ Beautiful UI - Modern design with dark mode
- π Analytics - Track clicks, geography, and referrers
- π§ Easy Setup - Deploy in minutes
- π° Free & Opensource - AGPL-3.0 licensed
- Custom Short Links - Create memorable URLs with custom slugs
- Link Organization - Organize with tags and comments
- QR Codes Generation - Generate QR Codes of URL and also collect scan data.
- Search & Filter - Find links quickly
- Link Expiration - Set automatic expiration dates
- Password Protection - Secure sensitive links
- Device Targeting - Different URLs for iOS/Android
- Bulk Import/Export - Import thousands of links from JSON
- Real-time Analytics - Track clicks as they happen
- Geographic Data - Interactive world map with country/city data
- Device Insights - OS, browser, and device breakdown
- Referrer Tracking - See where traffic comes from
- Beautiful Bio Pages - Customizable link-in-bio like Linktree
- Profile Customization - Name, bio, avatar, and social links
- Share Profile - One-click sharing
Netlify+NeonDB https://syano.netlify.app/
Help collect more samples: https://syano.netlify.app/gmap https://syano.netlify.app/smo5r https://syano.netlify.app/jubfz https://syano.netlify.app/klcvx https://syano.netlify.app/84jdnh https://syano.netlify.app/klcvx https://syano.netlify.app/4gxp72
- Node.js 18+
- PostgreSQL 14+
- pnpm or npm
git clone https://github.com/pritush/syano.git
cd syano
pnpm installcp .env.example .envEdit .env:
NUXT_DATABASE_URL=postgresql://user:password@host:5432/database
NUXT_SITE_TOKEN=your-secure-random-token
NUXT_SITE_USER=root# Create database
createdb syano
# Import schema
psql -d syano -f database/schema.sqlpnpm devVisit http://localhost:7466 and login with your token.
- β Local - PostgreSQL, Node, Docker
- β Supabase - Serverless PostgreSQL
- β Neon - Serverless PostgreSQL
- β Aiven - Serverless PostgreSQL
- β Self-hosted - Any PostgreSQL instance
docker run -d \
--name syano-db \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=syano \
-p 5432:5432 \
postgres:14
docker exec -i syano-db psql -U postgres -d syano < database/schema.sqlnpm i -g netlify-cli
netlify deploy --prodDeploy on any server with Node.js and PostgreSQL support.
- Nuxt 3 - Vue.js framework
- Nuxt UI - UI components
- Tailwind CSS - Styling
- PostgreSQL - Database
- Drizzle ORM - Type-safe ORM
See database/schema.sql for the complete database schema. You can run the SQL queries in your postgres database (cloud or hosted) to create tables.
# Required
NUXT_DATABASE_URL=postgresql://user:pass@host:5432/database
NUXT_SITE_TOKEN=your-secure-random-token
NUXT_SITE_USER=admin
# Optional
NUXT_CACHE_TTL=30
NUXT_REDIRECT_STATUS_CODE=301
NUXT_PUBLIC_SLUG_DEFAULT_LENGTH=6Contributions are welcome! Please feel free to submit issues and pull requests.
This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.

