domingo, 27 de abril de 2014

miércoles, 23 de abril de 2014

WhatsApp en Linux openSUSE



Para los que nos cuesta escribir en el teléfono, o no tenemos un teléfono que nos permita tener la Aplicación WhatsApp y lo necesitamos en nuestra PC del trabajo o casa, podemos instalarlo, en nuestro sistema. Por supuesto en este blog solo se mencionan cosas para Linux, que quede claro.

Para nuestro caso sera en openSUSE 13.1

Lo vamos a configurar con Pidgin, un programa de mensajería muy famoso en Linux, por lo que necesitamos instalarlo. Si ya tienes Pidgin perfecto, de lo contrario pueden buscarlo e instalarlo con zypper
Aclarando: Es importante saber como instalar software desde la consola (Aunque esta YaST, es bueno saber usar desde la consola las cosas) con zypper y saber que por lo menos tienes que tener configurados los tres repositorios principales.


Un poquito de ayuda con zypper:
zypper se <lo que se se quiere buscar>
zypper in <nombre de programa a instalar>

Todo esto se hace logeado como root. También necesitamos tener instalado git y algunos paquetes necesarios con sus dependencias.
zypper in python-dateutil python-argparse libpurple-devel

Nota: Es probable que necesites otros paquetes, como gcc++, make, freeimage-devel[1], gcc-c++, etc. Ya que haremos una pequeña compilación, yo no los tuve que instalar porque ya estaban en mi sistema, por lo que queda como procedimiento adicional.

[1] http://pkgs.org/opensuse-13.1/opensuse-games/freeimage-devel-3.15.4-3.2.i586.rpm.html

Ahora vamos a obtener el plugin de Whatsapp para Pidgin

 git clone https://github.com/davidgfnet/whatsapp-purple.git
 git clone https://github.com/tgalal/yowsup.git  

Al hacer esto se nos creará dos carpetas, una llamada whatsapp-purple y otra llamada yowsup, pasemos a compilar ahora el plugin para Pidgin y lo moveremos a la carpeta de plugins para Pidgin:


 cheperobert:/opt/whatsapp-purple # make  
 gcc -c -O2 -Wall -fPIC -DPURPLE_PLUGINS -DPIC -I/usr/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o wa_purple.o wa_purple.c  
 g++ -c -O2 -Wall -fPIC -DPURPLE_PLUGINS -DPIC -I/usr/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o whatsapp-protocol.o whatsapp-protocol.cc  
 g++ -shared -pipe -o libwhatsapp.so wa_purple.o whatsapp-protocol.o wa_api.o -lpurple -lglib-2.0   
 cheperobert:/opt/whatsapp-purple # ls -la  
 total 944  
 drwxr-xr-x 5 root root  4096 Nov 24 11:38 .  
 drwxr-xr-x 8 root root  4096 Nov 18 08:47 ..  
 drwxr-xr-x 8 root root  4096 Nov 24 11:34 .git  
 -rw-r--r-- 1 root root  126 Apr 23 2014 .gitignore  
 -rw-r--r-- 1 root root  324 Apr 23 2014 .mailmap  
 -rw-r--r-- 1 root root  151 Apr 23 2014 .travis.yml  
 -rw-r--r-- 1 root root  1831 Nov 24 11:34 Makefile  
 -rw-r--r-- 1 root root  1436 Nov 24 11:34 Makefile.mingw  
 -rw-r--r-- 1 root root  2517 Apr 23 2014 README.md  
 drwxr-xr-x 2 root root  4096 Nov 24 11:34 debian  
 -rw-r--r-- 1 root root  622 Nov 24 11:34 libwhatsapp.rc  
 -rwxr-xr-x 1 root root 329546 Nov 24 11:38 libwhatsapp.so  
 -rw-r--r-- 1 root root 19143 Apr 23 2014 wa_api.cc  
 -rw-r--r-- 1 root root  4081 Apr 23 2014 wa_api.h  
 -rw-r--r-- 1 root root 36180 Jul 4 09:39 wa_api.o  
 -rw-r--r-- 1 root root 45435 Nov 24 11:34 wa_purple.c  
 -rw-r--r-- 1 root root 36600 Nov 24 11:37 wa_purple.o  
 -rw-r--r-- 1 root root  4762 Apr 23 2014 wadict.h  
 -rw-r--r-- 1 root root 88977 Nov 24 11:34 whatsapp-protocol.cc  
 -rw-r--r-- 1 root root 309868 Nov 24 11:38 whatsapp-protocol.o  
 -rw-r--r-- 1 root root  1138 Apr 23 2014 whatsapp.png  
 -rw-r--r-- 1 root root  365 Apr 23 2014 whatsapp16.png  
 -rw-r--r-- 1 root root  496 Apr 23 2014 whatsapp22.png  
 -rw-r--r-- 1 root root  1011 Apr 23 2014 whatsapp48.png  
 drwxr-xr-x 2 root root  4096 Nov 24 11:34 win32  
 cheperobert:/opt/whatsapp-purple # cp -rf libwhatsapp.so /usr/lib/pidgin/  
 cheperobert:/opt/whatsapp-purple # cd ..  

Nota: Estos archivos los descargue bajo la carpeta /opt, pueden hacerlo desde el lugar que mejor les guste.

Ahora me voy a crear un archivo de configuración en :
 vi yowsup/whatsapp.txt  

Con la siguiente información:
cc= (codigo de area del pais)
phone=(Telefono incluyendo codigo)
id=
password=

ejemplo:
cc=503
phone=50374641347
id=
password=


Solicitamos el código para activar WhatsApp, dentro de la carpeta yowsup ejecutamos:
  ./yowsup-cli registration -c whatsapp.txt --requestcode sms

Cuanto tengamos el codigo, lo registramos:
 cheperobert:/opt/yowsup/src # ./yowsup-cli registration -c whatsapp.txt --register XXX-XXX  
 status: ok  
 kind: free  
 pw: UDXVLRIkH6py747CHlBYBbSF9/E=  
 price: US$0.99  
 price_expiration: 1401426698  
 currency: USD  
 cost: 0.99  
 expiration: 1418706987  
 login: 50374641347  
 type: existing  

Ahora abrimos Pidgin y configuramos una cuenta:
Protocolo: WhatsApp
Nombre del usuario: 50374641347 (acá ira tu numero)
 Contraseña: UDXVLRIkH6py747CHlBYBbSF9/E= (la que te proporciono cuando registraste)
Un apodo: cheperobert  

Eso es todo :)
Solo falta agregar los contactos en Pidgin, siempre agregando el código del área del país antes del teléfono. Espero les sirva

viernes, 11 de abril de 2014