Streaming de mídia pela WAN usando apenas um roteador

1

Veja as principais informações em segundo plano:

  1. Eu tenho um roteador Asus RT-N56U .
  2. Anexado ao roteador há um disco rígido USB com várias músicas nele.
  3. A música é acessível a dispositivos na minha LAN através de uPnP / DLNA; isso funciona muito bem.
  4. Minha conexão WAN é provisionada a 100 Mbps para baixo / 40 Mbps para cima.
  5. Eu quero usar um pouco dessa largura de banda upstream para transmitir minha música para mim mesmo onde quer que eu esteja.
  6. Eu poderia, mas não quero deixar um servidor em execução na minha rede 24 horas por dia, 7 dias por semana, para fazer isso quando o roteador já é capaz de compartilhar o conteúdo localmente.

Então, o que eu quero é alguma maneira de tornar o conteúdo que o roteador já é capaz de distribuir através da LAN acessível pela Internet também. Eu olhei em volta mas não encontrei nenhuma solução pré-configurada para isso que não envolvesse hospedar o conteúdo em um servidor por trás do roteador, o que eu gostaria de evitar.

O roteador tem suporte embutido para servir o conteúdo via FTP, mas eu tentei isso e descobri que ele realmente não funciona bem com os media players. Isso funciona, mas o tempo de busca ao alternar entre as faixas é absurdo, e algumas faixas simplesmente falham.

Um pensamento que eu tive é servir o conteúdo via HTTP instalando uma instância do Apache no roteador (e / ou editando a configuração da instância interna que fornece o portal de configuração, se isso for possível?). O roteador parece executar uma versão simplificada do Linux (eu consigo fazer o telnet / ssh, ele tem um sistema de arquivos, gerenciador de pacotes e coisas semelhantes).

Alguém configurou algo assim antes? Se sim, como você conseguiu isso? Ou se não, o que você sugere que eu tente?

    
por aroth 19.06.2013 / 09:42

1 resposta

0

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:

  1. A Zina parece permitir o acesso não autenticado aos arquivos de áudio.
  2. 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.

    
por 19.06.2013 / 15:24