Tag Archives: XMPP

Stanza.io: Modern XMPP in the browser, with a JSON API.

via otalk/stanza.io · GitHub.

Stanza.io is a library for using modern XMPP in the browser, and it does that by exposing everything as JSON. Unless you insist, you have no need to ever see or touch any XML when using stanza.io.

Jabber / XMPP Instant Messaging platform


asn1 Do not generate LDAP’s ASN.1 code when compiling ejabberd. a year ago
contrib/extract_translations Provide header with latin-1 encoding in translations to work with Erl… 8 months ago
doc New option: disable_sasl_mechanisms 19 hours ago
examples Update example extauth script with tryregister, removeuser and remove… 4 years ago
include Process XML-RPC requests via p1_xml and ejabberd_http a month ago
m4 Fix version check a year ago
priv/msgs Update Hebrew translation (thanks to Isratine Citizen) 7 months ago
rel Remove “xmlrpc” dependency for “make rel” 29 days ago
sql added privacy_list_data index for mysql database. 7 months ago
src Merge pull request #340 from weiss/disable-mechanisms 10 hours ago
test Fix race in CSI test case 11 days ago
tools Add tests for mod_vcard_xupdate 11 days ago
win32 Switch to rebar build tool a year ago
.gitignore Let Git ignore the “rel/ejabberd” directory a month ago
.travis.yml Add xref test to travis. 10 days ago
COPYING Update FSF address 9 months ago
Makefile.in Fix “make install” without JSON support 4 days ago
Makefile.win32 Switch to rebar build tool a year ago
README Fix LibYAML version in the list of dependencies 5 months ago
README.md Convert README to Markdown 7 months ago
autogen.sh Force regeneration of configure script 7 months ago
configure.ac Get rid of a hyphen in VSN 17 days ago
configure.bat Switch to rebar build tool a year ago
ejabberd.init.template Fix init script: use getent to allow ejabberd user from external auth… 2 months ago
ejabberd.yml.example Remove append_host_config from ejabberd.yml.example 21 days ago
ejabberdctl.cfg.example reflect correct default value un example documentation 4 months ago
ejabberdctl.template ejabberdctl: Omit su(1)’s “-p” flag 4 months ago
inetrc Switch to rebar build tool a year ago
install-sh Switch to rebar build tool a year ago
rebar Update the rebar script a year ago
rebar.config.script Clean up rebar script. 11 days ago
vars.config.in Remove “–enable-http” flag 4 months ago

ejabberd – High-Performance Enterprise Instant Messaging Server

Quickstart guide

0. Requirements

To compile ejabberd you need:

  • GNU Make
  • GCC
  • Libexpat 1.95 or higher
  • Libyaml 0.1.4 or higher
  • Erlang/OTP R15B or higher.
  • OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
  • Zlib 1.2.3 or higher, for Stream Compression support (XEP-0138). Optional.
  • PAM library. Optional. For Pluggable Authentication Modules (PAM).
  • GNU Iconv 1.8 or higher, for the IRC Transport (mod_irc). Optional. Not needed on systems with GNU Libc.
  • ImageMagick’s Convert program. Optional. For CAPTCHA challenges.

1. Compile and install on *nix systems

To compile ejabberd execute the commands:


To install ejabberd, run this command with system administrator rights (root user):

sudo make install

These commands will:

  • Install the configuration files in /etc/ejabberd/
  • Install ejabberd binary, header and runtime files in /lib/ejabberd/
  • Install the administration script: /sbin/ejabberdctl
  • Install ejabberd documentation in /share/doc/ejabberd/
  • Create a spool directory: /var/lib/ejabberd/
  • Create a directory for log files: /var/log/ejabberd/

2. Start ejabberd

You can use the ejabberdctl command line administration script to start and stop ejabberd. For example:

ejabberdctl start

You’ve played with realtime XMPP and JSON, let’s do it properly

First I was afraid, I was petrified
Kept thinking I could never live without realtime interaction client-side.
But then I spent so many nights thinking how XML did me wrong.
And I grew strong, and JSON helped me get along
And so you’re back with no name-space
I just walked in to find no silos here ‘cause its all de-cen-tral-ized
I shouldn’t used that custom format
XMPP and JSON is the key
If I’d known for just one second interoperability wouldn’t bother me.