Cliente *libre* de mensajeria en la nube (part 1)

Vamos a darle un poco de caña al blog, que lo tengo abandonao! Voy a explicar como tener un cliente de mensajería instantánea en “la nube”. Antes de nada,  vamos a explicar el concepto.

Mario clouds are bushes!

El Concepto

Tradicionalmente, nuestro usuario Joe tiene:
– Un chat en Facebook
– Un chat en Gmail (Google Talk)
– Un chat en su PC (Microsoft Messenger)
Y algunos frikis tenemos además cuentas de ICQ, Jabber, IRC, y quién sabe qué más.

Tanta nube, tanta nube, pero necesitamos configurar un cliente de IM en cada ordenador (sobremesa, netbook, oficina…). Los clientes multiprotocolo (como Kopete o Pidgin) ayudan un poco. Pero cuidado como intentes conectarte desde varios ordenadores a la misma cuenta de MSN o de ICQ (porque es técnicamente imposible). Y si además quieres buscar algo en tu historial de conversaciones, te hará falta mucho café, algunas aspirinas, conectividad a todos los ordenadores y webs por las que hayas hablado, y una buena dosis de bash-fu para parsear todos los logs.

Lo suyo sería olvidarse de tanto protocolo, y usar Apache Wave, pero como a la gente no le gusta el cambio, voy a presentar no una, sino DOS soluciones a este problema. En ambos casos, nos hace falta una nube, es decir, un servidor que vaya a estar online permanentemente. Ya sea algún hierro viejo encendido en el trastero, o un servidor alquilado a terceros en la vasta red.

Ambas soluciones permiten:

  • Estar conectado 24/7 a todas nuestras redes de IM, sin necesitar un solo ordenador encendido en casa.
  • Tener el historial de conversaciones en un sitio centralizado.
  • Poder acceder a esas redes simultáneamente desde varios ordenadores, sin ningún problema en absoluto.
  • No necesitar configurar nuestras redes de IM en cada ordenador que toquemos.
  • No depender de software propietario para nada.

Primera solución: ssh + screen + finch

Si eres un frikón como dios manda, conocerás GNU screen. Esta utilidad permite tener sesiones de terminal abiertas “en background“, pudiendo verlas en pantalla u ocultarlas cuando se quiera.

SSH, obviamente, es una forma de conectarte de un ordenador a otro, ya sea con putty, openssh, o el cliente de turno.

Y finalmente, Finch es, para entendernos, un Pidgin portado a la terminal. Es un cliente IM multiprotocolo, que en vez de GTK o QT, usa letras en tu terminal. De hecho, tanto Finch como Pidgin se apoyan internamente en libpurple, una librería de IM multiprotocolo.

Como montamos el tinglado entonces?

  1. Instalamos screen y finch en nuestro servidor.
  2. Configuramos nuestras cuentas de mensajería en ese finch, una sola vez.
  3. Creamos un bucle/demonio/cron que mantenga finch arrancado en un screen todo el rato (por si peta, que se arranque de nuevo él solo).

Una vez hecho esto, basta conectarnos vía SSH al servidor, y acceder al screen donde está finch encendido. Por ejemplo:

$ ssh stenyak@servidor.com
$ screen -x miFinch

Y en pantalla veremos nuestro cliente, con su lista de contactos, sus pestañas para cada conversación, etc.

Por ejemplo, he aquí una sesión de Finch conectado a GTalk, MSN y un canal IRC en Freenode:

(por si alguien se pregunta donde entra Facebook en todo esto, comentar que el chat de Facebook tira desde hace bastantes semanas del protocolo Jabber. No es 100% compliant, pero cualquier cliente de Jabber decente debería poder conectarse a él)

Como podéis comprobar, es una solución solo apta para muy frikis. Los logs están todos legibles en texto plano en ~/.purple/logs.

Segunda solución

Pero a estas alturas de la vida, muchos linuxeros prefieren poder hacer clics y cosas así; por ello existe otra segunda solución, que como es un poco tarde, explicaré en el siguiente post.

Stay tuned!

(continúa en la parte 2…)

Tags: [es] | February 3rd, 2011 |

2 Responses to “Cliente *libre* de mensajeria en la nube (part 1)”

  1. Yuki Says:

    Pues me ha molado el cliente este. Aunque la gestión de ventanas se me hace un poco rara a primera vista, será cuestión de acostumbrarse.

    Una de las cosas que en su día siempre quise montar era esto y configurar bien el mutt para así no tener que depender de ningún cliente. Al final el mutt era un infierno con las mil opciones que tenía y el cliente no le di importancia (vamos, que me hice vago :p)

    A ver cual es la segunda solución!

  2. stenyak.com » Blog Archive » Cliente *libre* de mensajeria en la nube (part 2) Says:

    […] (…continuación de la parte 1) […]

Leave a Reply