Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

shrl-io

shrl.io es un acortador de URLs y analizador de tráfico autoalojado priorizando la privacidad. Construido con microservicios en Go, utiliza PostgreSQL para datos persistentes y Redis para caché y streams.

Ficha actualizada 24 sept 2026, 2:22 · upstream 24 sept 2026, 1:55 · release v0.2.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es shrl-io

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

shrl.io es una herramienta de autoalojamiento diseñada para acortar URLs y analizar tráfico con un enfoque estricto en la privacidad. La arquitectura se basa en microservicios escritos en Go, incluyendo un servicio API interno accesible solo por el frontend, un servicio de autenticación público con soporte para claves API, un redirecciónor optimizado y un worker de analítica. Esta separación permite escalabilidad y seguridad al aislar las funciones críticas.

CASOS DE USO
  • Gestión de enlaces propios para campañas de marketing sin depender de servicios externos como Bit.ly.
  • Análisis de tráfico detallado (UTM, referrer, geolocalización) para equipos que requieren privacidad y control de datos.
  • Despliegue en infraestructura propia (on-premise o nube privada) para cumplir con normativas estrictas de seguridad.
  • Automatización de redirecciones mediante scripts usando claves API seguras sin exponer credenciales de sesión.
  • Generación de códigos QR para enlaces cortos directamente desde la interfaz administrativa.
PUNTOS DESTACADOS
  • Arquitectura basada en microservicios en Go con redirecciones submilisegundo gracias a Redis.
  • Privacidad garantizada: no se almacenan IPs brutas, solo hashes derivados y agregados.
  • Interfaz administrativa completa en SvelteKit para gestión de usuarios, equipos y enlaces sin necesidad de CLI.
  • Soporte nativo para análisis multidimensional (UTM, dispositivo, navegador, país) con mapas geográficos.
  • Seguridad robusta: protección contra redirecciones abiertas, autenticación por tokens bearer y limitación de tasa integrada.
  • Licencia MIT y despliegue simplificado mediante imágenes precompiladas en ghcr.io.
PRECAUCIONES
  • El repositorio indica explícitamente 'pre-1.0' y recomienda tratar el despliegue como beta, evitando usar la etiqueta :latest en producción sin fijar versiones.
  • La geolocalización detallada (ciudad/region) requiere una licencia gratuita de MaxMind configurada manualmente; sin ella, los datos se reportan como 'unknown'.
  • No existe autenticación basada en SMTP para recuperación de contraseñas; la administración debe gestionar resets manuales o usar claves API.
  • La interfaz administrativa y el API interno están diseñados para ser accedidos solo por el frontend, requiriendo configuración proxy adecuada para scripts externos.
  • El sistema no permite autogestión de usuarios (self-registration); los administradores deben crear cuentas manualmente o mediante invitación con código.
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Dashboard with a 14-day traffic chart, top links, sources, environment, location, and a world map of visitor countriesLink detail with lifetime analytics, per-day chart, breakdowns, campaigns, and QR code
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

Utilizar 'podman compose up -d' para levantar el stack completo, pero fijar versiones específicas en lugar de :latest debido a que es software pre-1.0. Configurar variables de entorno como SHRL_RETENTION_DAYS y SHRL_GEOLITE_LICENSE según necesidades. Asegurar que los puertos 8082 (API), 8080 (Frontend) y 6379 (Redis) estén accesibles correctamente. Verificar la configuración de seguridad para el API interno y las claves de autenticación antes de exponer al público.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGo
SERVICIOS
PostgreSQLRedis
BASES DE DATOS
PostgreSQLRedis
PUERTOS
80828080808363795432
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.