domingo, 8 de enero de 2012

Oír musica fuera de casa

Oír tu música fuera de casa.
Lo hice por que quería ver si era posible, y lo voy a poner mas como recordatorio que como receta de cocina, al menos que solo un comentario que pida mas detalles así lo haré. También he de advertir que si es un usuario novel, casual y poco entusiasta o no te gusta investigar, favor de abstenerse y mejor contrate iTunes Match que por 300 pesos al año les resolverá la vida.
Dadas la advertencias empecemos.
Hay varias formas de hacerlo, seleccione la que mas le apetezca o pueda serle mas fácil o útil.
Existe un protocolo llamado mt-daap de Apple que permite compartir música en una LAN.
En el caso de Linux basado en debian basta poner en la consola sudo apt-get install mt-daap
En caso de Windows y Mac vean si hay versión para sus sistema operativo, para otros sabores de linux seguramente será fácil de instalar o usar Rhythmbox o Banshee, este último existe versión para Windows y Mac., En los complementos se activa compartir música y tendíamos lo inicial.
En caso de que hayan instalado el servidor mt-daap crea un servicio que se llama firefly, para tener la música en un solo lugar y oírla de forma local con VLC y iTunes. VLC quitó el soporte no se por que una lástima, y iTunes tiene un bug o algo que ya no la accede desde la versión 10.5 pero hay un fix, que googleando se puede resolver. Creo que Winamp al igual xmms tiene soporte, si usan Boxee, o XBMC también lo podrán usar.
Si son usuarios linux sin problema por que podemos acceder por medio de Banshee o Rhythmbox.
Si estamos en la red local solo al conectarnos a la red nos saldrá el nombre del servidor y listo podemos oír la música del servidor.
En el servidor que instalaron el programa entrando en el navagador se puede configurar con localhost:3689
Ahora si queremos acceder desde nuestro iPad, iPhone o iPod Touch, hay que bajarnos una aplicación gratuita que se llama. Simple Daap. Al abrir la aplicación nos muestra los servidores que tenemos y lo podremos usar.
Creo que Apple creo este protocolo con un restricción a 5 equipos la verdad no sé, nunca he conectado tantos de forma simultanea. Si son usuario de Android seguro en el Market de aplicaciones exista esta misma aplicación o una similar que acceda al protocolo daap. Por favor ahí avísenme por que no tengo un Android para poder probarlo.
Bueno y que pasa si estoy fuera de casa como lo puedo oír? que es lo que nos interesa. Una manera muy sencilla es con un VPN, configuramos el servidor o nuestro router si lo permite crear un VPN que iOS y Linux son muy fáciles de configurar los clientes. Conectamos a la VPN y listo con el programas antes expuestos funciona perfectamente, si la calidad de internet es buena sin cortes. Lo he probado en lugares públicos con infínitum movil y funciona, también hay que decir que los 2 MB de subida que me da Axtel, dan buen soporte para el servidor. Y así le sacamos mas provecho lo que pagamos al mes por nuestra conexión.

Bueno y que pasa si mi cliente es una Mac con iTunes, podemos crear y correr el siguiente script, sin necesidad de conectarnos a un VPN y nos saldrá la lista de los servidores dentro en nuestro mac.
Lo que se crea en realidad es un tunel por medio de ssh.
Creamos un archivo con el nombre que queramos por ejemplo script_tunnel.sh con este contenido
#!/bin/bash
dns-sd -P "nombre que queremos en la lista" _daap._tcp local 3690 localhost 127.0.0.1 &
PID=$!
ssh -N usuario@servidor -L 3690:localhost:3689
kill $PID

Le damos permisos de ejecución con chmod +x script_tunnel.sh y listo a oír música de forma remota con iTunes.
A los amigos de Redmond la verdad desconozco si sirva, no tengo un Windows para probar, y como no hay ssh de forma nativa como en el caso de *nix, tal vez puedan intentar con putty.
Si encuentro alguien que me preste una máquina Windows ya les diré si se pudo o no y veré si hay que hacer algún cambio.
Como recomendación verifiquen que en su router tienen abierto el puerto correspondiente para poder entrar en caso de que no sea el default 22 pongan después del ssh -p y el puerto que utilizan. Obviamente tienen que tener un servidor ssh del otro lado que puede ser en Linux o en Mac de forma nativa; en Windows una vez mas tendrán que buscar un servidor para esto.
Una opción mas les comentaba del servidor firefly, encontré un cliente web para este servidor, en este momento esta en beta, por lo que no funciona tan bien, pero sirve. Y a caballo dado pues no se le ve el colmillo y gracias a las personas que lo desarrollaron, en este caso hay que montarlo en el servidor web en el directorio root de donde se accederá, hay un archivo config.xml donde se puede configurar. En Web de computadoras o iPad se ve algo raro y no funciona de lo mejor, pero en pantallas de iPhone funciona bastante mejor y por lo que dice en la página de los desarrolladores lo pensaron inicialmente en esta plataforma pero dicen que le están dando soporte a otras plataformas. Para utilizarlo hay que poner el dominio/nombredelacarpeta donde se instaló la aplicación y por web podemos acceder a nuestra música en casa.

Esta de forma muy genérica como se puede leer y es algo extenso aún así. Si recibo comentarios de que haga mas detalles así lo haré e incluiré imágenes de los contrario se queda como está que me servirá de recordatorio por si necesito utilizarlo en otro lado que no sea mi equipo.

En conexiones como cablevisión no funcionará ya que no dan ip pública y cuesta una buena lana adicional al mes para tener esta salida. Pero servidores Infinitum, Axtel, MVS podrán usarlo, no se TotalPlay por que nunca he probado el servicio. Así amigos de Total Play si me pueden facilitar un par de meses probar su servicio sería para mi un honor.

Lista de Requerimientos generales.
Salida a Internet
Router Configurado
Servidor Linux, o Mac Se usará VPN (para algunos casos) WEB y SSH
En caso de Windows, instalar un servidor WEB(Apache, ISS), SSH y VPN
Clientes de música. Banshee, Rhythmbox, XBMC, BOXEE, XMMS, Winap, SoundTrack
Clientes SSH
Aplicación Simple Daap.

Creo que es todo lo que se necesita.

Ahora fuera de casa, he querido oír música, pero se me ocurrió bajar a Snow Leopard en un MacBook Air, con esta combinación no me funcionó el script para hacer el tunnel. Así que buscando me encontré con este que funciona perfectamente, así es que si no les funciona el anterior aquí tienen otro.
#!/bin/sh
dns-sd -P "Home iTunes" _daap._tcp local 3689 localhost.local. \
  127.0.0.1 "Arbitrary text record" &
trap "kill $!" 0 1 2 15
ssh -C -N -L 3689:localhost:3689 myusername@blahblahblah.dyndns.org
 
Sólo hay que modificar la parte de myusername@etc para que se adecué a sus necesidades.
  
 

Actualizado.
Me faltaba buscar en Windows como utilizarlo, a como costó trabajo, pero ya esta resuelto. iTunes definitivamente no funciona con el VPN, encontré que se podía hacer un tunnel con Putty, pero nada mas no pude hacerlo funcionar.
La forma como lo logré fué con Tomahawk, que por cierto hay versión para Windows, Linux y Mac, y la verdad que esta muy bueno el programa. Pero para que funcione hay que hacer lo siguiente.
Hay que instalar Python, en las variables de entorno agregué el Path para python27
Bajar este script https://github.com/Tito1337/daap-resolver/tarball/master
Y dentro del programa en configuración Resolvers se agrega el archivo daap-resolver.py, antes a este paso hay que editar este archivo y en Host ponemos la URL del servidor DAAP. Y ya lo que busquemos dentro de nuestro servidor DAAP ya lo podremos resolver, funciona con el VPN y en Local también.

iTunes solo Local, por que me parece que Bounjour no sirve por VPN solo de forma local.
Escribiré pronto sobre Tomahawk, por que me agradaron muchos detalles geniales que tiene y lo mejor que es multiplataforma.

1 comentario:

  1. Me acabo de enterar que con el Tunnel ssh, permite ver también los videos que tenemos en la biblioteca de iTunes. Esta genial. Eso si el internet esta muy bueno desde donde estoy probando. A pesar de ser público y mucha gente conectado sigue a 8 Mbps de bajada

    ResponderEliminar

Flutter 2.10

  Hace unos días google hizo una actualización en flutter. Se gana gran velocidad y hace estable hacer aplicaciones en #Windows . Muy lindo...