>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Go

Alojamiento de video personal desde la nube sin carga del servidor — explorando el proyecto 91

A veces quieres configurar tu propio servidor de medios para un archivo personal o grabaciones caseras, pero inmediatamente te encuentras con limitaciones de recursos. Una máquina virtual económica generalmente viene con un modesto disco de 20 gigabytes y ancho de banda limitado. Transmitir un par de archivos de video pesados satura fácilmente la red, y almacenar gigabytes de contenido requiere comprar constantemente más espacio.

Hace poco me encontré con un proyecto con el conciso nombre 91. Es una solución privada de alojamiento de video construida con Go que resuelve el problema del espacio en disco y el tráfico con un simple truco. Utiliza tu almacenamiento en la nube existente y sirve los videos a través de redirecciones directas.

¿Cuál es la característica principal

Los servidores de medios regulares como Plex o Jellyfin enrutan todos los flujos de video pesados a través de su propio procesador e interfaz de red. Si tu servidor está en un VPS barato, la transcodificación y distribución rápidamente alcanzan un techo.

El Proyecto 91 funciona de manera diferente. Maneja las tareas de un catálogo, panel de administración y generador de interfaz web. Cuando reproduces un video, el servidor envía al navegador un HTTP 302 con un enlace directo al CDN de almacenamiento en la nube. Como resultado, el tráfico del VPS solo se usa para servir la página web en sí y las miniaturas, mientras que el flujo de video va directamente desde el proveedor de la nube al usuario.

El proyecto puede conectarse a WebDAV, Google Drive, OneDrive, así como nubes asiáticas populares como PikPak, 115 y 123pan.

Pantalla principal

Qué hay dentro: desde el feed de TikTok hasta enlaces que expiran

El desarrollador agregó varias características específicas que rara vez se ven en reproductores autoalojados estándar.

Videos cortos

Con un clic de botón, la interfaz cambia a un feed vertical similar a TikTok o Reels. Los videos se desplazan con la rueda del ratón o gestos. Aunque el autor menciona honestamente en el README que este modo aún no funciona perfectamente en iOS.

Compartir una sola vez

Los videos se pueden compartir usando un principio de visualización unidireccional. Se genera un enlace especial a través del cual el archivo se reproduce exactamente una vez sin autorización. Cuando intentas abrir la página nuevamente, se deniega el acceso al video.

Página para compartir

Pantalla triple para videos verticales

Al ver video vertical en un monitor ancho de computadora, el reproductor puede expandir la imagen en tres secciones, llenando las áreas laterales con duplicados borrosos. Una consideración importante: este modo hace proxy del flujo a través de tu VPS, por lo que el enfoque de redirección 302 sin tráfico no aplica aquí.

| Pantalla simple | Pantalla triple | |---|---| | Pantalla simple | Pantalla triple |

Rastreadores personalizados

El sistema incluye soporte integrado para scripts externos que automáticamente populan la biblioteca de medios. El repositorio SpiderFor91 contiene especificaciones para crear analizadores personalizados.

Reproductor

Cómo desplegarlo

En su interior, Go y SQLite mantienen el proyecto ligero. Hay dos rutas de instalación estándar disponibles.

Script de instalación listo para usar

Si estás ejecutando en un sistema limpio de Ubuntu o Debian, puedes usar el script de Bash del repositorio:

sudo apt update && sudo apt install -y curl ca-certificates
curl -fsSL https://raw.githubusercontent.com/nianzhibai/91/main/install.sh -o install.sh
sudo bash install.sh

Después de la instalación, una utilidad CLI 91 estará disponible en el sistema para gestionar el servicio. A través de ella puedes verificar el estado, ver los logs y actualizar el binario:

91 status     # Проверить статус
91 logs       # Посмотреть логи
91 update     # Обновить сервис

Despliegue mediante Docker Compose

Para quienes prefieren la contenedorización, es más fácil levantar los servicios usando el archivo Compose estándar:

mkdir video-site-91 && cd video-site-91
curl -fsSL https://raw.githubusercontent.com/nianzhibai/91/main/docker-compose.yml -o docker-compose.yml
docker compose up -d

Todos los datos se almacenan localmente en varios archivos:

  • ./data/config.yaml contiene las credenciales del administrador y los tokens de la nube.
  • ./data/video-site.db almacena la base de datos SQLite.
  • ./data/previews/ se usa para el caché de portadas y previsualizaciones.

Panel de administración

¿Vale la pena probarlo

El Proyecto 91 es un hallazgo interesante para quienes necesitan una interfaz web simple sobre almacenamiento en la nube sin gastar demasiado en un servidor potente. Gracias a las redirecciones 302, el sistema puede ejecutarse fácilmente incluso en el VPS más barato por un par de dólares al mes.

El inconveniente obvio es la barrera del idioma: la documentación y parte de la interfaz están inicialmente orientadas al segmento de internet de habla china. Sin embargo, WebDAV básico y nubes internacionales funcionan sin problemas. Si necesitas un reproductor privado con funcionalidad de enlace de un solo uso y modo vertical, este proyecto definitivamente vale la pena explorar.

Proyectos relacionados