README.md 6.99 KB
Newer Older
1
# Converse
JC Brand's avatar
JC Brand committed
2

3
[![XMPP Chat](https://inverse.chat/badge.svg?room=discuss@conference.conversejs.org)](https://inverse.chat/#converse/room?jid=discuss@conference.conversejs.org)
JC Brand's avatar
JC Brand committed
4
[![Travis](https://api.travis-ci.org/conversejs/converse.js.png?branch=master)](https://travis-ci.org/conversejs/converse.js)
JC Brand's avatar
JC Brand committed
5 6
[![Bountysource bounties](https://img.shields.io/bountysource/team/converse.js/activity.svg?maxAge=2592000)](https://www.bountysource.com/teams/converse.js/issues?tracker_ids=194169)
[![Translation status](https://hosted.weblate.org/widgets/conversejs/-/svg-badge.svg)](https://hosted.weblate.org/engage/conversejs/?utm_source=widget)
JC Brand's avatar
JC Brand committed
7

8
[Converse](https://conversejs.org) is a web based [XMPP/Jabber](https://xmpp.org) chat client.
JC Brand's avatar
JC Brand committed
9

10 11
You can either use it as a webchat app, or you can integrate it into your own website.

12
It's 100% client-side JavaScript, HTML and CSS and the only backend required
13
is a modern XMPP server.
JC Brand's avatar
JC Brand committed
14

JC Brand's avatar
JC Brand committed
15
Please support this project via [Patreon](https://www.patreon.com/jcbrand) or [Liberapay](https://liberapay.com/jcbrand)
JC Brand's avatar
JC Brand committed
16

JC Brand's avatar
JC Brand committed
17
## Demo
JC Brand's avatar
JC Brand committed
18

19
Converse is hosted and can be used at [https://conversejs.org](https://conversejs.org).
JC Brand's avatar
JC Brand committed
20 21 22 23 24

A demo showing anonymous login is available at [https://conversejs.org/demo/anonymous.html](https://conversejs.org/demo/anonymous.html)
and a demo which shows how you can embed a single chat room into a page is
avialable at [https://conversejs.org/demo/embedded.html](https://conversejs.org/demo/embedded.html).

25
### Converse in overlay mode
JC Brand's avatar
JC Brand committed
26

27
![Screenshot of Converse](https://opkode.com/img/Screen-Shot-2018-09-19-at-19.15.16.png)
28

29
## Converse in fullpage mode
JC Brand's avatar
JC Brand committed
30

31
![Screenshot of Converse in fullpage mode](https://opkode.com/img/Screen-Shot-2018-09-19-at-19.16.46.png)
JC Brand's avatar
JC Brand committed
32 33 34 35 36 37 38 39 40

## Documentation

The developer/integrator documentation can be found at [https://conversejs.org/docs/html](https://conversejs.org/docs/html).

You'll probably want to begin with the [quickstart guide](https://conversejs.org/docs/html/quickstart.html),
which shows you how to use the CDN (content delivery network) to quickly get a demo up and running.

## Features
41
-   Available as overlayed chat boxes or as a fullscreen application. See [inverse.chat](https://inverse.chat) for the fullscreen version.
JC Brand's avatar
JC Brand committed
42
-   A [plugin architecture](https://conversejs.org/docs/html/plugin_development.html) based on [pluggable.js](https://conversejs.github.io/pluggable.js/)
JC Brand's avatar
JC Brand committed
43
-   Single-user and group chats
JC Brand's avatar
JC Brand committed
44
-   Contacts and groups
45
-   Multi-user chat rooms [XEP 45](https://xmpp.org/extensions/xep-0045.html)
46
-   Chatroom bookmarks [XEP 48](https://xmpp.org/extensions/xep-0048.html)
47 48 49 50 51
-   Direct invitations to chat rooms [XEP 249](https://xmpp.org/extensions/xep-0249.html)
-   vCard support [XEP 54](https://xmpp.org/extensions/xep-0054.html)
-   Service discovery [XEP 30](https://xmpp.org/extensions/xep-0030.html)
-   In-band registration [XEP 77](https://xmpp.org/extensions/xep-0077.html)
-   Roster item exchange [XEP 144](https://xmpp.org/extensions/tmp/xep-0144-1.1.html)
JC Brand's avatar
JC Brand committed
52 53
-   Chat statuses (online, busy, away, offline)
-   Custom status messages
54
-   Typing and state notifications [XEP 85](https://xmpp.org/extensions/xep-0085.html)
55 56 57
-   Desktop notifications
-   File sharing / HTTP File Upload [XEP 363](https://xmpp.org/extensions/xep-0363.html)
-   Messages appear in all connnected chat clients / Message Carbons [XEP 280](https://xmpp.org/extensions/xep-0280.html)
58 59 60 61 62 63
-   Third person "/me" messages [XEP 245](https://xmpp.org/extensions/xep-0245.html)
-   XMPP Ping [XEP 199](https://xmpp.org/extensions/xep-0199.html)
-   Server-side archiving of messages [XEP 313](https://xmpp.org/extensions/xep-0313.html)
-   Hidden Messages (aka Spoilers) [XEP 382](https://xmpp.org/extensions/xep-0382.html)
-   Client state indication [XEP 352](https://xmpp.org/extensions/xep-0352.html)
-   Last Message Correction [XEP 308](https://xmpp.org/extensions/xep-0308.html)
JC Brand's avatar
JC Brand committed
64
-   Off-the-record encryption
65 66 67
-   OMEMO encrypted messaging [XEP 384](https://xmpp.org/extensions/xep-0384.html")
-   Supports anonymous logins, see the [anonymous login demo](https://conversejs.org/demo/anonymous.html).
-   Translated into 17 languages
JC Brand's avatar
JC Brand committed
68

JC Brand's avatar
JC Brand committed
69
## Integration into other frameworks
JC Brand's avatar
JC Brand committed
70

71 72
-   **[Prosody](https://prosody.im/)**: [mod_conversejs](https://modules.prosody.im/mod_conversejs.html)
-   **[Openfire](https://www.igniterealtime.org/projects/openfire/index.jsp)**: [inverse.jar](https://www.igniterealtime.org/projects/openfire/plugins.jsp)
73 74
-   **[Ruby on Rails](https://rubyonrails.org)**: [conversejs-rails](https://github.com/mikemarsian/conversejs-rails)
-   **[Django](https://www.djangoproject.com)**: [django-conversejs](https://pypi.python.org/pypi/django-conversejs) or [django-xmpp](https://github.com/fpytloun/django-xmpp)
75
-   **[Patternslib](http://patternslib.com)**: [patterns.converse](https://github.com/jcbrand/patterns.converse)
76 77
-   **[Roundcube](https://roundcube.net)**: [roundcube-converse.js-xmpp-plugin](https://github.com/devurandom/roundcube-converse.js-xmpp-plugin)
-   **[Wordpress](https://wordpress.org)**: [ConverseJS](https://wordpress.org/plugins/conversejs/)
78
-   **[Plone](https://plone.com)**: [collective.converse](https://github.com/collective/collective.converse)
79 80 81
-   **[Alfresco](https://www.alfresco.com)**: [alfresco-js-chat-share](https://github.com/keensoft/alfresco-js-chat-share)
-   **[Friendica](https://friendi.ca)**: [converse](https://github.com/friendica/friendica-addons/tree/master/xmpp/converse)
-   **[Tiki Wiki CMS Groupware](https://tiki.org)**: [built-in optional feature](https://doc.tiki.org/XMPP)
JC Brand's avatar
JC Brand committed
82

JC Brand's avatar
JC Brand committed
83
## Tests
JC Brand's avatar
JC Brand committed
84

Morton Fox's avatar
Morton Fox committed
85
We use behavior-driven tests written with [jasmine.js](https://jasmine.github.io/).
JC Brand's avatar
JC Brand committed
86

JC Brand's avatar
JC Brand committed
87
Open [tests.html](https://github.com/conversejs/converse.js/blob/master/tests.html) in your browser, and the tests will run automatically.
JC Brand's avatar
JC Brand committed
88

JC Brand's avatar
JC Brand committed
89
## Licence
JC Brand's avatar
JC Brand committed
90 91 92

`Converse.js` is released under the [Mozilla Public License (MPL)](https://www.mozilla.org/MPL/2.0/index.txt).

JC Brand's avatar
JC Brand committed
93 94 95 96
## Attribution

Emoji images are courtesy of [Twemoji](https://emojitwo.github.io/).

JC Brand's avatar
JC Brand committed
97
## Support
JC Brand's avatar
JC Brand committed
98

JC Brand's avatar
JC Brand committed
99
Issues can be logged on the [Github issue tracker](https://github.com/conversejs/converse.js/issues).
JC Brand's avatar
JC Brand committed
100 101 102 103 104 105 106 107 108 109

## Donations

A heartfelt thanks for everyone who has supported this project over the years.
Many people have contributed testing, bugfixes, features and corrections.

Recently we have started accepting donations via [Patreon](https://www.patreon.com/jcbrand) and [Liberapay](https://liberapay.com/jcbrand).

The following people are making recurring donations:

110 111 112
* [Daniel Gultsch](https://www.patreon.com/user/creators?u=13443518)
* [Drew Varner](https://www.patreon.com/user/creators?u=8131055)
* [Krischan](https://www.patreon.com/user/creators?u=337569)
JC Brand's avatar
JC Brand committed
113
* [Guus der Kinderen](https://www.patreon.com/user/creators?u=8302585)
JC Brand's avatar
JC Brand committed
114
* [Rafael](https://www.patreon.com/user/creators?u=4340078)
JC Brand's avatar
JC Brand committed
115
* [Tilman Beitter](https://www.patreon.com/spicewiesel/creators)
JC Brand's avatar
JC Brand committed
116
* [mt7479](https://www.patreon.com/user/creators?u=3892290)
117
* An anonymous backer on Liberapay
JC Brand's avatar
JC Brand committed
118 119 120 121

Additionally this project is supported by

* [![KeyCDN](https://conversejs.org/logo/keycdn.png)](https://www.keycdn.com/)
122
* [![Wikisuite](https://conversejs.org/logo/wikisuite.png)](https://wikisuite.org)