Snapp
Looking for a reliable, self-hostable URL shortening solution? Look no further! Snapp is the perfect tool for individuals and businesses seeking control over their URL management.
Our Features
User friendly interface
Snapp provides a user-friendly interface for seamless link shortening. Read how to get started!
Secure Authentication
Enjoy a secure experience with authentication sessions and hashed passwords. Your information is in safe hands.
Custom Short Codes
Create personalized short codes for your links to make them memorable and easy to share.
Expiration
Control the lifespan of your links with expiration dates. Set expiry dates for added security or let them stay active indefinitely.
Secret links
Add an extra layer of protection with secret links. Choose to share links with a selected audience using unique secrets.
Usage Analytics
Empower yourself with detailed analytics for every link you create. Snapp gathers metrics anonymously, providing insights into link engagements.
Extend Metrics
Integrate your Snapp Instance with your self-hosted or cloud Umami Analytics instance for advanced metrics of your Snapps.
Check URL reputation
Secure the links passing through your Snapp instance with a check on VirusTotal API reputation.
REST API
Community requested features that enables API Rest endpoint to create and manage your Snapps remotely. Read full Swagger Docs here.
Getting started
Snapp is a self-hostable open source platform
Manual installation
git clone https://github.com/urania-dev/snapp.git
npm install
.env.example
file cp .env.example .env && nano .env
npm run dev
npm run build
node -r dotenv/config build
Migration
Latest versions of Snapp included CSV Export in order to facilitate migration. Simply login and import your urls from dashboard, and continue from where you left.
Using Docker Container
version: "3"
services:
redis:
image: redis/redis-stack:latest
volumes:
- /etc/localtime:/etc/localtime:ro
- /home/snapp/redis:/data:rw
networks:
- snapp-stack
environment:
REDIS_ARGS: "--save 60 1 --appendonly yes"
# Optional: Requires `--requirepass mypassword` in REDIS_ARGS
snapp:
image: uraniadev/snapp:0.7.test
ports:
- 3000:3000
networks:
- snapp-stack
environment:
DB_HOST: redis
# DB_PASS:
AUTH_SECRET: # openssl rand -base64 32
networks:
snapp-stack:
external: false
You can find a better docker compose on our Github Repository.
The Stack
The technology involved
made with in urania