Remarque: Ce projet n'est plus maintenu. Le successeur est: https://github.com/horahoradev/prometheustube
Veuillez me contacter si vous souhaitez vous impliquer.
Horahora
Archiver localement, parcourir et partager des vidéos de presque tous les sites
Il vous permet de:
- Télécharger et synchroniser en continu des vidéos à partir de tout lien pris en charge par YT-DLP
- Parcourez les vidéos téléchargées par chaîne, balise, vues, note, date de téléchargement, etc.
- Gérer l'archivage avec un groupe d'amis ou d'utilisateurs non fiables, les téléchargements étant hiérarchisés par le nombre d'utilisateurs abonnés à la catégorie de la vidéo
- Gérer les autorisations des utilisateurs du site, interdire les utilisateurs, supprimer des vidéos et afficher les journaux d'audit pour les actions d'administration / modérateur
Rejoignez notre discorde: https://discord.gg/pcksgbzmth




Les capacités d'archives sont fournies par YT-DLP (une fourche de YouTube-DL).
Un mot d'avertissement: cette application est assez lourde et la configuration peut être compliquée. Si vous cherchez quelque chose de plus simple, consultez: https://github.com/tuarchiviste/tuarchiviste
Instructions d'utilisation (commencez ici)
- Installez Docker, Python3 et Docker-Compose
- ./Up.sh
- répondre aux demandes de contribution
- Attendez une minute, puis visitez LocalHost: 80
- Connexion en tant qu'administrateur / admin
- Notez qu'avec le workflow actuel d'approbation vidéo, les utilisateurs non à l'admin ne pourront pas afficher les vidéos non approuvées
- Il est recommandé de visiter / réinitialiser immédiatement le mot de passe pour modifier le mot de passe par défaut de l'utilisateur de l'administrateur si vous utilisez dans un environnement non fiable
- Accédez à la page des demandes d'archives dans le menu du hamburger, ajoutez un lien et attendez quelques minutes
C'est tout pour l'utilisation de base et devrait fonctionner. Si cela ne fonctionne pas, dérangez-moi sur Discord.
Contributif
Les contributions sont toujours les bienvenues. Veuillez consulter contribution.md pour plus de détails, y compris un aperçu architectural.
Dessins
Les conceptions sont répertoriées ici: https://github.com/horahoradev/horahora-desins
Liste des fonctionnalités plus détaillée
- Performant à 170k vidéos, même pour toutes les variétés de requêtes de recherche
- Prise en charge des vidéos qui ont été supprimées de l'origine (par exemple, si le site d'origine supprime la vidéo, il n'y a aucun impact sur votre instance)
- Prise en charge des commentaires, nombre de vues, notes d'utilisateurs
- flux de travail d'approbation vidéo qui empêche les utilisateurs normaux de voir des vidéos avant d'être approuvées
- Prise en charge des TOS / Politique de confidentialité
- Archivage de contenu modélisé comme des abonnements utilisateur un-à-plusieurs, afin que les utilisateurs "s'abonnent" à une catégorie (lien), et les liens sont prioritaires en fonction du nombre d'abonnés
- Prise en charge de tout site Web pris en charge par YT-DLP qui a les métadonnées requises (mais j'utilise uniquement YT / Nicovideo ATM)
- Création artificielle de l'utilisateur: les vidéos archivées seront regroupées sous un utilisateur de Horahora créé pour l'utilisateur du site Web archivé (par exemple, si j'archive de la Russie aujourd'hui, alors un utilisateur de la Russie aujourd'hui sera créé sur Horahora)
- Prise en charge du tunneling YT-DLP via Gluetun (voir ci-dessous pour la configuration)
- bascule en mode sombre
Cas d'utilisation avancés
Autres backends de stockage (S3, Backblaze, tout ce qui est compatible S3)
Par défaut, Horahora stockera des vidéos localement à l'aide de MINIO.
Si vous ne voulez pas que les vidéos soient stockées localement, modifiez .env, en ajoutant les valeurs pertinentes pour votre cas d'utilisation.
- 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 vous souhaitez utiliser S3, vous devez inclure vos informations d'identification AWS et configurer dans $ home / .aws. La configuration et les informations d'identification seront montées dans les services pertinents lors de l'exécution. Voir https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html pour plus d'informations.
Tunneling le trafic YT-DLP
Horahora est livré avec le support de Gluetun hors de la boîte. Pour l'activer, vous devrez définir les valeurs appropriées dans la section "VPN Config" du fichier Secrets.env.Template. Cela permettra à votre trafic YT-DLP d'être tunnel via votre fournisseur VPN via un proxy HTTP Gluetun local.
Restauration de sauvegarde
(Cela ne fonctionne actuellement pas, je vais le réparer plus tard)
Backup_Service écrit des vidages PSQL des trois bases de données (UserService, VideoService, Scheduler) à BackBlaze. Pour restaurer, placez les trois derniers vidanges dans le Dir SQL, docker-compose up , exécutez des migrations, puis exécutez Restore.sh à l'intérieur du conteneur.
Dévouement
Ce référentiel est dédié à mon ami Zihao d'Otomads.com (défunt). J'espère que tu es toujours en vie ...