webp3 é um humilde aplicativo web (servidor) para reproduzir seus arquivos de áudio remotamente.
Normalmente, você hospeda webp3 em sua máquina doméstica pessoal (ou servidor) onde estão seus arquivos de música e pode então ouvir a música remotamente em seu local de trabalho ou em um dispositivo portátil em seu navegador. Ele foi projetado para uso pessoal.
Não, não há nenhum recurso social/exploração de dados do usuário e não, ele não está hospedado em alguma nuvem de um milhão de dólares, está hospedado em sua máquina ou em seu servidor.
webp3 expõe uma árvore de pastas e arquivos que podem ser navegados através da interface web. Alguns diretórios raiz são especificados na linha de comando para executar webp3 e todo o conteúdo dessas raízes é simplesmente exposto na interface da web, pois não há permissões refinadas.
Um player HTML5 permite reproduzir os arquivos de áudio de um diretório solicitado.
Ele foi projetado para servir árvores onde uma pasta é um álbum (ou contém outras pastas). ID3 não é necessário porque não é usado.
captura de tela do webp3 mostrando uma lista de arquivos e os botões anterior/pausa/próximo" style="max-width: 100%;">
webp3 depende exclusivamente da tag <audio>
do HTML5. Portanto, o suporte ao formato de arquivo de áudio (como MP3) depende do navegador e do sistema operacional de visualização.
Quando application/json
mimetype está presente no cabeçalho Accept
HTTP, a listagem do diretório navegado é retornada no formato JSON.
Quando audio/x-mpegurl
mimetype está presente no cabeçalho HTTP Accept
, ou se o URL termina com ?m3u
, a listagem de arquivos no diretório navegado é retornada no formato de lista de reprodução M3U. Assim, a URL pode ser fornecida a um reprodutor de áudio como o VLC.
webp3 pode ser executado como um contêiner:
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
Se você quiser ter vários diretórios de música que não estejam no mesmo diretório pai, adicione vários volumes aos subdiretórios /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
Primeiro, execute algo como:
webp3 .py -p 8000 music=/path/to/some/files music2=/another/folder/to/share
O comando não será encerrado, os arquivos serão servidos enquanto webp3 estiver em execução.
Abra http://localhost:8000 para ver (e tocar!) a música.
Haverá 2 raízes, /music e /music2, servindo respectivamente o conteúdo completo de /path/to/some/files e /another/folder/to/share.
Sinalizadores de linha de comando:
-p PORT
webp3 escutará na porta (padrão: 8000)
Se não for necessário ter múltiplas raízes, é possível executar
webp3 .py -p 8000 --single-root /path/to/some/files
webp3 pode ser configurado para ser executado como um aplicativo WSGI, por exemplo, para ser servido por uma instância existente do Apache. Ao usar WSGI, os mapeamentos que foram passados na linha de comando agora devem ser colocados em um arquivo webp3 .conf
, com uma entrada NAME=PATH
por linha.
Usando o script documentado na pasta apache
, a instalação é a seguinte:
Usar uma instância do Apache para executar o WSGI webp3 permite:
Se não estiver usando o local padrão, o arquivo de configuração pode ser passado na variável env webp3 _CONF
.
webp3 é escrito em Python 3 e usa:
webp3 não grava arquivos. Porém, dá acesso a todos os arquivos e pastas contidos nos diretórios especificados em sua configuração. Portanto, o diretório que contém dados confidenciais não deve ser colocado em sua configuração.
webp3 não possui por si só nenhum mecanismo de autenticação para restringir o acesso ao seu conteúdo. Se isso for desejado, um proxy deverá ser usado ou o acesso poderá ser configurado em um servidor WSGI existente (como o Apache).
webp3 lê arquivos com as permissões do processo. Por exemplo, se estiver usando WSGI, webp3 provavelmente lerá arquivos com as permissões do usuário www-data
. webp3 não segue links simbólicos.
No PyPI:
pipx install webp3
webp3 está licenciado sob a Licença Pública do What The Fuck you Want v2.