128 lines
5.3 KiB
Markdown
128 lines
5.3 KiB
Markdown
Author: Megver83
|
|
Category: GNU/Linux
|
|
Date: 2017-05-18 06:35
|
|
Image: /2017/05/xmpp.png
|
|
Lang: en
|
|
Save_as: connect-xmpp-with-whatsapp-using-yowsup-and-transWhat/index.html
|
|
URL: connect-xmpp-with-whatsapp-using-yowsup-and-transWhat/
|
|
Slug: conectar-xmpp-con-whatsapp-usando-yowsup-y-transwhat
|
|
Tags: xmpp
|
|
Title: Connect XMPP with WhatsApp using yowsup and transWhat
|
|
|
|
Hasn't it happened to you that communication with your friends,
|
|
family, etc. is made difficult by the simple fact of not using
|
|
WhatsApp? Sure, it's a quick, easy, and cross-platform solution,
|
|
but it doesn't respect the freedoms and rights of users.
|
|
I know many people in the world of free software who have been
|
|
forced to install it because there is no other way to communicate
|
|
with those who need to do it (be it for work, school work, or
|
|
simply keep in touch with their loved ones). However,
|
|
with [yowsup][yowsupGIT] and [transWhat][transWhatGIT] that is over.
|
|
With both, you can chat with WhatsApp users, be in their groups
|
|
and more, using the best-known decentralized instant messaging
|
|
network: XMPP.
|
|
|
|
## What are yowsup and transWhat?
|
|
|
|
Yowsup is a python library that allows you to create applications
|
|
that use the WhatsApp service. Yowsup has been used to create an
|
|
unofficial WhatsApp Nokia N9 client through the
|
|
[Wazapp][WazappGIT] project that was in use by 200K + users,
|
|
as well as another completely unofficial client for Blackberry 10.
|
|
On the other hand, transWhat is a gateway to link between XMPP
|
|
and WhatsApp instant messaging networks.
|
|
|
|
## Brilliant! How do I start?
|
|
|
|
The basic requirements are:
|
|
|
|
- Have [pip][pipweb] installed.
|
|
- Create an XMPP account (if you don't have one) with support for
|
|
the transWhat gateway. For example, [JabJab.de][jabjabsite]
|
|
- Have a mobile phone number.
|
|
- Have an advanced XMPP client, for example Gajim, with the XMPP
|
|
account to be used configured.
|
|
|
|
## So, get to work!
|
|
|
|
From a terminal, install the yowsup2 package with pip as root.
|
|
|
|
:::console
|
|
# pip install yowsup2
|
|
|
|
After you have installed it, make sure that in the file
|
|
/usr/lib/python3.6/site-packages/yowsup/env/env.py in
|
|
DEFAULT variable it says "Android" (including the quotes),
|
|
read this [comment][comment] from an issue from yowsup's
|
|
GitHub repository.
|
|
|
|
## Make account
|
|
|
|
To create an account with yowsup, you must run the following command:
|
|
|
|
:::console
|
|
$ yowsup-cli registration -E s40 -r sms -p <phone_number> -C <country_code> -m <country_mobile_code> -n <network_mobile_code>
|
|
|
|
So, as Jack the Ripper said, let's go part.
|
|
|
|
- `<phone_number>` it must be the complete telephone number, with the country code, except for the `+` sign
|
|
- `<country_code>` corresponds to the country code, if you do not know yours, see it [here][netlist].
|
|
- `<country_mobile_code>` It is the MCC that you can find [here][MCC].
|
|
- `<network_mobile_code>` It is the MNC that you can also find on the same page as `<country_mobile_code>`
|
|
|
|
If everything works, something like this should appear at the end of the command,
|
|
you should receive a text message with the code to register, similarly write:
|
|
|
|
:::console
|
|
$ yowsup-cli registration -E s40 -p <phone_number> -C <country_code> -m <country_mobile_code> -n <network_mobile_code> -R <sms_code>
|
|
|
|
Where `<sms_code>` corresponds to the code you received on your cell
|
|
phone.
|
|
The output of the command, near the end, you should get something like:
|
|
|
|
```bash
|
|
INFO:yowsup.common.http.warequest:b'{"status":"ok","login":"<phone_number>","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'<phone_number>' pw: b'<password>' type: b'existing' expiration: 4444444444.0 kind: b'free' price: b'US$0.99' cost: b'0.99' currency: b'USD' price_expiration: 1497967560
|
|
```
|
|
|
|
What interests us here is what is blackened. It will show you your
|
|
phone number and password, which we will now use to connect XMPP
|
|
with WhatsApp. Note that the letters "b" and the apostrophes are
|
|
not blackened.
|
|
|
|
## Connecting XMPP and WhatsApp with transWhat
|
|
|
|
So now that we have the number and password, it's time for action.
|
|
If you use Gajim, go to **Actions>Discover services>using the
|
|
account jabjab.de** (or the one you use with transWhat support).
|
|
In the "Transport" section select "transWhat" and then click
|
|
"Subscribe", it will ask for the number and password that you
|
|
obtained with yowsup.
|
|
|
|
Ready! You already have a functional XMPP account with WhatsApp.
|
|
To add WhatsApp contacts you have to add them with the address
|
|
`<phone number>@domain.of.transport>`
|
|
|
|
**Note:**
|
|
|
|
`<telephone number>`: it must be the complete number but without the `+` sign,
|
|
the same as when you registered.
|
|
|
|
## To end
|
|
|
|
We hope this tutorial has helped you, share it with your friends, on social
|
|
networks and you have derived from this article if you wish, remember that
|
|
Conocimientos Libres is about that (o˘◡˘o)
|
|
|
|
I thank [trinux][u-trinux], who was the person who taught me how to
|
|
connect XMPP and 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/en/users/trinux
|