Files
snapp/README.md
urania-dev 9d37d478b9 v.8
2024-08-07 20:11:29 +02:00

2.5 KiB
Raw Blame History

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. Weve 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, youll need to migrate URLs using the CSV Exporter. Heres 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