Hummingbird is a opensource embeddable chat system. One line embed in your website with adium/pidgin support
JavaScript CSS Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
server Sample update with http bind Apr 16, 2013 Create Oct 1, 2014 Update Apr 27, 2013


Tried building my own version of Olark. Jabber and Strophe.js helped me. ( Previously known as Opensource Olark )


This can add popup on any window and admins can chat using Jabber clients (adium, etc). It doesn't have any auth mechanism built it, but it can be added easily using the file.


Warning: There is no ACL added here. But it is easy to add



Works in Ubuntu 11.04+

Install eJabberd

  sudo apt-get install ejabberd
  git clone git://
  cd hummingbird
  sudo -s
  cp server/setup/ /etc/ejabberd/

Edit Ejabberd Config

  cd /etc/ejabberd
  vim ejabberd.cfg


{auth_method, internal}.


 {acl, admin, {user, "alagu", "localhost"}}.

 {auth_method, external}.
 {extauth_program, "/etc/ejabberd/"}.
 {extauth_cache, 600}.
 {extauth_instances, 5}.

Also add hosts.

{hosts, ["localhost", ""]}

Add mod_http_bind module

{modules ,
  {mod_http_bind,  []},

(Save and Quit vim)

Here is a sample ejabberd cfg which works for me: ejabberd.cfg

Create admin user in commandline:

  sudo ejabberdctl register alagu localhost mypassword

Create SRV Record

This is bit tricky. You have to configure your DNS to add SRV records. (Example

Try logging into the jabber server. Use pidgin/adium.

Any username(Say joe@localhost), any password should connect to your machine.

Here is my linode configuration:

Linode configuration

Single item entry: Entering an item

Test Jabber Installation

  apt-get install sendxmpp
  echo "someguy@localhost uselesspassword" > ~/.sendxmpprc
  chmod 600 ~/.sendxmpprc 
  echo "Testing goyaka chat" | sendxmpp

Get the chat widget

Go to the (client folder)[].

Edit chat-client.js and configure (in client/static):

 var BOSH_SERVICE = '';
 var JABBER_HOST  = '';
 var ADMIN_USER   = '';

Set them to right variables and build chat.js


This compiles all javascript files to single chat.js. Copy following files to your assets directory.


Now, insert these two lines in your product html.

<link rel="stylesheet" type="text/css" href="<yourstaticpath>/chat-0.1.css">
<script src="<yourstaticpath>/chat.js" type="text/javascript"></script>

Try the DEMO.

Adium configuration

Once this is done, get your admin account logged in Adium. (Note: None of this is ACL protected) Username should be and password could be anything.



The defines the acl for each account. You could tie up a sqlite/mysql db which holds the auth mechanism.