webp3 est une humble application Web (serveur) pour lire vos fichiers audio à distance.
En règle générale, vous hébergez webp3 sur votre ordinateur personnel (ou serveur) où se trouvent vos fichiers musicaux, et vous pouvez ensuite écouter la musique à distance sur votre lieu de travail ou sur un appareil portable dans votre navigateur. Il est conçu pour un usage personnel.
Non, il n'y a aucune fonctionnalité d'exploitation des données utilisateur/sociale et non, ce n'est pas hébergé sur un cloud d'un million de dollars, il est hébergé sur votre machine ou votre serveur.
webp3 expose une arborescence de dossiers et de fichiers pouvant être parcourus via l'interface Web. Quelques répertoires racine sont spécifiés sur la ligne de commande pour exécuter webp3 , et tout le contenu sous ces racines est simplement exposé sur l'interface Web, car il n'y a pas d'autorisations précises.
Un lecteur HTML5 permet de lire les fichiers audio depuis un répertoire demandé.
Il est conçu pour servir des arborescences dans lesquelles un dossier est un album (ou contient d'autres dossiers). ID3 n'est pas nécessaire car il n'est pas utilisé.
Capture d'écran webp3 montrant une liste de fichiers et les boutons précédent/pause/suivant" style="max-width: 100%;">
webp3 s'appuie uniquement sur la balise <audio>
de HTML5. Ainsi, la prise en charge du format de fichier audio (comme MP3) dépend de votre navigateur de visualisation et de votre système d'exploitation.
Lorsque le type MIME application/json
est présent dans l’en-tête HTTP Accept
, la liste du répertoire parcouru est renvoyée au format JSON.
Lorsque le type MIME audio/x-mpegurl
est présent dans l'en-tête HTTP Accept
, ou si l'URL se termine par ?m3u
, la liste des fichiers du répertoire parcouru est renvoyée au format de liste de lecture M3U. Ainsi, l'URL peut être donnée à un lecteur audio comme VLC.
webp3 peut être exécuté en tant que conteneur :
podman run --rm -d
-e webp3 _BASE_URL=https://your.example/webp3/
-v /path/to/some/files:/media:ro
-p 8000:8000
registry.gitlab.com/hydrargyrum/ webp3
Si vous souhaitez avoir plusieurs répertoires musicaux qui ne sont pas sous le même répertoire parent, ajoutez plusieurs volumes aux sous-répertoires /media
:
podman run --rm -d -v /path/to/some/files:/media/first:ro -v /another/folder/to/share:/media/second:ro -p 8000:8000 registry.gitlab.com/hydrargyrum/ webp3
Tout d'abord, exécutez quelque chose comme :
webp3 .py -p 8000 music=/path/to/some/files music2=/another/folder/to/share
La commande ne se terminera pas, les fichiers sont servis tant que webp3 est en cours d'exécution.
Ouvrez http://localhost:8000 pour voir (et jouer !) la musique.
Il y aura 2 racines, /music et /music2, servant respectivement le contenu complet de /path/to/some/files et /another/folder/to/share.
Indicateurs de ligne de commande :
-p PORT
webp3 écoutera sur le port (par défaut : 8000)
S'il n'est pas nécessaire d'avoir plusieurs racines, il est possible d'exécuter à la place
webp3 .py -p 8000 --single-root /path/to/some/files
webp3 peut être configuré pour s'exécuter en tant qu'application WSGI, par exemple pour être servi par une instance Apache existante. Lors de l'utilisation de WSGI, les mappages transmis en ligne de commande doivent désormais être placés dans un fichier webp3 .conf
, avec une entrée NAME=PATH
par ligne.
À l'aide du script documenté dans le dossier apache
, l'installation est la suivante :
L'utilisation d'une instance Apache pour exécuter le WSGI webp3 permet :
Si vous n'utilisez pas l'emplacement par défaut, le fichier de configuration peut être transmis dans la variable d'environnement webp3 _CONF
.
webp3 est écrit en Python 3 et utilise :
webp3 n'écrit pas de fichiers. Cependant, il donne accès à tous les fichiers et dossiers contenus dans les répertoires spécifiés dans sa configuration. Par conséquent, un répertoire contenant des données sensibles ne doit pas être mis dans sa configuration.
webp3 ne dispose en lui-même d'aucun mécanisme d'authentification pour restreindre l'accès à son contenu. Si cela est souhaité, un proxy doit être utilisé ou l'accès peut être configuré sur un serveur WSGI existant (comme Apache).
webp3 lit les fichiers avec les autorisations du processus. Par exemple, si vous utilisez WSGI, webp3 lira probablement les fichiers avec les autorisations de l'utilisateur www-data
. webp3 ne suit pas les liens symboliques.
Sur PyPI :
pipx install webp3
webp3 est sous licence publique do What The Fuck you wanted v2.