116 lines
5.5 KiB
Markdown
116 lines
5.5 KiB
Markdown
Author: Megver83
|
|
Category: GNU/Linux
|
|
Date: 2017-05-18 06:35
|
|
Image: /2017/05/xmpp.png
|
|
Slug: conectar-xmpp-con-whatsapp-usando-yowsup-y-transwhat
|
|
Tags: xmpp
|
|
Title: Conectar XMPP con WhatsApp usando yowsup y transWhat
|
|
|
|
¿No te ha pasado que la comunicación con tus amigos, familia, etc.
|
|
se dificulta por el simple hecho de no usar WhatsApp? Claro, es una
|
|
solución rápida, fácil y además multiplataforma, pero no respeta las
|
|
libertades y derechos de los usuarios. Conozco mucha gente del mundo
|
|
del software libre que se ha visto obligada a instalarlo porque no hay
|
|
otra forma de comunicarse con quienes necesitan hacerlo (sea por trabajo,
|
|
tareas escolares, o simplemente mantener contacto con sus seres queridos).
|
|
Sin embargo, con [yowsup][yowsupGIT] y [transWhat][transWhatGIT]
|
|
eso se acabó. Con ambos, podrás
|
|
chatear con los usuarios de WhatsApp, estar en sus grupos y más,
|
|
utilizando la red de mensajería instantánea descentralizada más conocida: XMPP.
|
|
|
|
## ¿Qué son yowsup y transWhat?
|
|
|
|
Yowsup es una biblioteca de python que te permite crear aplicaciones que usan
|
|
el servicio de WhatsApp. Yowsup se ha utilizado para crear un cliente no
|
|
oficial de WhatsApp Nokia N9 a través del proyecto [Wazapp][WazappGIT]
|
|
que estaba en uso por 200K + usuarios, así como otro completamente oficioso cliente
|
|
no oficial para Blackberry 10. Por el otro lado, transWhat es una puerta de
|
|
enlace entre las redes de mensajería instantánea XMPP y WhatsApp.
|
|
|
|
## Genial! ¿Cómo empiezo?
|
|
|
|
Los requisitos básicos son:
|
|
|
|
- Tener [pip][pipweb] instalado.
|
|
- Crearse una cuenta (en el caso de no tenerla) de XMPP con soporte para la pasarela transWhat. Por ejemplo, [JabJab.de][jabjabsite]
|
|
- Tener un número de teléfono móvil (celular).
|
|
- Tener un cliente XMPP avanzado, por ejemplo Gajim, con la cuenta XMPP a usarse configurada.
|
|
|
|
## Entonces, ¡Manos a la obra!
|
|
|
|
Desde un terminal, instala el paquete yowsup2 con pip como root.
|
|
|
|
# pip install yowsup2
|
|
|
|
Después de haberlo instalado, asegúrate que en el archivo
|
|
/usr/lib/python3.6/site-packages/yowsup/env/env.py
|
|
en la variable DEFAULT diga "Android" (incluyendo las comillas),
|
|
lee [este comentario][comment]
|
|
de un issue del repositorio GitHub de yowsup.
|
|
|
|
|
|
## Creación de la cuenta
|
|
|
|
Para crearte una cuenta con yowsup, debes ejecutar el siguiente comando:
|
|
|
|
```
|
|
$ yowsup-cli registration -E s40 -r sms -p <nº_de_teléfono> -C <código_del_país> -m <código_móvil_del_país> -n <código_móvil_de_la_red>
|
|
```
|
|
|
|
Entonces, como dijo Jack el destripador, vamos por parte.
|
|
|
|
|
|
- `<nº_de_teléfono>` debe ser el número de teléfono completo, con el código del país, exceptuando el signo +
|
|
- `<código_del_país>` corresponde al código del país, si no te sabes el tuyo, míralo [aquí][netlist].
|
|
- `<código_móvil_del_país>` Es el MCC que lo puedes encontrar [aquí][MCC].
|
|
- `<código_móvil_de_la_red>` Es el MNC que también lo puedes encontrar en la misma página que `<código_móvil_del_país>`
|
|
|
|
Si todo funcionó, debería aparecerte algo como esto al final del comando, deberías recibir
|
|
un mensaje de texto con el código para registrarte, de forma similar, escribe:
|
|
|
|
```
|
|
$ yowsup-cli registration -E s40 -p <nº_de_teléfono> -C <código_del_país> -m <código_móvil_del_país> -n <código_móvil_de_la_red> -R <código_del_sms>
|
|
```
|
|
|
|
Donde `<código_del_sms>` corresponde al código que recibiste en tu celular.
|
|
El resultado del comando, cerca del final, deberías obtener algo como:
|
|
|
|
```
|
|
INFO:yowsup.common.http.warequest:b'{"status":"ok","login":"<nº_de_teléfono>","type":"existing","pw":"FBmvgZs8UUbSX2ZHeVyxc7G7g4s=","expiration":4444444444.0,"kind":"free","price":"US$0.99","cost":"0.99","currency":"USD","price_expiration":1497967560}\n' status: b'ok' login: b'<nº_de_teléfono>' pw: b'<contraseña>' type: b'existing' expiration: 4444444444.0 kind: b'free' price: b'US$0.99' cost: b'0.99' currency: b'USD' price_expiration: 1497967560
|
|
```
|
|
|
|
Lo que nos interesa de aquí es lo que está ennegrecido. A ustedes les mostrará su número de teléfono y una contraseña,
|
|
que ahora usaremos para conectar XMPP con WhatsApp. Nota que las letras “b” y los apostrofes no están ennegrecidos.
|
|
|
|
## Conectando XMPP y WhatsApp con transWhat
|
|
|
|
Entonces, ahora que tenemos el número y la contraseña, es hora de la acción. Si usas Gajim, ve a **Acciones> Descubrir servicios>
|
|
usando la cuenta jabjab.de** (o la que ustedes usen con soporte transWhat). En la sección "Transportes" selecciona "transWhat" y
|
|
luego haz click en "Suscribir", te pedirá el número y contraseña que obtuviste con yowsup.
|
|
|
|
Listo! Ya tienes una cuenta XMPP funcional con WhatsApp. Para agregar contactos de WhatsApp tienes que
|
|
añadirlos con la dirección `<nº_de_teléfono>@dominio.del.transporte>`
|
|
|
|
**Nota:**
|
|
```
|
|
<nº_de_teléfono>
|
|
```
|
|
tiene que ser el número completo pero sin el **signo +**, igual que cuando te registraste.
|
|
|
|
## Para finalizar
|
|
|
|
Esperamos que te haya servido este tutorial, compártelo con tus amigos, en redes sociales y has derivados de este artículo si lo deseas,
|
|
recuerda que Conocimientos Libres se trata de eso (o˘◡˘o)
|
|
|
|
Le agradezco a [trinux][u-trinux], quien fue la persona que me enseñó como conectar XMPP y WhatsApp.
|
|
|
|
[yowsupGIT]: https://github.com/tgalal/yowsup
|
|
[transWhatGIT]: https://github.com/stv0g/transwhat
|
|
[WazappGIT]: https://github.com/tgalal/wazapp
|
|
[pipweb]: https://pip.pypa.io/
|
|
[jabjabsite]: https://jabjab.de/
|
|
[comment]: https://github.com/tgalal/yowsup/issues/1952#issuecomment-284212268
|
|
[netlist]: http://www.ipipi.com/networkList.do
|
|
[MCC]: https://en.wikipedia.org/wiki/Mobile_country_code
|
|
[u-trinux]: https://trisquel.info/es/users/trinux
|