update README

This commit is contained in:
eta 2021-05-28 17:03:19 +01:00
parent 0d772f7012
commit e7b27f39f0

View file

@ -1,9 +1,7 @@
# whatsxmpp # whatsxmpp
[![XMPP chatroom: whatsxmpp@conf.theta.eu.org](https://inverse.chat/badge.svg?room=whatsxmpp@conf.theta.eu.org)](xmpp:whatsxmpp@conf.theta.eu.org?join) [![XMPP chatroom: whatsxmpp@conf.theta.eu.org](https://inverse.chat/badge.svg?room=whatsxmpp@conf.theta.eu.org)](xmpp:whatsxmpp@conf.theta.eu.org?join)
![Maintenance](https://img.shields.io/maintenance/yes/2020.svg) ![Maintenance](https://img.shields.io/maintenance/yes/2021.svg)
![Lisp warning](http://www.lisperati.com/lisplogo_warning_256.png)
A WhatsApp Web transport for the [Extensible Messaging and Presence Protocol (XMPP)](https://xmpp.org/), otherwise known as Jabber. (alpha!) A WhatsApp Web transport for the [Extensible Messaging and Presence Protocol (XMPP)](https://xmpp.org/), otherwise known as Jabber. (alpha!)
@ -15,9 +13,9 @@ This is a multi-user transport for WhatsApp, using the [whatscl](https://git.the
library for Common Lisp. By scanning a QR code generated by the bridge with the WhatsApp library for Common Lisp. By scanning a QR code generated by the bridge with the WhatsApp
app on your phone, you can send and receive messages and media with your Jabber ID. app on your phone, you can send and receive messages and media with your Jabber ID.
**Note:** You currently need an XMPP server of your own to try this. It's only been tested **Note:** You currently need an XMPP server of your own to try this. Setup instructions assume [prosody](https://prosody.im); the bridge
with [prosody 0.11](https://prosody.im/) as of the time of writing - and there are some also works on [ejabberd](https://www.ejabberd.im/), but is not officially supported (though swing by the support MUC and we might
additional caveats: take a look at the requirements list. be able to provide some pointers, who knows).
## What works? ## What works?
@ -44,11 +42,10 @@ additional caveats: take a look at the requirements list.
- An XMPP server (we recommend [prosody](https://prosody.im/), but it might also work with ejabberd; let us know!) - An XMPP server (we recommend [prosody](https://prosody.im/), but it might also work with ejabberd; let us know!)
- You need to set up a new *external component* for the bridge ([see prosody doc](https://prosody.im/doc/components)). - You need to set up a new *external component* for the bridge ([see prosody doc](https://prosody.im/doc/components)).
- In addition, you **must** configure an [XEP-0363 (HTTP File Upload)](https://xmpp.org/extensions/xep-0363.html) component. ([see prosody doc](https://modules.prosody.im/mod_http_upload.html)) - In addition, you **must** configure an [XEP-0363 (HTTP File Upload)](https://xmpp.org/extensions/xep-0363.html) component. ([see prosody doc](https://modules.prosody.im/mod_http_upload.html))
- **WARNING:** Prosody's `mod_http_upload` does not allow the bridge to use it, as of the time of writing (2020-05-28). You will need to replace `mod_http_upload.lua` in your community modules directory with `doc/mod_http_upload.lua` from this repository for it to work.
- An installation of [Docker](https://www.docker.com/) - An installation of [Docker](https://www.docker.com/)
- You *can* try and run the bridge without Docker. However, we really don't recommend it, especially if you aren't familiar with Common Lisp. - You *can* try and run the bridge without Docker. However, we really don't recommend it, especially if you aren't familiar with Common Lisp.
- Ask in the support MUC (link at the top of this file) if you want to do this. - Ask in the support MUC (link at the top of this file) if you want to do this.
- [SQLite](https://www.sqlite.org/) installed (specifically the `sqlite3` command). - [SQLite](https://www.sqlite.org/) installed (specifically the `sqlite3` command**.
## Instructions ## Instructions
@ -56,9 +53,14 @@ additional caveats: take a look at the requirements list.
Make sure you've followed the links above to set up XEP-0363 and an external component for the bridge. With prosody, your config might look something like: Make sure you've followed the links above to set up XEP-0363 and an external component for the bridge. With prosody, your config might look something like:
**IMPORTANT**: The bridge MUST be allowed to upload things to the XEP-0363 server. For prosody's `mod_http_upload`, you should configure the
[`http_upload_access`](https://modules.prosody.im/mod_http_upload.html#access) option, as shown below. For ejabberd, you'll need to do something
with ACLs that I don't quite understand.
``` ```
Component "upload.capulet.lit" "http_upload" Component "upload.capulet.lit" "http_upload"
http_upload_file_size_limit = 104857600 http_upload_file_size_limit = 104857600
http_upload_access = {"whatsapp.capulet.lit"}
Component "whatsapp.capulet.lit" Component "whatsapp.capulet.lit"
component_secret = "juliet" component_secret = "juliet"