Nota: Este proyecto ya no se mantiene. El sucesor es: https://github.com/horahoradev/prometheustube
Comuníquese conmigo si desea participar.
Horahora
Archivo local, navegar y compartir videos de casi cualquier sitio
Te permite:
- Descargar y sincronizar continuamente videos de cualquier enlace compatible con YT-DLP
- Explorar videos descargados por canal, etiqueta, vistas, calificación, fecha de carga, etc.
- Administre el archivo con un grupo de amigos o usuarios no confiables, con las descargas priorizadas por el número de usuarios suscritos a la categoría del video
- Administrar permisos de usuario del sitio, prohibir a los usuarios, eliminar videos y ver registros de auditoría para acciones de administración/moderador
Únase a nuestra discordia: https://discord.gg/pcksgbzmth




Las capacidades de archivo son proporcionadas por YT-DLP (una bifurcación de YouTube-DL).
Una palabra de advertencia: esta aplicación es bastante pesada y la configuración puede ser complicada. Si está buscando algo más simple, consulte: https://github.com/tubearchivist/tubearchivist
Instrucciones de uso (comienza aquí)
- Instale Docker, Python3 y Docker-Compose
- ./up.sh
- responder a las solicitudes de entrada
- Espera un minuto, luego visita Localhost: 80
- Iniciar sesión como Admin/Admin
- Tenga en cuenta que con el flujo de trabajo de aprobación de video actual, los usuarios que no son de Administradores no podrán ver videos no aprobados
- Se recomienda visitar /retirar contraseña de inmediato para cambiar la contraseña predeterminada del usuario administrativo si se usa en un entorno no confiable
- Navegue a la página de solicitudes de archivo desde el menú de hamburguesas, agregue un enlace y espere unos minutos
Eso es todo para el uso básico y debería funcionar. Si eso no funciona, molestarme en Discord.
Que contribuye
Las contribuciones siempre son bienvenidas. Consulte Contriping.MD para obtener más detalles, incluido un resumen de arquitectura.
Diseños
Los diseños se enumeran aquí: https://github.com/horahoradev/horahora-Designs
Lista de funciones más detallada
- Performante en 170k videos, incluso para todas las variedades de consultas de búsqueda
- Soporte para videos que se han eliminado del origen (por ejemplo, si el sitio original elimina el video, no hay impacto en su instancia)
- Soporte para comentarios, ver recuento, clasificaciones de usuarios
- flujo de trabajo de aprobación de video que evita que los usuarios normales vean videos antes de que se hayan aprobado
- Soporte para TOS/Política de privacidad
- Content Archival modelado como suscripciones de usuarios de uno a muchos, por lo que los usuarios "se suscriben" a una categoría (enlace), y los enlaces se priorizan de acuerdo con el número de suscriptores
- Soporte para cualquier sitio web compatible con YT-DLP que tenga los metadatos requeridos (pero solo uso el cajero automático YT/Nicovideo)
- Creación artificial de usuarios: los videos archivados se agruparán bajo un usuario de Horahora creado para el usuario del sitio web archivado (por ejemplo, si archivo de Rusia hoy, entonces un usuario de Rusia Today se creará en Horahora)
- Soporte para el túnel YT-DLP a través de Gluetun (ver más abajo para la configuración)
- moderno de modo oscuro
Casos de uso avanzados
Otros backends de almacenamiento (S3, Backblaze, cualquier cosa compatible con S3)
Por defecto, Horahora almacenará videos localmente usando Minio.
Si no desea que los videos se almacenen localmente, modifique .env, agregando los valores relevantes para su caso de uso.
- ORIGIN_FQDN: this will be the public URL of your Backblaze bucket WITH NO TRAILING SLASH. E.g. for me it's: https://f002.backblazeb2.com/file/otomads for backblaze, or https://horahora-dev-otomads.s3-us-west-1.amazonaws.com for s3.
- STORAGE_BACKEND: 'b2' or 's3' (depending on which you want to use)
- STORAGE_API_ID: the API ID for your Backblaze account if using backblaze, otherwise blank
- STORAGE_API_KEY: The API key for your Backblaze account, otherwise blank
- BUCKET_NAME: the storage bucket name for b2 or s3
Si desea usar S3, debe incluir sus credenciales de AWS y configurar en $ Home/.AWS. La configuración y las credenciales se montarán en los servicios relevantes en tiempo de ejecución. Consulte https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html para obtener más información.
Túnel de tráfico YT-DLP
Horahora viene con soporte de Gluetun fuera de la caja. Para habilitarlo, deberá establecer los valores adecuados en la sección "Configación VPN" del archivo Secrets.env.template. Esto permitirá que su tráfico YT-DLP se tune a través de su proveedor de VPN a través de un proxy local Gluetun HTTP.
Restauración de copia de seguridad
(Esto no funciona actualmente, lo arreglaré más tarde)
BackUp_Service escribe volcados PSQL de las tres bases de datos (UserService, VideoService, Scheduler) para Backblaze. Para restaurar, coloque los tres últimos vertederos en el directorio de SQL, docker-compose up , ejecute migraciones y luego ejecute RESTORE.SH desde el contenedor.
Dedicación
Este repositorio está dedicado a mi amigo Zihao de Otomads.com (desaparecido). Espero que todavía estés vivo ...