• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 12 years ago
  • Updated about 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hummingbird is a opensource embeddable chat system. One line embed in your website with adium/pidgin support

Hummingbird

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

Hummingbird

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 auth.py file.

TRY DEMO

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

Installation

Requirements

Works in Ubuntu 11.04+

Install eJabberd

  sudo apt-get install ejabberd
  git clone git://github.com/alagu/hummingbird.git
  cd hummingbird
  sudo -s
  cp server/setup/auth.py /etc/ejabberd/

Edit Ejabberd Config

  cd /etc/ejabberd
  vim ejabberd.cfg

Remove:

{auth_method, internal}.

Change:

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

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

Also add hosts.

{hosts, ["localhost", "chat.alagu.net"]}

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 http://library.linode.com/communications/xmpp/ejabberd/ubuntu-8.04-hardy#sph_xmpp-jabber-basics)

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 [email protected]

Get the chat widget

Go to the (client folder)[https://github.com/alagu/hummingbird/tree/master/client].

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

 var BOSH_SERVICE = 'http://olark.alagu.net:5280/http-bind';
 var JABBER_HOST  = 'olark.alagu.net';
 var ADMIN_USER   = '[email protected]';

Set them to right variables and build chat.js

bash compile.sh

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

client/
  static/
    chat-0.1.css
    chat.js

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 [email protected] and password could be anything.

Screenshot

ACL

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

More Repositories

1

pagoda

Zen-like blogging interface for Jekyll (login: admin/admin)
CSS
300
star
2

Google-Tasks-Mac

Trying to build a simple google tasks viewer for native mac
Objective-C
15
star
3

go-lang-equivalent

A Table giving equivalents of ruby/python libraries in Golang
14
star
4

pnrapi

An API to check your Indian Railways PNR Status http://pnrapi.alagu.net/
Python
10
star
5

pnrapi-ruby

PNR API, Ruby version. With Sinatra and Mongodb.
Ruby
7
star
6

tamp3

Commandline Tamil MP3 downloader
Ruby
6
star
7

photoshop-layer-search-plugin

Quickly search through your photoshop layers (PS5). Focus by click.
JavaScript
6
star
8

runkeeper-dailymile-sync

I use Runkeeper to track my runs, but it doesn't have good community. Hence, a Runkeeper Dailymile sync. Forked from http://rkdm.heroku.com/
JavaScript
3
star
9

Goyaka-radio-player

Attempt to make listening in Goyaka Radios better (chrome extension)
CoffeeScript
3
star
10

appengine

App Engine projects
Python
3
star
11

pnr-chrome-extension

PNR Chrome Extension
JavaScript
3
star
12

opensource-olark

This repository is moved to http://github.com/alagu/hummingbird
2
star
13

topcoder-mobile

Topcoder Algorithm Problems reader on iPhone
Ruby
1
star
14

cinemascope

Flixter for India, done right.
Ruby
1
star
15

adf

Auto Dealer Format Ruby Gem
Ruby
1
star
16

alexa-mp3-play

JavaScript
1
star
17

yoga-trainer

Alagu's personal yoga trainer
Ruby
1
star
18

covid-india-growth

Covid 19 India growth rate
HTML
1
star
19

alagu.github.com

alagu.github.com
SCSS
1
star
20

canvas-draw

Put in coordinates to draw in HTML canvas. Useful for debugging any geometrical stuff
JavaScript
1
star
21

whatsapp-anyone

Use this tool to whatsapp anyone from your whatsapp desktop interface. Very useful for Whatsapp Business.
HTML
1
star