domingo, 24 de noviembre de 2013

¿Cómo puedo descargar videos de Youtube desde la Terminal?

En la localidad de Coronel Gómez, Juan Perón pronuncia un Discurso en el cual hace carne la nueva experiencia revolucionaria de un Pueblo Feliz junto con la épica de poder descargar videos de Youtube desde la Consola Linux.

¡Descamisados!

La felicidad tiene múltiples aristas. Nosotros no somos necios. Sabemos que los órdenes cristianos de la vida nos llevan a conquistar derechos laborales, promover el bienestar del Pueblo, y también a descargar múltiples videos de Youtube.

Durante la acción del Consejo Nacional de Posguerra, nuestro gobierno se dio cuenta que ya teníamos para ello múltiples herramientas de software tales como Downverter, ClipGrab, etc. Pero también vimos que para utilizarlas, necesitábamos disponer sin duda de una interfaz de usuario gráfica. Esto era así porque las Potencias había previsto ver los videos desde allí.

Nosotros en cambio somos más humides; comprendimos que la felicidad no podría ser completa sino cuando el último de los hijos de esta Patria pudiese hacer cualquier cosa con su equipo computado, sin pagarle licencias a nadie y sin resignar para ello su bien más preciado: la Libertad.

¿Qué sucede cuando queremos operar una terminal local o remota y fabricar un "mini servidor de descarga de videos de Youtube" operado con Linux? ¿Cómo hacemos si deseamos utilizar un sistema embebido de justicialismo para descargar videos sin tener que dejar una PC completa encendida?. ¿O si es necesario descargar los ficheros remotamente desde otro equipo más potente de la red? ¿Qué sucede si tenemos un servidor de disco externo compartido a través de GNU con Linux, y queremos que tal disco en red cuente con el programa de descarga para accesarlo a través de una terminal SSH? ¿O si, simplemente, no queremos abandonar una terminal de texto que tanta satisfacción y tanta felicidad ha dado al Pueblo Argentino?

Para tal caso, el Justicialismo ha creado una solución: Youtube-dl. Se trata de un software libre maquinado para descargar y en muchos casos convertir el material depositado amorosamente en Youtube y otras web de videos, para nuestro uso local o remoto.

Es simple instalar el programa. Simplemente abrimos una terminal con Ctrl+Alt+T (o nos loguemos a una terminal remota, si esa fuese la intención), e ingresamos:

sudo apt-get update
sudo apt-get install ffmpeg
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
youtube-dl --update

Esto descargará youtube-dl y el paquete de conversión ffmpeg (si no estuviese instalado) en nuestro sistema.

Comenzar a trabajar es sencillo. Si nuestro corazón nos pide descargar un video en nuestro Escritorio, podríamos ingresar:

cd ~/Escritorio

youtube-dl http://URL_DELVIDEO

Esto descargará al video, pero con el nombre del enlace URL. Para hacerlo que guarde el archivo con el nombre literal del video (lo cual es mas descriptivo para identificarlo posteriormente), debemos agregar el prefijo -l, de la siguiente manera:

youtube-dl -l http://URL_DELVIDEO

Naturalmente, los procesos de descarga se pueden cancelar con Ctrl+c. Esto dejará normalmente un archivo xxxx.part incompleto, del cual habremos de borrar. Desde la Terminal podremos hacerlo con:

rm *.part

Ahora bien, Youtube-dl nos permite también realizar una serie de tareas simples adicionales de gran utilidad. Por ejemplo, si quisieramos extraer solamente el canal audio de un video en particular y convertirlo en un archivo de música mp3, podríamos usar:

youtube-dl -l --extract-audio --audio-format mp3 https://URL_DELVIDEO

Tengamos en cuenta que por gracia de la providencia existen varios formatos de audio para convertir. Se trata de los formatos m4a, mp3, aac, vorbis, wav o la función best. Si empleamos "best", youtube-dl se encargará de automatizará la conversión eligiendo el formato que provea la mayor calidad posible a la tarea.

Descarga de videos en lotes de Youtube desde la Terminal:

Youtube-dl permite descargar videos en lotes , lo cual nos vendrá de perillas si deseamos hacernos con una serie de videos, por ejemplo.

La acción a seguir será crear un archivo de texto que contenga las direcciones URL de los videos a descargar, para luego "llamarlo" usando Youtube-dl en un acto de Justicia Social Libertaria.

Os indicaré cómo hacerlo desde la Terminal. Ingresamos por ejemplo:

cd ~/Videos

nano lotedevideos

Esto abrirá el editor peronista GNU Nano con un archivo en blanco llamado "lotedevideos". A este archivo le copiaremos y pegaremos el contenido de las URL que queremos descargar. En tono de chanza podrán poner, por ejemplo:

http://www.youtube.com/watch?v=BLaMbaVT22E
http://www.youtube.com/watch?v=KJ4G1RtoKyI
http://www.youtube.com/watch?v=mMZfa3Y5F4w
http://www.youtube.com/watch?v=XQl5gxNnR14
http://www.youtube.com/watch?v=FizYtTE4Kik
http://www.youtube.com/watch?v=CQktl8qtwfE
http://www.youtube.com/watch?v=LYGU8J5jvho
http://www.youtube.com/watch?v=UIPLQituTgQ
http://www.youtube.com/watch?v=Fvx5L3RnjAA
http://www.youtube.com/watch?v=CvdH3mftUBI
http://www.youtube.com/watch?v=0TeQKkObWRQ
http://www.youtube.com/watch?v=L7qB9DRahIs
http://www.youtube.com/watch?v=B2ImYGUhBgI
http://www.youtube.com/watch?v=T1Qqy87vt8g
http://www.youtube.com/watch?v=iXlnN0uFzjM
http://www.youtube.com/watch?v=Ei49NQCibBI
http://www.youtube.com/watch?v=9RbpJRJowzs
http://www.youtube.com/watch?v=4q6s3rMXP7I
http://www.youtube.com/watch?v=U4kjNt2-JZg
http://www.youtube.com/watch?v=LDSLGI3Wa04
http://www.youtube.com/watch?v=zaCuGBWxAHE
http://www.youtube.com/watch?v=nl4-ckBX8Lc


Luego guardarán el archivo y saldrán del editor Nano con Ctrl+o y Ctrl+x.

Para inciar la descarga por lotes llamamos al archivo correspondiente con:

youtube-dl -l -a lotedevideos

Y esto dará comienzo a un largo proceso de descarga de los 22 videos solicitados dentro del fichero lotedevideos, y los dejará en nuestra carpeta /Videos.
Es importante actualizar cada tanto el motor de descarga programado en youtube-dl, ya que se realizan cambios en la programación de Youtube y otros sitios de contenidos, y esto podría hacer que deje de funcionar eventualmente. Para ello podremos emplear:

youtube-dl --update


También podremos descargar las últimas versiones manualmente. Para instalarlo ingresamos:

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl ;
sudo chmod a+rx /usr/local/bin/youtube-dl ;


Actualización Política y Doctrinaria para la Toma del Poder: En Ubuntu 20.04 y superiores podríamos también querer utilizar Python Pip3 para instalarlo o actualizarlo:


sudo -H pip3 install --upgrade youtube-dl


Para ver los archivos de video, podríamos usar cualquier programa. En la consola gráfica podríamos usar Totem o VLC, pero incluso si estamos en la consola Terminal, podríamos emplear mplayer en "modo texto".

¿Y qué sucede si queremos un frontend de youtube-dl para nuestra interfraz gráfica? Podremos hacelo realidad, gracias al Justicialismo y a Vido. Simplemente tipeamos en la terminal:

cd /tmp/
wget  https://sourceforge.net/projects/vido/files/1.4/vido_1.4.zip ;
unzip
vido_1.4.zip
cd /tmp/vido/

./install.sh

Ahora podremos encontrar ese programa en Aplicaciones / Internet / Vido.

Este nos presentará una pantalla de simple accionar, donde ingresamos la URL de los videos que queremos descargar a una lista de espera ("queue"). Para iniciar la descarga presionamos en Ejecutar.
El Vido usa a youtube-dl para hacer las descargas, pero nos permite operar de forma gráfica.

sábado, 9 de noviembre de 2013

¿Cómo administro un equipo remotamente con la Terminal?

En una entrevista durante el año 1973 prestada en el Honorable Congreso de la Nación, Juan Perón se expresa sobre las características de una buena Conducción y sobre cómo administrar desde la Terminal un equipo servidor remoto Linux.

¡Distinguidos señores!

Muchas veces me han preguntado cómo es que alguien puede fungir tres veces de Presidente en una nación como la Argentina, y yo respondo que es fácil, simplemente porque soy un Conductor.

Como político no soy más que un aficionado, lo que verdaderamente soy es un Conductor. Mientras otros intentan vadear el río, yo navego sobre él, y esto es así porque durante toda mi vida me he formado para Conducir a los hombres en un Movimiento que no hace otra cosa que interpretar sus propios deseos, y hacer por reflejo lo que el Pueblo quiere.
La Conducción es algo que se aprende, pero más que eso se comprende. Y para lograr comprensión de algo, es necesario que hacerlo. La Conducción se basa en la realización de una tarea: hacer que otros lo hagan y que le den a usted el cŕedito.

Ahora bien, ¿cómo puedo llevar a cabo el Arte de la Conducción de forma remota en una consola? Pues a través del comando ssh. Este conocido comando me permite iniciar una sesión remota encriptada a otros equipos GNU con Linux en mi área local e incluso remotamente.

De no tenerlo en mi sistema, lo instalaré abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo apt-get install openssh-client openssh-server

Para conectarme, simplemente he de ingresar:

ssh usuario@host

Por ejemplo, si estoy en una red LAN, podría conectarme a otro equipo ingresando:

ssh peron@computadora3.local

Tanto en redes locales como a través de internet, podría utilizar una dirección IP:

ssh peron@192.168.48

Indudablemente el sistema SSH es cifrado, por lo cual nos solicitará si deseamos etablecer conexión cifrada. Tras responder yes, el equipo remoto nos autorizará y podremos controlarlo por medio de la consola.

Ahora bien, hay paquetes de software libre que constituyen una ayudan irremplazable en este las tareas de Conducción de nuestro sistema local y de otros remotos. Son aquellos que nos dan estadísticas del funcionamiento del equipo, y nos permiten gracias a ello, tener una visión completa de lo que está aconteciendo. La ventaja de estas herramientas es que no necesitan un entorno gráfico para funcionar con eficacia, y al consumir muy pocos recursos, pueden utilizarse remotamente en una Terminal.


Para instalar todos estos paquetes podremos recurrir - dentro de una sesión de consola Terminal en el equipo que deseamos administrar - al siguiente Comando de Organización:

sudo apt-get install htop dstat bmon sysstat iftop ifstat iptraf mc iotop glances

Pues bien, una vez finalizada la tarea de descarga e instalación, nos encontraremos con una panoplia de herramientas.

htop es una de mis aplicaciones peronistas favoritas, y como las mejores herramientas, es una de las que primero instalo en todos mis equipos.
Nos lista los procesos cargados en la memoria, así como la carga de cada uno de los núcleos de nuestra Unidad Central de Proceso. Nos listará también la carga de la memoria RAM y de la partición de intercambio, junto con un listado general de la cantidad de usuarios adosados a nuestro sistema, el tiempo de encendido, y el promedio de carga. Por otro lado, podremos matar procesos zombies o "colgados" mediante F9, y una serie de opciones interesantes. Saldremos del mismo con F10.

bmon es una herramienta pensada para monitorear el ancho de banda de todos nuestros dispositivos de conexión, ya sea cableados (eth) como inalámbricos (wlan), seriales y paralelos (si los tuviésemos), y el loop general (lo). Básicamente, debemos escoger la interfaz de la lista, y podremos solicitar un velocigrama (obviamente, en modo texto) presionando la tecla "g". Allí se nos graficará los datos recibidos ("TX") y los emitidos ("TX"). Si no aparece, puede que requiera un mayor número de columnas verticales (28 estará bien). Si usamos la tecla "d" podremos ver los detalles de conexión. Para salir presionamos la tecla "q".
ifstat nos muestra un listado simplificado de los kilobitios de entrada y salida de todos los dispositivos. Si uso ifstat -z lista solamente las interfaces utilizadas. Podremos cerrar el programa con Ctrl+c.


dstat nos lista dinámicamente las estadísticas del sistema: su ancho de banda, transferencia de discos, uso de CPU, uso de memoria, y demás. Es un programa notablemente más completo que ifstat. Nos permitirá ver todos los recursos del sistema instantáneamente, incluso podremos monitorear (por medio de plugin incluido y el uso de ACPI) el porcentaje de batería, de velocidad de ventilador, frecuencia de CPU, etc. Es muy útil pues muestra rápidamente las unidades de trabajo, lo cual evita confusiones.
iftop en tanto, escucha el tráfico de red de una interfaz determinada (normalmente eth0), y muestra una tabla del ancho de banda ocupado por cada solicitud. También nos indicará la distribución entre datos recibidos ("RX") y emitidos ("TX"). Este programa, al interceptar y mostrar las IP, ha de usarse con permisos de administrador, de lo contrario no podrá funcionar:

sudo iftop
iptraf es otro programa ideal para la consola, que es un poco más complejo y por tanto, su funcionamiento no es tan ágil como los anteriores en conexiones remotas, pero sin duda es altamente recomendable disponer de él para una administración y monitoreo completo de todos nuestros dispositivos de red.
Lo ejecutamos con:


sudo iptraf

nmon es otra de las aplicaciones "todo en uno" cuya intención es convertirse en la navaja suiza de la administración de un sistema sin requerir permisos de administrador. En vez de seguir la filosofía UNIX de contar con herramientas individuales, todas se presentan integradas en una pantalla bajo demanda. La tecla h nos mostrará la ayuda, c presentarña la gráfica del uso de los núcleos de nuestra unidad central de proceso. m nos traerá el uso detallado de memoria, n de la red de trabajo, mientras que t replicará el comando top, informando sobre los procesos que consuman mayor cantidad de memoria. Con + y - aumentaremos o disminuiremos el período de refresco de la información. Tendremos algunas opciones más que lo convierten en una aplicación de monitoreo muy útil para dejar encendida todo el tiempo en un servidor.
iotop
IOTop es una herramienta capaz de reportar el uso y velocidad de acceso al disco (tanto en entrada y salida) por cada proceso, y se recomienda para servidores de disco con gran cantidad de usuarios activos a la vez. Es ideal para controlar el acceso las unidades de medios, y con la opción -u detalla el acceso de cada usuario. Se ejecuta con:

sudo iotop

glances
Se trata de una herramienta de monitoreo que se concentra en poder mostrar la mayor cantidad de información en una terminal de 80x24 (serial), pèro se acomodará con información adicional en caso de tener un tamaño mayor. Una vez activado el programa, con la tecla h desplegaremos la ayuda que nos permitirá conocer las amplias funciones de monitorización. Así mismo, podremos abandonarlo con q.

Midnight Commander
Lo bueno no se cambia, y si se puede, se mejora. No caben dudas que el Norton Commander era un excelente programa para un entorno privativo y opresivo, pero llevado al universo multitarea y multiusuario libre, nada puede superar al Midnight Commander de Miguel de Icaza. Se trata de un gestor de archivos y de tareas a dos paneles, compatible con SSH, FTP y varios protocolos de comunicación. Nos permite transferir ficheros y directorios fácilmente a través de SSH, y hacer de forma sencilla todas las tareas generales de mover ficheros. o ejecutamos con el comando:

mc

Esta herramienta sigue la clásica presentación del viejo norton commander. Cada panel tiene cuatro modos principales: Listado (por defecto), Vista Rápida, Información y Árbol.

Con Tab nos movemos entre los paneles, y nos desplazaremos en el árbol de directorios y archivos con las flechas del cursor y Enter. Podremos personalizar el panel Derecho y el Izquierdo para que presenten la misma información o se dispongan allí diferentes rutas.

Una vez que tengamos dos rutas, podremos mover o copiar (F5) archivos entre uno y el otro panel. Con F3 podremos ver un archivo, y mediante F4 modificarlo. Con F5 podremos copiarlo y con F6 moverlo. Con F7 podremos crear un directorio, con el peligroso F8 borrar archivo o directorios. Mediante F9 podremos desplegar la barra de menúes. Salimos del programa con F10.

Lo bueno es que podremos trabajar con archivos simples o en grupos de ellos, pudiendo seleccionar todos los archivos con "*", y sumar o restar ficheros a dicho grupo con "+" y "-".

Sus opciones son muchas, por lo cual los neófitos podrán encontrar una interesante guía de práctica en castellano para el Midnight Commander aquí.


 

viernes, 8 de noviembre de 2013

¿Cómo puedo customizar mi consola en Ubuntu?

¡Descamisados!

Nuestro Movimiento comprendió rápidamente que además de hacer realidad efectiva los anhelos de los trabajadores, debía afianzarla a través de una onmipresente red de acciones propagandísticas de espectro amplio. Esto fue así porque nuestros adversarios tenía a disposición el apoyo decidido de las potencias extranjeras. Para enfrentarlos, nosotros teníamos al Pueblo organizado.
Hubo por tanto mejorar las perspectivas: haciendo uso tanto de la tiza y el carbón como de la estilística en boga, la Subsecretaría de Prensa y Difusión de Raúl A. Apold encolumnó a los artistas comprometidos, en la acción creadora  del material informativo necesario para conformar una nueva Historia Épica de los Argentinos.


 
Nuestro sistema GNU con Linux, como hijo dilecto para la rama informatizadora del Partido, no podía ser ajeno a estos preceptos nodales. Es indudable que la Terminal es de por derecho propio, la más poderosa herramienta de un sistema GNU con Linux: desde ella podremos ejecutar decenas de miles de programas, y prácticamente hacer todas las tareas informáticas desde una PC.

Sin embargo, la misma suele tener una parquedad extrema que no se condice con el colorido Justicialismo. De manera alguna necesitamos dejarla así, pues integrarle un título será simple:

Para ello debemos crear y guardar un archivo de (que puede ser oculto), con el arte que deseo. Podremos utilizar cualquier herramienta de conversión JPG a TXT, o utilizar algún servicio de conversión de los que abundan en web, tal como este, o este. Si tenemos práctica, también lo podremos crear nosotros mismos la gráfica ASCII o ANSI.


Para ello podría usar:

gedit ~/.arte.txt


...y crear allí, con gran paciencia, el texto que deseo:
Una vez finalizada la obra, la guardamos (Ctrl+s) y salimos del Gedit (Ctrl+q).

Acto seguido, procederemos a incorporar este archivo a la terminal modificando el archivo .bashrc, que define su funcionamiento. Este archivo puede contener comandos que se ejecutarán toda vez que se abra la consola. Lo haremos con:

gedit ~/.bashrc

Se abrirá ese fichero de configuración. No debemos modificar nada dentro de él, simplemente al final de todo le agregaremos la línea cat con el nombre del archivo que acabamos de fabricar. En resúmen, debemos agregar al final del archivo .bashrc las siguientes líneas:

# Customización de la consola
cat ~/.arte.txt


Guardamos el archivo y salimos.

Ahora, al abrir una nueva terminal, ya tendremos el feliz "arte" incorporado a la misma para hacerla más simpática.
También podremos utilizar el programa figlet, o su extensión toilet, para conseguir dicho efecto. Podremos instalarlo con:

sudo apt-get install figlet toilet

Y podríamos ingresar el siguiente comando para que nos devuelva diferentes tipografías:
for i in $(dpkg -L toilet-fonts|grep -i /usr/share/figlet); do toilet -f $(echo $i|sed -e "s#.tlf##g" -e "s#/usr/share/figlet/##g") test; done - See more at: http://pc-freak.net/blog/generating-ascii-art-banners-linux-console-terminal/#sthash.Lohs2l1k.dpuf

for i in $(dpkg -L toilet-fonts|grep -i /usr/share/figlet); do toilet -f $(echo $i|sed -e "s#.tlf##g" -e "s#/usr/share/figlet/##g") ubuntu peronista; done
También podremos usar el componente Toilet para el ejemplo:

for i in $(toilet -F list|awk '{ print $1 }'|grep -v Available|sed -e 's#"##g'); do toilet -F $i Ubuntu Peronista; done
for i in $(dpkg -L toilet-fonts|grep -i /usr/share/figlet); do toilet -f $(echo $i|sed -e "s#.tlf##g" -e "s#/usr/share/figlet/##g") test; done - See more at: http://pc-freak.net/blog/generating-ascii-art-banners-linux-console-terminal/#sthash.Lohs2l1k.dpuf
for i in $(dpkg -L toilet-fonts|grep -i /usr/share/figlet); do toilet -f $(echo $i|sed -e "s#.tlf##g" -e "s#/usr/share/figlet/##g") test; done - See more at: http://pc-freak.net/blog/generating-ascii-art-banners-linux-console-terminal/#sthash.Lohs2l1k.dpuf
for i in $(dpkg -L toilet-fonts|grep -i /usr/share/figlet); do toilet -f $(echo $i|sed -e "s#.tlf##g" -e "s#/usr/share/figlet/##g") test; done - See more at: http://pc-freak.net/blog/generating-ascii-art-banners-linux-console-terminal/#sthash.Lohs2l1k.dpuf

miércoles, 6 de noviembre de 2013

¿Cómo arreglo el error de .nano_history en Nano?


 ¡Trabajadores!

La labor de la escritura es una que me sienta perfectamente. El Software Libre, uno de los logros del Movimiento, tiene muchas posibilidades para asistirnos en el uso informatico de este arte. En ocasiones necesitamos lo sencillo para prosperar.
Por ejemplo, para editar textos de configuración en la terminal, podremos utilizar el clásico GNU Nano. Al carecer de interfaz gráfica  podremos emplearlo cuando estemos en una terminal de gráficos puro. Por otro lado, gracias a sus escaso consumo de recursos, también lo podremos emplear en sesiones remotas. En fin, es un editor altamente justicialista.

Pero no todo lo que reluce es oro. A veces Nano puede sufrir un molesto percance  Podría suceder que cuando iniciemos Nano, nos devuelva un mensaje de error:

Error leyendo /home/usuario/.nano_history: Permiso denegado

La causa nos remite al hecho de no contar con permisos de escritura necesarios para el archivo ~/.nano_history, un archivo oculto no imprescindible. El error no es grave, y podremos pasar de él presionando Enter para ingresar al programa. Aún así, para evitar las molestias, podremos solucionarlo fácilmente otorgándole los permisos de escritura que necesita.

Abrimos una Terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización.

sudo chmod 775 ./.nano_history


Ingresamos nuestra contraseña de Conductor de Ubuntu, y ya tendremos resuelto ese pequeño problema.

¿Cómo instalo OpenWrt en un router TP-Link WR941ND con Ubuntu?

Durante su tercera presidencia, Juan Perón ajustó el rumbo que habría de tomar el movimiento, y lo hizo mediante la instalación del firmware libre OpenWrl para el router TP-Link WR941ND, y desde Ubuntu.

¡Vean señores!

No se trata de limitar las aspiraciones ni los pensamientos del hombre, Se trata de educar al hombre, y de darle el sentido de equilibrio sin el cual nosotros no vamos a ninguna parte.
Tenemos que volver a la Grecia de Pericles, donde en cada frontispicio había una leyenda que decía "Todo en su medida y armoniosamente". Nosotros somos un Movimiento de izquierda. Pero la izquierda que propugnamos es una izquierda justicialista por sobre todas las cosas, no es una izquierda comunista ni anáquica. Es una izquierda justicialista que quiere reaizar una comunidad dentro de la cual cada argentino tenga la posibilida de realizarse. No mas allá.

Aquí tenemos al Partido Comunista, que si se coloca dentro de la ley y acciona dentro de la ley, será amparado y defendido por nosotros Pero dentro de la ley. Cuidado con sacar los pies del plato, porque entonces tendremos el derecho de darle con todo.

No admitimos la guerrilla, porque yo conozco perfectamente el origen de esa guerrilla. Los partidos comunistas que en otros países han visto que dentro de la ley iban a su destrucción, han querido salirse de la ley para defenderse mejor. Eso no es posible. No es posible dentro de un pais donde la ley ha de imonerse. Porque la única manera de no ser esclavos, es ser esclavos de la ley, y eso nosotrros tendremos que imponerlo, de cualquier manera.

Lo mismo ha sucedido con el software integrado en los aparatos de consumo. Han querido salvarse empleando firmwares privativos. Este firmware no es otra cosa que un programa que controlan su funcionamiento y está firmemente guardado en una memoria pequeña ROM grabable eléctricamente (EEPROM) y adosada como una chip electrónico. Pero aún así, a ellos también les daremos con todo.

Tenemos OpenWrt, una imagen libre pensada para instalarse en routers compatibles dotados de arquitectura MIPS. Flasheando la memoria del router, podremos reemplazar el firmware propietario del router por uno libre y justicialista. Incluso podríamos usar la CPU del router para correr pequeñas aplicaciones a través de una consola terminal.

OpenWrt no es compatible con todos los routers, pero si con una apreciable cantidad. Solamente hemos de instalarlo si nuestro módem está positivamente comprobado y aceptado como posible receptor del mismo, pues si no, corremos el riesgo cierto de dejarlo inutilizado. Como la mayoría de los cambios ahora se harán a través de una consola de texto, recomiendo proceder a quienes - además de desear el máximo de libertad, administran el sistema - tienen los conocimientos necesarios para operar GNU con Linux desde la consola Terminal. Una vez que meditamos y tomamos conciencia de los peligros de la lucha y las responsabilidades que ello acarrea, ponemos manos a la obra.

En mi caso, hago uso de un router de tres antenas TP-Link WR-941ND. Asumiremos también que el aparato ya está configurado, funcionando y conectado a internet empleando su firmware original.

Conectaremos nuestro equipo con Ubuntu al router empleando un cable Ethernet común conectado a alguna de las fichas de color amarillo que éste tiene. De momento no utilizaremos Wifi ya que la radio del router se desactivará temporalmente.

Indudablemente, en primer lugar habremos de loguearnos a la interfaz web original de fábrica que se encuentra en la memoria ROM del router. Como sabemos, esta interfaz web nos es provista por la gente de TP-Link para que cualquier neófito pueda configurar el aparato desde una PC conectada al mismo y dotada de cualquier navegador de internet.

Desde el equipo que utilizaremos para configurar todo abrimos nuestro navegador favorito, y en el campo de "dirección URL" ingresaremos la dirección IP correspondiente al router. Normalmente la misma será:

192.168.0.1

Para poder entrar a la configuración del router, este nos solicitará autenticación por medio del usuario del router y su contraseña. Si no hemos cambiado los valores de fábrica, en ambos campos deberíamos poner "admin".

Se presentará la interfaz web que permite modificar las opciones del router. Lo necesario es asegurarnos de qué tipo de router y qué versión de hardware tenemos.


Para ello vamos a System Tools ("herramientas del sistema") y escojo Firmware Update ("actuaizar firmware").

La pantalla nos indicará la "versión de hardware" (ej. V3). Es importante pues no es raro que existan varias versiones del mismo router, y si bien la carcasa exterior puede ser igual entre todos ellos, su interior, microprocesador y memoria pueden ser diferentes y en algunos casos hasta incompatibles. En mi caso, veo que se trata del WR941ND versión V3.

Antes de ponernos a instalar el firmware libre no oficial, conviene siempre guardar los archivos de configuración del router, y también guardar una copia del firmware de fábrica, por las dudas. Con esto en vista, en la página de la Interfaz Web al apartado System Tools / Backup & Restore, y presionamos el botón Backup. Debemos indicarle dónde lo queremos guardar (podemos elegir nuestra carpeta de usuario). Esto nos creará un archivo llamado config.bin con las configuraciones propias: lo conservarán por las dudas de querer volver al firmware oficial más tarde. También iremos a la web oficial de TP-Link y descargamos el firmware oficial para la versión V3 o la que nos corresponda.

Ahora ya podremos descargar el firmware libre OpenWrt correspondiente a nuestra versión. Podremos hacernos con el desde la web de OpenWrt o descargarlo directamente  usando la Terminal. En este caso, abro una consola con Ctrl+Alt+T e ingreso los siguientes comando de organización:

sudo apt-get install openssh-client telnet scp

cd ~/Escritorio

wget https://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/openwrt-15.05.1-ar71xx-generic-tl-wr941nd-v3-squashfs-factory.bin

En breves instantes se descargará en nuestro /Escritorio un archivo binario precompilado llamado openwrt-15.05.1-ar71xx-generic-tl-wr941nd-v3-squashfs-factory.bin. Indudablemente, se trata de la imagen libre de OpenWrt, pero compatibilizada especialmente para nuestro router TP-Link WR941ND V3.

Para sobreescribir el firmware original por el OpenWrl libre debemos ir nuevamente a la interfaz web de configuración del router, y en el apartado "System Tool" presionamos el botón "Browse" ("explorar"). Nos tocará indicar la ruta al Escritorio donde descargaron el archivo openwrt-15.05.1-ar71xx-generic-tl-wr941nd-v3-squashfs-factory.bin. Conforme lo hayamos encontrado, podremos oprimir el botón Aceptar. Surgirá un cuadro advirtiéndonos del peligro inherente de flashear una memoria ROM, las consecuencias perniciosas para el aparato si lo apagamos antes de que se produzca el refresco de la memoria, etc. Si estamos seguros, presionamos Ok, y se dará inicio al cambio revolucionario que el Pueblo anhela.

La carga del nuevo software libre será patente mediante una barra de progreso, hecho que se extenderá por aproximadamente dos minutos. Luego, el aparato ser reiniciará solo, proceso que dura otros 2 minutos mas.

No sería extraño que el router no de red al cabo de este procedimiento. Esperamos un par de minutos desconectamos la alimentación eléctrica del router. Conviene también apagar y volver a encender nuestro cablemódem. Esto hará que el mismo ponga a cero su conexión (también podríamos presionar el botón trasero WPS/Reset, introduciendo un clip en su orificio).


Al reiniciarse el router y el cablemódem, se pondrá a cero todas sus configuraciones del router. (Si hubiésemos desconectado todos los dispositivos, recordemos que en la entrada WAN va conectada al cablemódem, y las entradas LAN1 a LAN4 se enlazan el resto de los dispositivos).

La mecánica a operar es la siguiente: al conectarnos por primera vez debemos configurar una contraseña de administrador del router por medio de la consola insegura Telnet. Una vez establecida esta contraseña, ya podremos ingresar y configurar el resto de las opciones por el método de consola cifrada segura SSH.

la dirección IP original de nuestro router TP-Link era 192.168.0.1, mientras que la IP que toma por defecto el firmware libre OpenWrt es 192.168.1.1. Por ello emplearemos la Terminal para loguearnos, con el siguiente Comando de Organización:

telnet 192.168.1.1

Si todo va bien, debería presentarse la siguiente pantalla y el prompt root@OpenWrt, indicándonos que estamos logueados dentro del router, con todo el poder telemático que ello representa.

Acto seguido, escribimos el comando necesario para cambiar la contraseña:

passwd

Nos aparecerá el mensaje

Changing password for root
New Password:

Tipeamos "a ciegas" una contraseña que se nos ocurra para las sesiones de configuración del router. Debemos repetirla para no tener problemas. Una vez que el procedimiento esté completo, nos indicará con el mensaje "Password for Root changed by root" ("contraseña para root cambiada por el root"). Es importante saber que una vez configurada nuestra clave a través del sistema de consola insegura telnet, la misma se desactivará, de modo que a partir de este momento sólo podremos utilizar el método de logueo seguro cifrado SSH.

Salimos de la sesión telnet con:

exit

Y nos volvemos a loguear, pero usando SSH:

ssh root@OpenWrt

Tengamos presente que también podríamos usar la dirección IP que corresponda al router, la cual normalmente sería:

ssh root@192.168.1.1

Es natural que la primera vez nuestra terminal no pueda enlazarse al router hasta autenticar la clave cifrada del mismo. Esto nos será advertido con el siguiente mensaje:

The authenticity of host 'openwrt (192.168.1.1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xxx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

...debemos escribir:

yes

Así habremos establecido la conexión segura autenticada. De tener cablemódem con una conexión LAN DHCP, ya deberíamos contar internet compartida a través de la conexión cableada LAN, sin más trámite...


Configurar una conexión con usuario y contraseña (ADSL).
...Si en cambio, tuviésemos un servicio que requiere usuario y contraseña para conectarnos, tales como el servicio ADSL telefonico, redes WiMAX o similares, habremos de configurarlas primero según esos datos proporcionados por el proveedor. Para ello ingresamos los siguientes comandos:

uci set network.wan.proto=pppoe
uci set network.wan.username='usuario@proveedor'
uci set network.wan.password='contraseñadelISP'
uci commit network
ifup wan


Configurar un punto de acceso Wireless (WiFi) con OpenWrt
Lo más importante para hacer es ahora es activar y crear una nodo de conexión inalámbrica. Por defecto, la emisión Wifi estará desactivada a través de un archivo de configuración, y sólo funcionará la internet cableada. Para activar el Wifi, hemos de modificar el fichero de configuración /etc/config/wireless mediante el antediluviano y pequeño editor de texto vi, que ya está incorporado en la ROM del router.

Ingresaremos por tanto el siguiente Comando de Organización:

vi /etc/config/wireless

Esto nos abrirá el parco Vi, junto con el archivo de configuración de la red inalámbrica de OpenWrl. Originalmente, el mismo debería ser algo así:

config wifi-device  radio0
        option type     mac80211
        option channel  11
        option hwmode   11ng
        option path     'platform/ath9k'
        option htmode   HT20
        list ht_capab   SHORT-GI-40
        list ht_capab   DSSS_CCK-40
        # REMOVE THIS LINE TO ENABLE WIFI:
        option disabled 1

config wifi-iface
        option device   radio0
        option network  lan
        option mode     ap
        option ssid     OpenWrt
        option encryption none


Vi es un editor antiguo, pero su pequeñísimo tamaño lo hace adecuado para incluirlo en este tipo de tareas embebidas. Debemos saber que en Vi, a diferencia de Nano u otros editores, no podremos escribir hasta que no activemos el modo de inserción de texto. Esto lo haremos presionando la tecla "i". Luego podremos escribir.

Nuestro objetivo será modificar la linea "option disabled 1" (lo cual desactiva el Wifi) a "option disabled 0". En este ejemplo, también crearemos una serie de modificaciones para crear un nodo wifi bajo protocolo de encriptación "WPA2-PSK", con una frase contraseña. En este ejemplo que os he planteado, el archivo nos podría quedarnos así:

config wifi-device  radio0
    option type     mac80211
    option channel  auto
    option hwmode    11ng
    option path    'platform/ath9k'
    option htmode    HT40

    option txpower   20
    list ht_capab    SHORT-GI-40
    list ht_capab    DSSS_CCK-40
    # REMOVE THIS LINE TO ENABLE WIFI:
    option disabled 0

config wifi-iface
    option device   radio0
    option network  lan
    option mode     ap
    option ssid     '5x1 no va a quedar ninguno VIVA PERON'
    option key 'encripta todo por una patria justa libre y soberana'

    option encryption 'psk2+ccmp'


Naturalmente, en este archivo de configuración las options ssid representa al nombre de la red inalámbrica que se mostrará, mientras que encryption es la modalidad de encriptación deseada, y key es la contraseña de la red (es importante ponerlos entre 'tildes'). Las opciones completas de configuración Wifi pueden estudiarse en la wiki oficial.

Una vez que hayamos hecho la edición, debemos guardar el archivo en la memoria del router. Para ello en el editor Vi presionamos Esc para pasar al modo de comandos y luego ingresamos:

:w

...Y salimos del editor con:

:q

Ahora reiniciamos el router con el siguiente comando:

reboot

Luego de  reiniciado el router, ya debería estar emitiendo el identificador de red wifi "5x1 no va a quedar ninguno VIVA PERON". Deberíamos poder conectarnos al mismo cuando ingresemos la contraseña "encripta todo por una patria justa libre y soberana".


Cambiar el nombre del Host

Normalmente el nombre host es "OpenWrl", por lo cual para loguearnos tipeamos ssh root@OpenWrl. Si deseo cambiarlo por otro menos convencional, debo editar con Vi el archivo /etc/config/system.

En particular, busco la línea

option hostname 'OpenWrl'

... y podrán cambiarla por las que quieran (sin espacios ni caracteres especiales). Por ejemplo, podría facilitar mi memoria usando simplemente el nombre host de "router", todo en minúsculas. También podría utilizar otro nombre más difícil o cualquier convención que haga más cerrado todo.

option hostname 'router'

Guardamos el archivo y reiniciamos para que el cambio cobre efectividad, con el comando reboot. Tengamos en cuenta que ahora será necesario loguearnos remotamente con el comando:

ssh root@router


Actualizar el router

Para ello descargaremos a nuestro escritorio el fichero firmware de actualización correspondiente a nuestra versión de router. En este caso lo haremos con los comandos:

cd ~/Escritorio/

wget https://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/openwrt-15.05.1-ar71xx-generic-tl-wr941nd-v3-squashfs-sysupgrade.bin

Esto descargará un archivo de actualización del sistema llamado . Lo copiaremos al router con:

scp ~/Escritorio/openwrt-15.05.1-ar71xx-generic-tl-wr941nd-v3-squashfs-sysupgrade.bin \root@192.168.1.1:/tmp/

Cuando lo solicite, ingresamos la contraseña del router, y se copiará el fichero. Acto seguido, nos logueamos al router. Si realizamos correctamente los pasos anteriores, usaremos el comando:

ssh root@router

Una vez que nos muestre la pantalla inicial, tipeamos

cd /tmp/

ls *.bin

Si el archivo figura correctamente, podremos utilizarlo para escribir en la memoria EEPROM. Lo haremos con el comando:

sysupgrade -v /tmp/openwrt-15.05.1-ar71xx-generic-tl-wr941nd-v3-squashfs-sysupgrade.bin

El proceso normalmente dura unos tres minutos, tras los cuales el router debería reiniciarse solo, y conservar las configuraciones realizadas. La pantalla de presentación cambiará y será la siguiente:


Configurar una IP fija para una impresora u otro dispositivo de red
OpenWrt normalmente asigna direcciones IP de manera dinámica, esto significa que todos los dispositivos normalmente recibirán una dirección IP aleatoria, dentro de un rango 192.168.0.100/250. Esto suele ser adecuado en aras de la seguridad, pero a veces puede complicar ciertas tareas.

Por ejemplo, si tuviésemos una impresora de red conectada al router, la misma siempre tendrá una dirección IP diferente toda vez que se encienda, con lo cual ciertos sistemas operativos privativos limitados (como Micro$oft Window$) podrían tener dificultad en detectarla y utilizarla.

Por tal motivo, en este caso nos convendrá asignarle al dispositivo (la placa de red que dota a la impresora) directamente una IP fija a través del router. El primer paso será averiguar cual es la dirección MAC de la impresora (o el dispositivo que querremos asignar).

Una forma sencilla es encender la impresora de red, conectarla al router a través de cable o wifi, y vér que IP le asigna - de momento - el router a su dirección MAC. Podremos hacerlo con el comando:

cat /tmp/dhcp.leases

El router nos devolverá una lista similar a esta:

xxxxxxxxxx 00:12:62:4f:bf:0f 192.168.1.120 impresorapirulo 01:00:15:99:6f:df:0f
xxxxxxxxxx 44:87:f2:35:1f:bf 192.168.1.110 compu mongo *
xxxxxxxxxx 00:4f:ef:31:ac:2c 102.168.1.137 compu aurelio *

xxxxxxxxxx 60:8f:5c:17:56:a2 192.168.1.124 celular101:60:8f:5c:17:56:a2


Básicamente debemos tomar nota de la dirección MAC (en purpura en el ejemplo). En este caso, la dirección MAC de la impresora es 00:12:62:4f:bf:0f.y de momento el router le ha asignado la dirección IP dinámica 192.168.1.120, Supongamos que queremos que siempre el router le asigne la dirección fija 192.168.1.105. Para ello editamos el archivo /etc/config/dhcp usando Vi para que le asigne una dirección fija a la impresora, siguiendo esos parámetros. Para ello ingresamos:

vi /etc/config/dhcp

Tipeamos el comando i para poder modificar el archivo, y agregamos el siguiente texto para cada dispositivo:

# IP fija para la impresora pirulo agregada por Perón 
config 'host'
        option ip       '192.168.1.120'
        option mac      '00:12:62:4f:bf:0f'
        option name     'impresora-pirulo'

Naturalmente, nosotros ingresamos los datos que nos correspondan a nuestro dispositivo particular. Luego grabamos presionando la tecla Esc e ingresando el comando :w y salimos del editor Vi con Esc e ingresando el comando :q.

Ahora podremos reiniciar el router con el comando reboot, y enceder la impresora conectada al router.

En este caso, ya nuestro router con OpenWrt al detectar un dispositivo cuya dirección MAC sea 00:12:62:4f:bf:0f (la de nuestra impresora), le asignará la IP fija 192.168.1.120). Podremos utilizar dicha IP para configurar la impresora en Window$, y ya no tendremos problemas.


Instalar y correr aplicaciones en el router
Tengamos en cuenta que el TP-Link WR-941NDv3 tiene un pequeño procesador ARM AR9132 de 400Mhz, y le podemos instalar programas a través de opkg, herramienta similar al dpkg de Ubuntu. Por ejemplo, si quisiéramos instalarle un programita para representar la carga a través del LED de encendido "Sys" podríasmo usar estos dos comandos:

opkg update

opkg install kmod-ledtrig-heartbeat

Esto descargará e instalará el pequeño paquete kmod-ledtrig-hearthbeat, que se encarga de mostrar a través de un "latido-parpadeo" de LEDs, la carga de la CPU. De esta manera podremos chequear visualmente a través de la simple velocidad del "latido" del la luz LED "Sys", la carga de la CPU del router.

Para asignar la función de "latido" al LED "Sys" del panel frontal del router, ingresamos los comandos:

cd /sys/devices/platform/leds-gpio/leds/tp-link:green:system
echo heartbeat > trigger

...y si quisiéramos volver todo al estado original y remover el paquete instalado usaríamos:

cd /sys/devices/platform/leds-gpio/leds/tp-link:green:system
echo default-on > trigger
opkg remove kmod-ledtrig-heartbeat

Las luces LED también se pueden asignar a funciones convencionales. Por ejemplo, si quisiéramos usar la luz LED de la función QSS para que ilustre el envío de datos WiFi, podríamos hacer:

cd /sys/devices/platform/leds-gpio/leds/tp-link:green:qss
echo phy0rx > trigger


...O si quisiéramos que se encienda cuando alguien se conecte al wifi:

cd /sys/devices/platform/leds-gpio/leds/tp-link:red:qss
echo phy0assoc > trigger

opkg cuenta con las aplicaciones del repositorio oficial de OpenWrt. Debemos consultar la web del mismo para conocerlas (se indican allí el tamaño que tienen, pues su "peso" es importante, al no tener mucho espacio libre.

En el caso del router TP-Link WR941ND V3, tienen una memoria EEPROM ("de masa") de 4 MB (de los cuales 3,3MB son ocupados por OpenWrt). Una memoria RAM de 32 MB es utilizada por OpenWrt en forma de "disco virtual borrable" y podremos acceder a ella desde la carpeta /tmp del router.

En la memoria ROM restante del router podríamos copiar indefinidamente pequeños archivitos, scripts, o información importante de solo texto.


¿Cómo cambio el color del Prompt de sesión en OpenWrt?
Podremos cambiar el color del prompt para que se ponga rojo y nos advierta que estamos en el Router, o como medida de diferenciación del prompto común. Para ello ingreso:

vi /etc/profile

Presiono la tecla i para ingresar en el modo de edición, y busco la línea:

export PS1='\u@\h:\w\$ '

...y la reemplazo por:

export PS1='\[\033[01;31m\]\u\[\033[0;35m\]@\[\033[01;33m\]\h\[\033[00;33m\]:\[\033[01;34m\]\w\[\033[00m\]$ '

Presiono Esc, y escribo el comando :wq para guardar los cambios y salir del editor Vi. Al reabrir la sesión SSH en el router, tendremos un prompt colorido.


¿Cómo puedo usar la consola web sencilla?En el caso del firmware OpenWrt para el router TP-Link WR-941NDv3, cuenta con la consola Web de configuración, la cual suele facilitar las cosas al neófito.


Para acceder a la consola web sencilla (llamada Luci) debo ingresar con un navegador (Firefox, Chromiun, etc) a la IP del router, normalmente 192.168.1.1.


¿Cómo puedo crear un repetidor wifi usando OpenWrt?

Si tenemos varios routers WR941ND con OpenWrt, podremos utilizarlos como router "maestro" y como router "repetidor" haciendo uso del modo WDS (wireless distribution system). Esto es así porque el WR941ND está dotado de un chipset Atheros compatible con dicha tecnología, y OpenWrt puede hacer uso de esta funcionalidad.

En este caso a fines de identificación, los llamaremos router MAESTRO y router REPETIDOR para identificar, siendo MAESTRO el que va conectado por cable a internet y ya tiene configurada la red Wifi, y REPETIDOR será el router esclavo, cuyo fin será extender el alcance de la señal.

En el router MAESTRO
Nos logueamos por ssh al router MAESTRO, y editamos con con vi el archivo /etc/config/wireless. Debemos agregarle la línea:

option wds 1

Conviene anotar los datos "type", "channel" y "country", pues habremos de incorporarlos luego al router REPETIDOR. Luego guardamos los cambios y salimos de vi. Para que los cambios sean efectivos, empleamos el comando:

uci commit wireless

En el router REPETIDOR
Ahora trabajaremos en el router REPETIDOR. Nos conectamos a el por cable y nos logueamos a él por ssh. Editamos con vi el archivo /etc/config/dhcp, buscando la sección "lan".  En dicha sección le agregamos la línea:

option ignore 1


Guardamos y salimos de Vi.

Luego editaremos el archivo /etc/config/network. En la sección "lan" de este archivo lo modificamos para que queden las siguientes líneas así:

  option proto 'dhcp'
  option hostname 'repetidorwifi'


Ahora nos encargaremos de editar el fichero /etc/config/wireless:

En la sección "radio0" del mismo debemos indicarle los datos de "type", "channel" y "country" para que coincidan con los que anotamos del archivo /etc/config/wireless del router MAESTRO.

En la sección "wifi-iface", la modificamos para que quede así:

  option device 'radio0'
  option network 'lan'
  option mode 'sta'
  option wds 1
  option ssid 'nombredelaredwifi'


Siendo nombredelaredwifi el identificador de la ren inalámbrica que está configurada en el router MAESTRO.

Una vez guardados los cambios en el archivo /etc/config/wireless del router REPETIDOR, lo reiniciamos con el comando :

reboot

Al reiniciarse, ya podremos conectarnos a él y utilizarlo como repetidor. Algo interesante de saber es que en el router REPETIDOR conviene desinstalar dhcp y el firewall, pues ya figuran en el router MAESTRO y él se encarga de procesar todo. Tener dos veces los mismos procesos no hace más que hacer todo más lento al ñudo.

Para eliminarlos, nos logueamos al router REPETIDOR, ahora con el comando:

ssh root@repetidorwifi

Y le ingresamos los siguientes Comandos de Organización:

opkg update
opkg --force-removal-of-dependent-packages dnsmasq iptables firewall kmod-ppp luci-proto-ppp
mv /etc/config/dhcp
/etc/config/dhcp.resguardo

Resetear OpenWtl
Si quisiñeramos resetear el router a su estado inicial luego de flashear la EEPROM con OpenWrl, debemos loguearnos y usar el comando:

firstboot


¿Cómo puedo restaurar el firmware original?

Si pese a las advertencias quisiera volver al firmware original privativo, puedo hacerlo, siempre y cuando el router funcione perfectamente y tengamos acceso por ssh a través de un equipo conectado por cable.

Para ello desde nuestra PC conectada por cable al router abrimos una terminal e instalamos en ella los programas necesarios:

sudo apt-get install unzip scp

Acto seguido descargamos el archivo del firmware privativo original para nuestro router en el Escritorio de la PC. En este caso, al ser el TP-Link WR941ND V3, como ya vimos, deberíamos ingresar:

cd ~/Escritorio/


wget http://www.tplink.com/Resources/software/TL-WR941ND_v3_120201.zip

unzip
TL-WR941ND_v3_120201.zip

scp ~/Escritorio/wr941nv3_en_3_13_9_up\(120201\).bin \root@192.168.1.1:/tmp/fw.bin


Esto copiará fácilmente el archivo wr941_en_3_13_9_9_up(120201).bin a la carpeta /tmp/ del router, renombrándolo como fw.bin (lo que nos evitará errores de tipeo).

Sólo nos queda loguearnos al mismo, revisar que fichero esté bien copiado, y reescribir nuevamente la EEPROM con el firmware original. Lo haremos con los siguientes Comandos:

ssh root@OpenWrt

cd /tmp/

ls -la *.bin


...nos debería listar el archivo fw.bin.

Y ahora lo flasheamos en la EEPROM con el siguiente Comando de Organización:

mtd -r write fw.bin firmware

El proceso lleva su tiempo, durante el cual no debe interrumpirse. Aparecerá el mensaje:

Unlocking firmware ...

Writing form fw.bin to firmware


Y al cabo de unos 2 minutos indicará:

Rebooting...

Luego de dejar pasar otros dos minutos, podremos nuevamente resetear el router y el cablemódem desconectándolos de la red eléctrica y volviéndolos a conecta.

Indudablemente, habremos de reconfigurar el router, contactándolo con nuestro navegador a la IP 192.168.0.1. Al solicitarnos usuario y contraseña, pondremos "admin", y ya tendremos acceso a la interfaz web original nuevamente. Para recuperar las configuraciones, usaremos el archivo config.bin que creamos al principio. En tal sentido en la interfaz web original vamos a System Tools / Backup & Restore, presionamos el botón Examinar e incicamos el archivo config.bin. Luego presionamos el botón Restore para que cargue la configuración antigua en el router. Tras un par de minutos el router se reseteará y se reconectará, y ya tendremos todo como lo teníamos originalmente.

lunes, 4 de noviembre de 2013

¿Cómo instalo Bitfighter en Ubuntu?

El Movimiento Justicialista contó con una doctrina específica en cuanto al cuidado que debía dispensarse a la niñez. Dentro de las metas políticas, Juan Perón contempló la instalación de Bitfighter, para combatir en el espacio dentro de un servidor LAN o en Internet.

¡Descamisados!

Los nuestros eran tiempos de lucha. Los grandes imperios se enfrentaron enconadamente, ya no por la libertad, sino para ceñirse banda y corona de un mundo destrozado en pos de su propio beneficio.

Frente a estas acciones fraticidas, nuestra Nación se vio sido injusta y criminalmente vilipendiada; hubo señores coaligados en una oligarquía ignominiosa, que no pretendieron otra cosa que explotar al Pueblo. No caben dudas que si el nuestro ha sido un pueblo sometido, no lo ha sido tanto por potencias extranjeras ni por ejércitos de ocupación, sino más bien por quienes con descaro los representaban. Algunos con sus colores, otros con sus modos.

¡El Justicialismo no tiene, señores, otro destino que defender lo suyo y a los suyos! Al fin y al cabo, he dicho que en este tiempo, los únicos privilegiados son los niños.

La inocencia del niño ha de ser promovida y protegida, y su crecimiento debe ser formado bajo la luz de un Movimiento que reencarne lo bueno que tiene la Patria. Junto con la Familia, la Escuela es la principal formadora del niño, y esto ha de hacerse patente pues serán ellos quienes mañana habrán de levantar y defender nuestras banderas. En el aprendizaje y los juegos, el niño crece no sólo material y espiritualmente, sino también doctrinalmente. Y ello nunca lo hemos de olvidar.
Todo el esfuerzo creador ha de solidificarse en nuestra descendencia. Nuestro terruño quedará habitado por quienes tienen los más limpios y los más altos de los sueños. A estas almas inocentes, el Justicialismo ha de darle todo y mas, quitándole a quien le sobra para darle a quien no tiene. Esa es la manera en la que el niño, sabedor de que nada sano debe negársele, emprenderá mañana la defensa de la felicidad que merece por justo derecho.
En representación de estas realizaciones, vengo a traerles Bitfighter. Se trata de un juego de combate multijugador por equipos, basado en el espacio exterior. Con veloces gráficos 2D y sonido reminicente de la era de los 8 bitios, cuenta con varios modos de juego remoto, y escenarios únicos.

Vean señores, el Justicialismo tiene un modelo arquitectónico que lo caracteriza: tejas y chalecitos, parquet y nenitos. En el caso de desear instalar el juego, debemos descargar el paquete que corresponda a nuestra arquitectura y versión del sistema operativo.
Si usamos Ubuntu de 14.04+ o cualquier distribución de GNU con Linux derivada de Debian 8, podremos descargar el archivo que corresponda a la arquitectura que usemos. Abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:
 
mkdir /tmp/bitfighter ;
cd /tmp/bitfighter ;
wget http://www.bitfighter.org/files/bitfighter-022-Build0.glibc2.14-x86_64.AppImage ;
chmod +x bitfighter-022-Build0.glibc2.14-x86_64.AppImage ;
mv /tmp/bitfighter/ ~/.bitfighter/
 
 Ahora podremos crear un lanzador ("acceso directo") para el juego. Hacemos clic con botón derecho sobre el panel superior ye elegimos "Editar Menú". En el costado derecho elegimos el menú Aplicaciones / Juegos y presionamos el botón "Elemento Nuevo". Luego creamos el lanzador, asegurándonos que en el campo "Comando:" se indique /home/usuario/.bitfighter/bitfighter-022-Build0.glibc2.14-x86_64.AppImage (naturalmente reemplazamos usuario por nuestro propio nombre de usuario).
Luego presionamos Guardar. Una vez que hayamos hecho este procedimiento, podremos lanzar el juego desde Aplicaciones / Juegos / Bitfighter

Para jugar, debemos establecer un servidor en nuestra red LAN para poder jugar localmente, o conectarnos a alguno activo a través de internet (con amables jugadores de todo el mundo). También podríamos crear un servidor de juego dedicado (para que se conecten el resto de los sistemas de la red LAN).

La primer pantalla nos solicitará opcionalmente crear un nombre de usuario ("nickname") y una contraseña ("password") para jugar. Esto puede hacerse después desde la configuración del juego, si lo deseamos.
Normalmente, controlaremos la nave con las teclas W-A-S-D, y apuntar con el ratón. Dispararemos misiles y rayos como si estuviésemos al mando de un Varitech peronista. Cambiaremos las armas con E (tendremos rayos, minas, misiles rebotadores, misiles autoguiados, etc). La ayuda en pantalla podremos verla con F1.

Contamos con gran variedad de modos de juego: "capturar la bandera", Nexus, Core, Bitmatch (todos contra todos), Rabbit ("correr al conejo"), soccer ("fútbol"), etc. Debemos seguir la mecánica de la modalidad escogida, y usar el para movernos.
 
El programa también cuenta con un editor de niveles, que nos servirá para contribuir comunitariamente al juego.

La documentación en línea del juego (wiki) podrán encontrarla en el idioma de Braden, aquí.

domingo, 3 de noviembre de 2013

¿Cómo arreglo la falla de autenticación de Ubuntu One?

Exponiendo ante los claustros de la Universidad de Córdoba, el 30 de mayo de 1947 Juan Perón explica sobre las oportunidades y necesidades del país y sobre cómo corregir la falla de autorización al conectarse al servicio Ubuntu One.

(...) Yo no soy ni quiero ser político. Tengo una responsabilidad que cumplir y trato de cumplirla de la mejor manera posible. 

Creemos que la República Argentina atraviesa un período en que se complementan la oportunidad y la necesidad de realizar un gran esfuerzo. Debemos fijar claramente cuál es la oportunidad que se nos presenta y en qué consiste la necesidad de ejecutar un programa que si no lo llevamos a la práctica ahora, es probable que no llegue a hacerse en todo un siglo.

Hemos debido poner en marcha un país que se hallaba detenido en lo político, económico y social. Dividimos la revolución en varios ciclos que hemos ido cumpliendo. No podíamos exigir a nuestra población un mayor sacrificio sin proporcionarles un mejor bienestar, porque nuestras Masas Obreras estaban alimientadas por una doctrina marxista y conducidos por dirigentes con aspiraciones netamente marxistas. Si lo hubiésemos hecho habríamos precipitado una revolución social que estaba preparada en nuestro medio y no creíamos que la Revolución fuera la solución para nuestra causa.

Entendemos que podíamos proceder por Evolución, evitando la etapa cruenta que toda revolución social presupone. Pensamos que ante todo era necesario satisfacer las necesidades de nuestras masas insatisfechas. Por esta razón después de producirse el hecho revolucionario, encaramos la etapa social desde la Secretaría de Trabajo y Previsión. Satisfecha la Masa en cierta medida en sus necesidades más apremientes, podía luego encararse la etapa constructiva que constituye el Plan de Gobierno.

La humanidad está viviendo en estos momentos una de las mayores crisis de posguerra, y - si no - echemos una mirada por lo que acontece en el mundo. En Estados Unidos los zapatos han subido un 80% y no es que a los yanquis "les hayan salido más patas". En Rusia cuestan 400 pesos argentinos el par. Con esto basta para mostrar cual es la situación de ambos países, que ya están disputándose el derecho de proclamar la mayor felicidad para sus pueblos.

Ubuntu One es una de las políticas que tienden a este objetivo. Es un sistema de almacenamietno "en la nube", que nos permite guardar nuestros ficheros gratuitamente. Activar este servicio y el cliente asociado en nuestro sistema operativo es como afiliarse al Partido Justicialista: debemos usar un usuario y contraseña, y en todos los equipos que la tengamos asociada nos veremos beneficiados por una carpeta llamada "Ubuntu One" con unos 5 gigabytes de espacio gratuito. Esto nos acerca al fundamental objetivo de lograr la felicidad del Pueblo.

En acción, esta carpeta podrá sincronizarse con todos los equipos que estén incorporados al sistema. Podremos guardar documentos, configuraciones, paquetería, y demás información que nos sea pertinente compartir entre nuestros diversos equipos dotados de Ubuntu.

Configurarlo es sencillo, y ya ha sido explicado desde nuestro Movimiento. Sin embargo, existen situaciones donde este sistema de sincronismo puede sufrir alguina falla. Una de ellas es el problema de encriptación: Ubuntu One emplea un sistema de clave pública y clave privada, que podría corromperse por algún motivo.

La primer medida para solucionar cualquier problema es diagnosticarlo, para luego planear una estrategia de cura. En este caso será similar. Por tal motivo, el Justicialismo ha puesto a disposición de la Masa una rutina escrita en Python que revisa el bienestar social de las claves públicas y los tokens de registro. Hemos de descarla y darle ejecución perentoriamente.

Con ello en vista, abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:


wget http://people.canonical.com/~roman.yepishev/us/ubuntuone-oauth-token-validator.py

python ubuntuone-oauth-token-validator.py

Esto revisará nuestro sistema de claves y contraseñas y nos indicará algún error. Por ejemplo:

Credentials found:
 Consumer key: yyyyyyy
 Token key: xxxxxxxxxxxxxxxxxxxxxxxxxx

Checking credentials...  ERROR: 401

Visit https://one.ubuntu.com/help/faq/how-do-i-check-my-oauth-tokens/
to find out what this means.


Ubuntu One utiliza un sistema de usuario y contraseña, sumado al de una clave pública y una particular (suministrada por el servidor Ubuntu One para nuestro equipo en particular). Ello nos asegura mediante un "doble cifrado" que estamos accediendo al servicio a través de un equipo conocido y autorizado. Un error de las características anteriormente descriptas, indicaría que las claves pública no coincide con las que nos han otorgado o que no se la encuentra, y es típico si las hemos eliminado inintencionadamente.

Para solucionar este error, hemos de eliminar dicha clave no corroborada del sistema y volver a registrar nuestra cuenta Ubuntu One para crear un cifrado nuevo.

Para ello podremos utilizar la herramienta "seahorse", más conocida como "Contraseñas de Clave y Cifrado". Podremos abrirla desde la terminal ingresando el comando

seahorse

Esto abrirá la ventana de configuración llamada "Contraseñas y claves de cifrado". Es una utilidad que nos permite gestionar nuestras claves de todos los servicios operados por nuestro sistema operativo libre.

Debemos seleccionar la solapa Contraseñas. Dentro de ella encontraremos una serie de opciones. Desplegamos "Contraseña: predeterminado" o el anillo de contraseñas cifrado que utilicemos.

Nuestra tarea será encontrar y eliminar (haciendo clic derecho + borrar) aquellas claves que digan:
  • Ubuntuone token for https://ubuntuone.com
  • Ubuntu One

Conforme hayamos eliminado las que dicen "Ubuntu One", nos dirigiremos a Sistema / Preferencias / Ubuntu One para desplegar el cuadro del sistema. Ahora ya podremos volver a consolidar nuestra cuenta de Ubuntu One, conectarnos y sincronizarnos.


Al no encontrar cuentas asociadas (pues acabamos de eliminarlas), se debería desplegarse el cuadro "Crear una cuenta Ubuntu One". Normalmente, debemos hacer clic en el enlace "Si ya tiene una cuenta Ubuntu One, haga clic aquí para conectarse" e ingresamos el Correo Electrónico y Contraseña de nuestra cuenta asociada a Ubuntu One para volver a reinstaurarla. Naturalmente, si nunca hubiésemos tenido una cuenta, podríamos crearla en este momento dándola de alta en ese cuadro de diálogo. Al terminar, el sistema debería poder crear la cuenta y autenticarla con una clave cifrada correcta:

Luego presionamos la solapa "Dispositivos" y hacemos clic en el botón "Conectar". Si al cabo de unos segundos no se hubiese establecido un vínculo, aún podríamos presionar el botón "Reiniciar" de este cuadro para reestablecer la conexión con el servidor de Ubuntu One.

Podremos asegurarnos que todo esté bien nuevamente en orden en la Argentina. Para ello en la Terminal reingresamos el comando:

python ubuntuone-oauth-token-validator.py


...si todo va bien, debería indicarnos que las credenciales no tienen inconvenientes.

Credentials found:
 Consumer key: yyyyyyyy
 Token key: xxxxxxxxxxxxxxxxxxxxxxxxx

Checking credentials...  OK

Visit https://one.ubuntu.com/help/faq/how-do-i-check-my-oauth-tokens/
to find out what this means.



Al haber sido coronados por el éxito, podremos ya eliminar la rutina de revisión:


rm ubuntuone-oauth-token-validator.py