Vines is an XMPP chat server that supports thousands of simultaneous connections, using EventMachine for asynchronous IO. User data is stored in a SQL database, CouchDB, MongoDB, Redis, the file system, or a custom storage implementation that you provide. LDAP authentication can be used so user names and passwords aren't stored in the chat database. SSL encryption is mandatory on all client and server connections.
The server includes support for web chat clients, using BOSH (XMPP over HTTP). A sample web application is available in the vines-web gem.
Additional documentation can be found at getvines.org.
$ gem install vines
$ vines init wonderland.lit
$ cd wonderland.lit && vines start
Login with your favorite chat program (iChat, Adium, Pidgin, etc.) to start chatting!
Vines requires Ruby 1.9.3 or better. Instructions for installing the needed OS packages, as well as Ruby itself, are available at http://www.getvines.org/ruby.
$ script/bootstrap
$ script/tests
Vines implements the full XMPP specs in RFC 6120 and RFC 6121. It also implements the following extensions.
Vines is released under the MIT license. Check the LICENSE file for details.