
He leido hoy en microsiervos de la aparicion de Zattoo un curioso programa que permite ver las TV nacionales a traves de internet via eso tan tan tan nuevo que es el p2p (que como todo el mundo sabe lo inventaron los de joost, ese programilla demierda que nunca termina de despegar y que parece un producto pelotazo destinado a sacar duros vendiendose al mejor postor y excitar a vuestros insignes morning singers a partes iguales.). Zattoo es sencillo, tiene muchas cadenas europeas (ninguna aqui en EE.UU. donde directamente no rula) su streaming va en flash y tiene una version en linux en GTK que rula y se integra a las mil maravillas. Siguiendo una deliciosa filosofia KISS, hace una cosa pero lo hace bien.
Cualquier lector avispado habra notado ya la afirmacion de que solo tiene cadenas nacionales al pais donde uno se encuentre y que donde vivo no funciona. Si lo he podido probar es porque saltarse las restricciones geograficas por ip es trivial y hay grupos (desde spammers a activistas) que basan gran parte de su actividad en saltarse estas protecciones como modo de garantizar el anonimato, lo que hace que tengamos a golpe de apt-get una gran cantidad de utilidades destinadas a facilitarnos esta tarea. El sistema que comento a continuacion no solo permite a residentes en EE.UU. ver television espagnola, sino que permitiria a los espagnoles ver los programas que Zattoo permite ver en otros paises europeos.
Comentandolo una vez mas decir que aunque viva en donde vivo, hace bastante tiempo que tengo acceso a la TV espagnola via el ADSL familiar en Cadiz. Un servidor linux que nunca se apaga en lo que era mi habitacion, una capturadora TDT usb y el bueno del VLC hace las veces de emisora para cuando me da por ver a Ana Rosa por las magnanas antes de ir al trabajo mientras me como los crispis. Al principio lo hice por el because I can y como prevencion de una posible morrigna, pero como el lector intuye y he comentado muchas veces, la TV espagnola es un espectaculo penoso plagado de poligrafos, grandeshermanos, gritos y telediarios con mas furbo/alonso que otra cosa, lo que hace que las veces que he “sintonizado” algo patrio haya durado pocos minutos en la pantalla ante una mas que previsible reduccion de mi masa encefalica.
El problema de este modelo se ha presentado cuando algun amigo espagnol no residente en la madre patria (que para mi profunda alegria cada vez son mas) me ha pedido ver un partido o alguna retransmision televisada. Pedirle que entre al servidor de mi madre por ssh y ejecute un script en python que te pide la frecuencia de la emisora que vas a sintonizar (frecuencia que pillas en otra ventana del screen donde siempre hay un vi abierto con esos datos) no suele ser efectivo por lo que o bien opto por grabar la emision o por intentar estar yo en linea para cambiar y ajustar los canales antes del evento.
Zattoo es un programilla que quiere resolver eso, aunque ya saben ustedes de la mentalidad obtusa de las emisoras que en lugar de abrazar con alegria los nuevos clientes fuera de las fronteras ven como una amenaza su propia existencia, pareciendo esos mapas antiguos que plagaban de monstruos las aguas que estaban a pocas millas de la costa.
El modelo para saltarse la proteccion es analogo a la instalacion de una VPN. Un servidor en Espagna nos permite usar la ip dandonos una ip privada que usamos para canalizar todas las comunicaciones. Al instalar una VPN en otro pais o sistemas de anonimizacion como tor vemos como nuestra ip cambia al acceder a servicios como google o showmyip.com. El problema del VPN es la necesidad de una cuenta de superusuario en la maquina que hara de servidor y el trasteo con la configuracion de red, cosa peligrosa que puede resultar en la desconexion del equipo.
Hay otros modos de canalizar conexiones. Cualquiera que use SSH sabe de la opcion -D, permite crear tuneles en un puerto local hacia el servidor remoto encriptandolo todo. Es lo que se conoce (a grosso modo) como un servidor socks. Si tomamos por ejemplo que estamos en San Francisco en la maquina localhost y queremos hacer un tunel encriptado a la maquina cadiz para ver los videos de la liga de El Pais (que son restringidos a territorio nacional) solo tendremos que teclear en la consola
ssh -D 1080 usuario@cadiz
lo cual nos creada un puerto en localhost:1080 que configuraremos como proxy socks en el firefox para navegar como si estuvieramos en Espagna. Entrando en google vere que el sitio me redirige a google.es y el pais me ofrece alegremente de nuevo los videos de la liga espagnola.
El problema es cuando usamos un programa que no permite configuraciones de proxy y que basa su logica en el reconocimiento de la ip del usuario. Para ello podemos usar algun tipo de wrapper que envie todo el trafico de un programa en concreto al puerto local y por ende, al servidor remoto. Tsocks es un programa estupendo pensado para este fin. La instalacion desde sistemas basados en debian (ubuntu) es bastante sencilla ya que esta desde el principio disponible como paquete, por lo que un apt-get install tsocks nos lo dejara instalado en la maquina cliente que usemos.
Si mantengo la configuracion del proxy socks que he comentado arriba (puerto 1080 de escucha), tenemos que editar /etc/tsocks.conf y borrar todo dejando estas dos unicas lineas:
server = 127.0.0.1
server_port = 1080
crearemos tambien un fichero .tsocks en nuestra $HOME con el mismo contenido, y un ficherito shell con permisos de ejecucion con las siguientes lineas
#!/bin/sh
TSOCKS_CONF_FILE=$HOME/.tsocks.conf
export TSOCKS_CONF_FILE
exec tsocks "$@"
esto nos permitira ejecutar tsocks son ser root. Ya esta todo hecho, ejecutamos de nuevo el comando ssh que hemos usado arriba para abrir el tunel y desde ese momento podremos ejecutar cualquier programa desde socks y cualquier acceso a red desde el mismo sera “tuneleada” hacia el servidor recentor, este en Espagna, en EE.UU. o donde sea. Un simple comando como
tsocks links showmyip.com
nos mostrara la ip que hemos “tomado prestada”
La instalacion de zatoo es trivial, hay un paquete deb para ubuntu ademas de rpms y tgz’s con los binarios para todas las distribuciones. Tener en cuenta que tenemos que tener un cliente flash instalado en la maquina, que hara la funcion de streamer. Despues de la instalacion, tecleamos
tsocks zattoo_player
para entrar en el programa y seleccionaremos la cadena que deseamos ver (o directamente lo quitamos, visto el panorama).
Esto permite crear VPN parasitas. Podemos usar una cuenta de dreamhost o cualquier hosting con SSH o uno de los muchos proveedores gratuitos que nos ofrecen accesso ssh sin tener que tocar para nada la configuracion del servidor y usando simplemente una cuenta con permisos de usuario.
Hay otro programa destinado a hacer lo mismo que tsocks de modo transparente, via FUSE y creacion de un interface de red en espacio de usuario llamado vTun. Esta disponible para Ubuntu y que nos da una experiencia mucho mas cercana a los que es el VPN de nuevo sin tocar nada en la maquina cliente. Como la instalacion y la configuracion (hay que crear interfaces) es un pelin mas complicada, me remito a este estupendo tutorial de linux.com y al soporte desde mi email para el que tenga problemas.
Como he visto que me estoy pasando de friki y que el 95% de la gente que me lee no habra llegado hasta aqui, (me prometo a mi mismo balancear temitas mas suaves con tochos como estos, en serio) aprovecho para comentar un truquito en la nueva version de openSSH llamado ControlMaster y que permite acelerar las nuevas conexiones que creemos hacia una nueva maquina al usar la misma conexion que tengamos abierta para canalizar nuevos acceso. Para ello solo creamos un fichero .ssh/config (o lo editamos en el caso que lo tengamos) y agnadimos las siguiente
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
La primera conexion a una maquina cualquiera sera la conexion “master” y todas las siguientes a la maquina iran por el mismo tunel, sin intercambio de claves o necesidad de meter password. Por supuesto podemos combinarlo con autossh. Bastante util cuando tenemos cosas como sshfs montadas y necesitamos acceso rapido. Ojo con no cerrar la master porque todas las demas caerian !
Nada, disfrutad!