Am I doing something wrong or has yowsup been broken by a recent whatsapp change?
I'm using d69c1ff with 42261bf applied, on debian linux. Succeeded in registering one number from a pay-as-you-go sim and managed to send exactly one message to my mobile using yowsup-cli demo --send. subsequent attempts to send a message result in the Connection Closed error, as does /login or /L in the text interface. Further yowsup-cli registration --requestcode give status: ok and a fresh password.
Is whatsapp disconnecting me because it doesn't like yowsup any more? I'd just like to use yowsup-cli to send status/monitoring messages from my server(s) to my phone.
Here's some (redacted) debug, if it's any help....
yowsup-cli registration --debug --env android --mcc 234 --mnc 20 --phone 44....51 --cc 44 --requestcode sms
DEBUG:yowsup.env.env:Current env changed to android
yowsup-cli v2.0.15
yowsup v2.5.0
Copyright (c) 2012-2016 Tarek Galal
.....
DEBUG:yowsup.common.http.warequest:{'Accept': 'text/json', 'User-Agent': 'WhatsApp/2.16.148 Android/4.3 Device/Xiaomi-armani'}
DEBUG:yowsup.common.http.warequest:cc=44&in=73....51&id=%14I%8BU%FE%FE%94%A1r%1F%ED%B54%3F%FC%3A%E5%91W%C5&lg=en&lc=GB&token=WVvkHzuLdoVg%2FyRyDaCGBUMqDzg%3D&mistyped=6&network_radio_type=1&simnum=1&s=&copiedrc=1&hasinrc=1&rcmatch=1&pid=15515&extexist=1&extstate=1
DEBUG:yowsup.common.http.warequest:Opening connection to v.whatsapp.net
DEBUG:yowsup.common.http.warequest:Sending GET request to /v2/exist?cc=44&in=73....51&id=%14I%8BU%FE%FE%94%A1r%1F%ED%B54%3F%FC%3A%E5%91W%C5&lg=en&lc=GB&token=WVvkHzuLdoVg%2FyRyDaCGBUMqDzg%3D&mistyped=6&network_radio_type=1&simnum=1&s=&copiedrc=1&hasinrc=1&rcmatch=1&pid=15515&extexist=1&extstate=1
INFO:yowsup.common.http.warequest:{"status":"ok","login":"4473....51","type":"existing","pw":"wj+aZ....b4=","expiration":4444444444.0,"kind":"free","price":"\u00a30.69","cost":"0.69","currency":"GBP","price_expiration":1480545949}
status: ok
kind: free
pw: wj+aZ....b4=
price: 拢0.69
price_expiration: 1480545949
currency: GBP
cost: 0.69
login: 4473....51
type: existing
expiration: 4444444444.0
yowsup-cli demos --debug --env android --login "4473....51:wj+aZ....b4=" --send 44....33 "Hello world"
DEBUG:yowsup.env.env:Current env changed to android
yowsup-cli v2.0.15
yowsup v2.5.0
Copyright (c) 2012-2016 Tarek Galal
....
DEBUG:yowsup.stacks.yowstack:Initializing stack
DEBUG:yowsup.stacks.yowstack:Constructed Network Layer
DEBUG:yowsup.stacks.yowstack:Constructed Stanza Regulator Layer
DEBUG:yowsup.stacks.yowstack:Constructed Crypt Layer
DEBUG:yowsup.stacks.yowstack:Constructed Coder Layer
DEBUG:yowsup.stacks.yowstack:Constructed Logger Layer
DEBUG:yowsup.stacks.yowstack:Constructed <yowsup.layers.axolotl.layer_control.AxolotlControlLayer object at 0x7f5494b10890>
DEBUG:yowsup.stacks.yowstack:Constructed Axolotl Layer - <yowsup.layers.axolotl.layer_receive.AxolotlReceivelayer object at 0x7f5494b10190>
DEBUG:yowsup.stacks.yowstack:Constructed Authentication Layer - Messages Layer - Receipt Layer - Ack Layer - Presence Layer - Ib Layer - Iq Layer - notification Ib Layer - Iq Layer - Chatstate Layer - call Layer - Groups Iq Layer - Media Layer - Privacy Layer - Profiles Layer
DEBUG:yowsup.stacks.yowstack:Constructed Interface Layer
DEBUG:yowsup.layers.network.layer:Connecting to e1.whatsapp.net:443
DEBUG:yowsup.layers.logger.layer:tx:
<stream:features>
</stream:features>
DEBUG:yowsup.layers.logger.layer:tx:
<auth passive="true" user="4473....51" mechanism="WAUTH-2">
....
HEX:7ccb....8a3
</auth>
DEBUG:yowsup.layers.logger.layer:rx:
<stream:features>
</stream:features>
DEBUG:yowsup.layers.logger.layer:rx:
<challenge>
....
HEX:d4....16
</challenge>
DEBUG:yowsup.layers.logger.layer:tx:
<response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">
....
HEX:ee....88
</response>
DEBUG:yowsup.layers.network.layer:Disconnected, reason: Connection Closed
Thanks for any help ;-)
This problem happends when we use android env, with updated s40 env (from #1824) problem solved but this solution is temporary, how we extract android env data should be documented then maybe we can exctract data from in our own phone and use it.
Same problem met here. After changing environment to s40, the disconnection issue resolved, but number got banned.
I'm seeing the same thing when using the Android config. This might be a stupid question, but is there a way to use the Android environment with yowsup today?
After reading a bit more (https://github.com/tgalal/yowsup/issues/1826 and https://github.com/tgalal/yowsup/issues/1824 in particular), it seems that using the android env with current yowsup is a non-starter due to the wa20 changes (please correct me if I'm wrong!) If that's the case, will yowsup be non-functional at the end of the year due to WhatsApp discontinuing the S40? I certainly understand this is volunteer-driven, so I would not fault anyone for not making the updates; I'm just trying to determine if I should use yowsup for a WhatsApp integration. Thank you!
@jswilson Yes, you are right. Yowsup will stop working in 28 days! And, by now, I dind't see any contribution on wa2.0 protocol.
Thank you very much for confirming, @jlguardi. I know you maintain a fork and are very involved with yowsup; are you planning on stopping using yowsup?
I have no time for developing wa2.0 and there isn't a working group on it so... I guess yowsup will dead this month.
i can work on wa20 but i need a starting point, specially a story for how to begin for reverse enginering, then i can work, maybe i will succeed maybe not.
@selam I can work too. And i need a starting point too.
@jlguardi Thank you again for your reply, and I completely understand. Looks like we have a short-term reprieve per the discussion here!: https://github.com/tgalal/yowsup/issues/1863
If any of you is serious about working on WA20 protocol I can probably
help a bit (by pointing you in the right direction).
As a starting point find an Android decompiler and use it on the
Android app.
Another starting point would be http://noiseprotocol.org/noise.html -
you'll only need to implement the Noise Pipes (i.e. Noise_XX, Noise_IK
and Noise_XXfallback).
I am serious becouse we create a product for whatsapp using yowsup and we dont wanna loose
this product.
i am also serious on it. how can I start?
As I mentioned, an implementation of Noise Pipes is probably the best
starting point as this can initially be tested independently and then
adapted to connect to the WhatsApp servers (WA encapsulates the Noise
handshake messages in protobuf messages).
I am trying to run the yowsup client and getting below error:
Can anyone let me know what can be the reason for this?
As per the above comments i updated the 'env_android.py' with
_MD5_CLASSES = "1I2weuZmVg+uL50+HXeSJw=="
_VERSION = "2.16.328".
in '__init__.py' i modified:
CURRENT_ENV = AndroidYowsupEnv()
once i update the version do i need to run anything to refresh it ?
WHAT IS YOWSUP STILL RUNNING IN 2017?
Most helpful comment
This problem happends when we use android env, with updated s40 env (from #1824) problem solved but this solution is temporary, how we extract android env data should be documented then maybe we can exctract data from in our own phone and use it.