Ok, acho que entendi.
Primeiro eu instalei o Lighttpd, php5 e mysql no roteador seguindo as instruções aqui: link
Depois, procurei servidores de mídia baseados em PHP que funcionassem com o roteador e encontrei Zina . Bem, na verdade, o primeiro que encontrei foi Simplifique , mas esse requer o php-iconv, que eu não consegui instalar no roteador .
Instalar o Zina foi bastante simples, praticamente tudo o que eu tinha que fazer era configurar as opções de banco de dados e consertar o caminho de URL / documento padrão para que imagens / folhas de estilo / coisas semelhantes fossem carregadas corretamente.
No entanto, notei que o servidor Zina não era acessível a partir de hosts externos, então adicionei a seguinte regra iptables
no roteador:
iptables -I INPUT 1 -p tcp --dport 33333 -j ACCEPT
... 33333 é a porta que configurei para o Lighttpd escutar. Como alternativa, desativar completamente o firewall do roteador também fazia com que o servidor de mídia ficasse acessível a partir de IPs externos, embora eu não recomende essa abordagem.
Neste momento, os únicos problemas restantes são:
- A Zina parece permitir o acesso não autenticado aos arquivos de áudio.
- Preciso garantir que minha regra
iptables
personalizada será aplicada automaticamente quando o roteador for reinicializado.
Esse primeiro é um grande negócio. Talvez eu possa consertá-lo ativando mod_auth
no Lighttpd.
Edit: mod_auth fez o truque.
Editar 2: também acabei modificando parte do código-fonte da zina para escrever <user>:<password>@
na URL da lista de reprodução que ele gera. Pára os media players que não sabem como lembrar os detalhes da conta solicitando um nome de usuário / senha sempre que uma nova música for iniciada.