webp3 es una humilde aplicación web (servidor) para reproducir archivos de audio de forma remota.
Por lo general, aloja webp3 en su máquina (o servidor) personal de su hogar donde se encuentran sus archivos de música, y luego puede escuchar la música de forma remota en su lugar de trabajo o en un dispositivo portátil en su navegador. Está diseñado para uso personal.
No, no hay funciones sociales/que exploten los datos del usuario y no, no está alojado en una nube de un millón de dólares, está alojado en su máquina o en su servidor.
webp3 expone un árbol de carpetas y archivos que se pueden explorar a través de la interfaz web. Se especifican algunos directorios raíz en la línea de comandos para ejecutar webp3 , y todo el contenido bajo esas raíces simplemente se expone en la interfaz web, ya que no hay permisos detallados.
Un reproductor HTML5 permite reproducir archivos de audio desde un directorio solicitado.
Está diseñado para servir a árboles donde una carpeta es un álbum (o contiene otras carpetas). ID3 no es necesario ya que no se utiliza.
Captura de pantalla de webp3 que muestra una lista de archivos y los botones anterior/pausa/siguiente" style="max-width: 100%;">
webp3 se basa únicamente en la etiqueta <audio>
de HTML5. Por lo tanto, la compatibilidad con el formato de archivos de audio (como MP3) depende de su navegador y sistema operativo.
Cuando el tipo mime application/json
está presente en el encabezado HTTP Accept
, la lista del directorio explorado se devuelve en formato JSON.
Cuando el tipo mime audio/x-mpegurl
está presente en el encabezado HTTP Accept
, o si la URL termina en ?m3u
, la lista de archivos del directorio examinado se devuelve en formato de lista de reproducción M3U. Por tanto, la URL se puede proporcionar a un reproductor de audio como VLC.
webp3 se puede ejecutar como contenedor:
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 desea tener varios directorios de música que no estén bajo el mismo directorio principal, agregue varios volúmenes a los subdirectorios /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
Primero, ejecute algo como:
webp3 .py -p 8000 music=/path/to/some/files music2=/another/folder/to/share
El comando no finalizará, los archivos se entregarán mientras se esté ejecutando webp3 .
Abra http://localhost:8000 para ver (¡y reproducir!) la música.
Habrá 2 raíces, /music y /music2, que servirán respectivamente el contenido completo de /path/to/some/files y /otra/carpeta/a/share.
Banderas de línea de comando:
-p PORT
webp3 escuchará en el puerto (predeterminado: 8000)
Si no es necesario tener múltiples raíces, es posible ejecutar en su lugar
webp3 .py -p 8000 --single-root /path/to/some/files
webp3 se puede configurar para que se ejecute como una aplicación WSGI, por ejemplo, para que lo proporcione una instancia de Apache existente. Al usar WSGI, las asignaciones que se pasaron en la línea de comandos ahora deben colocarse en un archivo webp3 .conf
, con una entrada NAME=PATH
por línea.
Usando el script documentado en la carpeta apache
, la instalación es la siguiente:
El uso de una instancia de Apache para ejecutar webp3 WSGI permite:
Si no utiliza la ubicación predeterminada, el archivo de configuración se puede pasar en la variable env webp3 _CONF
.
webp3 está escrito en Python 3 y usa:
webp3 no escribe archivos. Sin embargo, da acceso a todos los archivos y carpetas contenidos en los directorios especificados en su configuración. Por lo tanto, el directorio que contiene datos confidenciales no debe incluirse en su configuración.
webp3 no dispone por sí solo de ningún mecanismo de autenticación para restringir el acceso a su contenido. Si esto se desea, se debe utilizar un proxy o se puede configurar el acceso en un servidor WSGI existente (como Apache).
webp3 lee archivos con los permisos del proceso. Por ejemplo, si usa WSGI, es probable que webp3 lea archivos con los permisos del usuario www-data
. webp3 no sigue enlaces simbólicos.
En PyPI:
pipx install webp3
webp3 tiene la licencia pública do What The Fuck you want v2.