Browse Source

added links to

Steffen Vogel 7 years ago
  1. 144


@ -2,6 +2,9 @@
transWhat is a WhatsApp XMPP Gateway based on [Spectrum 2]( and [Yowsup 2](
## [Installation](
## [Usage](
## Features
* Typing notifications
@ -10,141 +13,6 @@ transWhat is a WhatsApp XMPP Gateway based on [Spectrum 2](http://www.spectrum.i
* Set status message
* Groupchats
## Usage
### Bot
You might want to talk to [[.:bot|our bot]] if you're feeling lonely ;-P
### Login
|**User**|CountryCode + PhoneNumber (eg. 4917634911387)|
|**Password**|WhatsApp password, see [[.:password|password]] for details|
|**Alias**|//not required//|
|**Ressource**|//not required//|
### Buddies
WhatsApp does not store your contacts on their servers. Thus you need to import your contacts manually with your XMPP Client or use [[.:bot|our bot]] to Import your contacts from Google (preferred).
(In Pidgin: Menu => Buddys => Add Buddy)
Just use the same JID format as for your login:
CountryCode + PhoneNumber + ""
### Groups
To chat with groups you need to add them manually to your XMPP client.
To get a list of your WhatsApp groups, you can use the AutoDiscovery function of your WhatsApp client.
(In Pidgin: Menu => Buddys => Join Chat => RoomList)
When asked, use this conference server:
### Smileys / Emojis
To be able to see smileys, you will need an [[|Unicode emoji font]].
When using pidgin, you might want to check out my [[|Unicode emoji theme]].
## Setup
I assume that you have a basic understanding of XMPP and the the concept of a XMPP component / transport. If not, please get a book about Jabber or read the standards.
transWhat is a XMPP transport. By this means it extends the functionallity of an existing XMPP server. It acts as a gateway between the XMPP and WhatsApp networks. It receives WhatsApp messages and forwards them to your XMPP client (and vice-versa).
The implementation of transWhat is based on the [Spectrum 2]( framework and the [Yowsup 2]( library to interface with WhatsApp.
The following chart summarizes the involved components and the protocols they use to communicate.
### Prosody
##### Installation
I will not cover the installation of Prosody in this guide. Please look for some other tutorials on how to do that.
##### Configuration
The only important thing for us is the configuration of a XMPP component (Spectrum 2 in our case).
Append the following at the end of `/etc/prosody/prosody.cfg.lua`
Component ""
component_secret = "whatsappsucks"
component_ports = { 5221 }
component_interface = ""
### Spectrum 2
##### Installation
Manual compile latest version from [Github](
You can use the following guide:
##### Configuration
Create a new file `/etc/spectrum2/transports/whatsapp.cfg` with the following content:
user = spectrum
group = spectrum
jid =
server = localhost
password = whatsappsucks
port = 5221
backend_host = localhost
backend = /location/to/transwhat/
users_per_backend = 10
more_resources = 1
admin_jid = your@jid.example
name = transWhat
type = xmpp
category = gateway
config = /etc/spectrum2/logging.cfg
backend_config = /etc/spectrum2/backend-logging.cfg
### transWhat
##### Installation
Checkout the latest version of transWhat from GitHub:
$ git clone
Install required dependencies:
$ pip install --pre e4u protobuf python-dateutil
- **e4u**: is a simple emoji4unicode python bindings
- [**yowsup**]( is a python library that enables you build application which use WhatsApp service.
##### Configuration
Then create a new file called `` in the newly checked out transWhat Git repository:
BASE_PATH = "/location/to/transwhat"
TOKEN_FILE = BASE_PATH + "/logs/tokens"
MOTD_FILE = BASE_PATH + "/conf/motd"
REQUESTS_FILE = BASE_PATH + "/logs/requests"
## Contributors
Pull requests, bug reports etc. are welcome. Help us to provide a open implementation of the WhatsApp protocol.
@ -155,6 +23,12 @@ The following persons have contributed major parts of this code:
- @moyamo (Mohammed Yaseen Mowzer): Port to Yowsup 2
- @DaZZZl: Improvements to group chats, media & message receipts
## [License](
transWhat is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
## Links
An *outdated* project wiki is available [here](