WIP
Go to file
2015-11-25 22:30:11 +01:00
conf updated message of the day 2015-09-07 18:08:48 +02:00
Spectrum2 Pass only expected data to parseFromString 2015-10-09 18:31:57 +02:00
.gitignore updated gitignore 2013-08-02 01:50:09 +02:00
bot.py removed Google contacts import feature 2015-09-07 16:34:01 +02:00
buddy.py Download whatsapp profile pictures 2015-09-06 00:14:12 +02:00
constants.py.sample removed Google contacts import feature 2015-09-07 16:34:01 +02:00
COPYING.gpl3 added GPL v3 licence 2013-08-02 01:46:11 +02:00
group.py added copyright and author infos 2013-08-02 01:45:51 +02:00
reader.py added copyright and author infos 2013-08-02 01:45:51 +02:00
README.md Update README.md 2015-11-25 22:30:11 +01:00
session.py Crude implementation of groupchat 2015-09-06 14:06:16 +02:00
transwhat.py Add presence and chatstate 2015-09-03 20:04:29 +02:00
utils.py removed Google contacts import feature 2015-09-07 16:34:01 +02:00
whatsappbackend.py Download whatsapp profile pictures 2015-09-06 00:14:12 +02:00
yowsupwrapper.py Crude implementation of groupchat 2015-09-06 14:06:16 +02:00

transWhat

transWhat is a WhatsApp XMPP Gateway based on Spectrum 2 and Yowsup 2.

Getting started

I assume that you have a basic understanding of XMPP and the transport concept. transWhat is a XMPP transport. It is based on the Spectrum 2 XMPP transport framework and the Yowsup 2 library to interface with WhatsApp.

Before getting started, please make sure that you have a XMPP server running. I am using Prosody for this.

After this we have to install several dependencies:

Dependencies

Python packages

pip install --pre e4u protobuf mysql python-dateutil
  • e4u: is a simple emoji4unicode python bindings
  • yowsup: is a python library that enables you build application which use WhatsApp service.
  • mysqldb: MySQL client python bindings

Spectrum 2

Manual compile latest version from Github. You can use the following guide: http://spectrum.im/documentation/installation/from_source_code.html.

Installation

git clone git@github.com:stv0g/transwhat.git

Configuration of Prosody

See http://prosody.im/doc/components.

Component "whatsapp.0l.de"
     component_secret = "whatsappsucks"
    component_ports = { 5221 }
    component_interface = "127.0.0.1"

Configuration of Spectrum

Configuration of transWhat

First create a mySQL database named transwhat and fill it with the schema provided in the repo.

Docker

In near future, there will be a Dockerfile for transWhat.

Contributors

Pull requests, bug reports etc. are welcome. Help us to provide a open implementation of the WhatsApp protocol.

The following persons have contributed major parts of this code:

  • Steffen Vogel (@stv0g): Idea and initial implementation based on Yowsup 1
  • Mohammed Yaseen Mowzer (@moyamo): Port to Yowsup 2

Documentation

A project wiki is available here.

An outdated writeup of this project is also availabe at my blog.