-
Notifications
You must be signed in to change notification settings - Fork 1
WhatsApp incoming updates
Happy new year! We are working hard bringing here libaxolotl-php to decrypt and encrypt messages throught WhatsAPI. If you have java and php knowledge and want to collaborate, contact with me.
Regards.
It really has been a long time since we went to work on WhatsApp encryption, but we have finally did it! and it will be soon on the API, first it will appear in python API (yowsup) and later here in PHP.
The solution was to port the library.
I just wanted to give this good news and wish you a merry christmas.
Regards,
The WhatsAPI Official Team
It seems WhatsApp has done something wrong in their server and all the the features like the read receipt and the message encryption are not working.
You will see that the blue ticks (read receipts) are not showing, and when receiving messages from Android users, you will receive also the body
tag and the message in plain text.
Not only the API but the client has the same issue too, because it's a server property. When requesting properties to server, it crashes, and login again without requesting them:
Note: The users who haven't reinstalled WhatsApp now or installed for the first time, it won't affect this issue, as they have the properties already saved in their devices.
<iq id="***" xmlns="w" type="get" to="s.whatsapp.net">
<props>
</props>
</iq>
That's because the WhatsApp client is not using these features, as it's a server side error, when they fix this issue, it will work again. In the meantime, WhatsAPI Official, Yowsup, ... users should avoid using sendGetServerProperties()
as it will cause a Connection closed!
UPDATE: Now its fixed. You can use sendGetServerProperties()
again. Also we have noticed this new prop:
<prop name="plaintext_reenable_threshold" value="5"></prop>
As always we will update you before everyone knows.
Regards,
The WhatsAPI Official Team
Now the admin of a group can promote another participant and it could be more than one admin. Also there is a way to demote a pariticpant using the API, not implemented in WhatsApp client yet.
Also we can see now the chatstate (composing...) in a group.
Is not as easy to implement the 'encrypt' feature as i thought. WhatsApp has done a nice work this time (at least for now). We are working hard on this, and it will take time to us to implement this feature.
WhatsApp is using axolotl from WhisperSystems, you can check here.
We know more or less how it works, but as i said, this will take time for us. So be patient. We'll update you as we continue on this.
Regards,
The WhatsAPI Official Team
WhatsApp is using Symmetric-key algorithm to encrypt text messages and media, they called it pkmsg
. Now we receive messages like this:
<message to="***********@s.whatsapp.net" type="text" id="*********">
<body>
H
</body>
<enc v="1" type="pkmsg" av="Android/2.11.424">
��!��}D29��a�|�@Z$א��sI_���Q?{!qAm��<O��=7ė??�.�@�Zx���v�2"B3
!��j�1���O�3��l,x���y�N��l�_????"�&̂ 0Χ�F����lh��(��Ж0??
</enc>
</message>
As you can see above, the message it's in plain and cipher it, but i think in near future, the message will be sent/received ciphered only.
How to get the shared key?
<iq id="*********" xmlns="encrypt" type="get" to="s.whatsapp.net">
<key>
<user jid="***********@s.whatsapp.net">
</user>
</key>
</iq>
I hope this week i can implement this privacy feature. Still many things to be done!
In next releases, WhatsApp lets the user choose if we want the 'read' receipt, it will be a toggle to active/deactive that option. WhatsApp will introduce to client, what they have called 'groups_v2', that features are already implemented in the API, like:
sendPromoteParticipants
sendDemoteParticipants
sendLockGroup
sendUnlockGroup
WhatsApp clients are already using encryption to send text messages, that's a good feature, although im still researching about that, i managed to get that working with the API, im not going to release it until i get ideas clearer.
Regards.
WhatsApp has enabled a new way of the receipts (checks):
- Sent but not received by the user
- Message received by the user
- The user has read your message
Time check
I personally don't like this feature, it's about privacy 😕
- Incoming
<receipt from="96170******@s.whatsapp.net" id="1415160587-220" type="read" t="1415221936">
</receipt>
- Outgoing
<receipt to="96170******@s.whatsapp.net" id="1415217728-545" type="read">
</receipt>
Web
At this moment, we can say WhatsApp is preparing a web client, as far as i know, you will login with your WhatsApp acount through the web client using OAuth, so the web client will send a request to your mobile client, if you accept this it will login in the web client. All the data sent via web is synced with your mobile device and it also sends data like: battery, if device is plugged...
This should be the website: https://web.whatsapp.com
Encryption
WhatsApp is starting to encrypt text and media messages in the newer versions. Right now, the text or media is being sent ciphered and in plain so the older clients still receive the messages. We'll try to implement this as soon as possible, we are working hard :)
Regards.
The WhatsAPI Official Team
Hey there! @SikiFn, @CODeRUS and i (@mgp25) found a new feature. It seems WhatsApp is preparing a web platform or similar. At this moment there aren't many functions but we can assure this functions are web related.
Things like:
sendWebDisconnect()
this.web_event_handler
"xmlns":"w:web"
We'll keep you informed as we discover more information.
Redards.
WhatsAPI Official team
-
Events and Functions
-
Nodes
-
Technical Information
-
WhatsApp Workflow * First login * Other login * Sending a message