Command-line XMPP Client

From the quick-hack-department: I'm online for most of the day, and almost always have one or two instant messaging (IM) clients open - most often pidgin/gaim and gajim lately. I also use IM to follow twitter and to tweet.

Now graphical clients are very nice for lots of uses, but one thing they're often not good at is packing info into less space. Depending on how many people you're following, twitter in particular can get noisy fast, and I found myself really wanting a command-line xmpp client that I could just leave open in a term out of the way and use as a river-of-news style xmpp stream. Even read-only would be fine, since I could always pull up my graphical client to tweet (and I'm a twit, not a twerp).

Google turned up a few candidates, but nothing really had my use case in mind. So a couple of hours later, the first version of clix was born. It's a quick perl script using Net::XMPP2, and is available here:

  • "http://www.openfusion.com.au/labs/dist/clix"
  • "http://www.openfusion.com.au/labs/dist/clix-0.001004.tar.gz"
  • "http://www.openfusion.com.au/mrepo/centos5-i386/RPMS.of/clix-0.001004-1.of.noarch.rpm"

It aggregates XMPP posts from any number of accounts into a single river-of-news style view, and is (currently at least) read-only i.e. there's no post capability.

Update: updated to version 0.001004 with Yoshizumi's fix from comments.

DJabberd Bookmarks

Just started some serious playing with djabberd, Danga's pluggable XMPP/Jabber server.

At this stage it's almost more a toolkit than an out-of-the-box jabber server, but it's pretty fun. I'm running the subversion trunk version, running than the older version on CPAN.

Documentation is pretty sparse though, so thought I'd collate the resources I've found useful so far:

So far I've got an RPM for CentOS 5 of the svn trunk code, and am running it in test mode at a couple of places. I've got LDAP auth, rosters, and vcards working well, and am still working on offline storage, multi-user chat, and bot integration. I'll post the RPM and some example configs when I'm a little further along.