Strophe.js is a JavaScript library for speaking XMPP via BOSH (XEP 124 and XEP 206) and WebSockets (RFC 7395).
It runs in both NodeJS and in web browsers, and its purpose is to enable real-time XMPP applications.
Versions <= 1.2.16 have been tested on Firefox, Firefox for Android, IE, Safari, Mobile Safari, Chrome, Chrome for Android, Opera and the mobile Opera browser.
Since version 1.3.0, support for IE < 11 has been dropped.
Since version 1.6.0 the WebCrypto API (included by default in Browsers and NodeJS) is used for crypto primitives such as hashing and signatures. Unfortunately this API is not available in React Native, and integrators will need to look for a 3rd party implementations of this API if they want to use Strophe there.
You can run npm run test
, or alternatively if you have GNU Make available,
you can run make check
.
Strophe.js is licensed under the MIT license.
Strophe.js was created by Jack Moffitt. It was originally developed for Chesspark, an online chess community based on XMPP technology. It has been cared for and improved over the years and is currently maintained by many people in the community.
The book Professional XMPP Programming with JavaScript and jQuery covers Strophe in detail in the context of web applications.