Sign inSign up

uraniadev/snapp

By uraniadev

•Updated 4 months ago

Your self-hostable URL shortening service.

Image
Networking
2

100K+

uraniadev/snapp repository overview

⁠Snapp

If you're seeking a self-hosted URL shortening solution, Snapp might be what you need. It's designed for those who value control over their URL management and want to explore various technologies.

⁠A Brief Introduction

This project began as a personal endeavor to explore new technologies and make use of free time. With version 0.7, some development issues emerged, prompting a complete redesign and rebuild. By version 0.8, we've laid the groundwork for what will become the first version 1.

Currently, you can migrate URLs between versions using a CSV export tool. Note that these files are only valid for direct transitions from one version to the next; for example, exports from version 0.6 to 0.7 won't work for moving from 0.7 to 0.8. We’ve reverted to using Prisma to ensure a more stable and maintainable platform going forward.

This latest version supports multiple architectures, including ARM and ARM64 platforms, and offers integration with various databases, now accessible with just a ENV Variable.

⁠Features

  • Intuitive User Interface: Snapp offers a user-friendly interface for easy link shortening.
  • Secure Authentication: Enjoy secure sessions for your user. Their information is protected.
  • Custom Short Codes: Personalize your short codes to make your links memorable and easy to share.
  • Expiration Dates: Manage link lifespans with expiration dates. You can set expiry dates for added security or let links remain active indefinitely.
  • Secret Links: Enhance security with secret links, allowing you to share with a select audience using unique secrets.
  • Usage Analytics: Access detailed, anonymous analytics for your links. Snapp provides insights into link engagements.
  • Extended Metrics: Integrate Snapp with your self-hosted or cloud-based Umami Analytics for advanced metrics.
  • URL Reputation Check: Ensure the safety of links with VirusTotal API reputation checks.
  • REST API: Community-requested REST API endpoints enable remote management of your Snapp instance. Find all Swagger Docs here⁠.

⁠Getting Started

Snapp is an open-source platform you can host yourself.

⁠Testing Version 0.8

For the 0.8 version, you’ll need to migrate URLs using the CSV Exporter. Here’s a sample configuration:

services:
  snapp:
   image: uraniadev/snapp:0.8
   ports:
    - 3000:3000
   environment:
    DATABASE_URL: "file:./db.sqlite"
    DATABASE_PROVIDER: sqlite # mysql | sqlite | pg
    TOKEN_SECRET: # openssl rand -base64 32
    ORIGIN: https://example.com

⁠Migration

The latest versions of Snapp include CSV Export to facilitate migration. Simply log in and import your URLs from the dashboard, and continue from where you left.

⁠The Stack

The technology involved:

  • Svelte Kit
  • Prisma
  • Lucia Auth
  • Tailwind CSS
  • MaxMind
  • Phosphor Icons
  • SwaggerUI
  • AMCharts
  • ChartJS

Tag summary

Content type

Image

Digest

sha256:ffbbdca25…

Size

341.7 MB

Last updated

4 months ago

docker pull uraniadev/snapp