Skip to content
(formerly-in-use) A toolkit for assembling XMPP clients and interacting with XMPP servers.
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin changes for 0.1.1
examples no longer in sync with the API
lib Use proper require paths.
README.markdown 'official' release, links to some docs
Rakefile fix dependency syntax
switchboard.gemspec changes for 0.1.1



Switchboard is both a toolkit for assembling XMPP clients as well as a set of command-line tools for interacting with XMPP servers.


Mailing List

Switchboard Google Group

Getting Started

Install it:

$ sudo gem install switchboard

Install optional dependencies for additional functionality.

OAuth PubSub support:

$ sudo gem install oauth

User Location (XEP-0080) support via Fire Eagle:

$ sudo gem install mojodna-fire-hydrant -s

Note: you will need to set up a PubSub subscription to your location via Fire Eagle for this to work.

User Tune (XEP-0118) support via iTunes (on Mac OS X):

$ sudo gem install rb-appscript

Configure it:

$ switchboard config jid
$ switchboard config password pa55word

Settings will be stored in $HOME/.switchboardrc

Run it:

$ switchboard <command> <args>
$ switchboard roster list
$ switchboard roster add
$ ...

Subscribe to a node using OAuth, overriding default settings:

$ switchboard --jid --password pa55word \
    pubsub --oauth \
    --oauth-consumer-key <consumer key> \
    --oauth-consumer-secret <consumer secret> \
    --oauth-token <token> \
    --oauth-token-secret <token secret> \
    --server \
    --node "/api/0.1/user/<token>" \

Publish iTunes' current track using User Tune (XEP-0118):

$ switchboard --resource switchtunes pep tune

You can do this using a JID that is already online.

Something went wrong with that request. Please try again.