jj

jj is a simple FIFO and filesystem based Jabber/XMPP client. jj is
inspired by ii IRC
client.

jj is more tool than traditional instant messanger client. It can
be easily extended with normal unix tools. It is perfect for bots and
notifications. Interaction with jj is done by writing and reading
files from the server directory which jj creates.

Quick getting started guide

To compile jj you need loudmouth and glib development libraries. On
Debian install these packages:

libloudmouth1-dev
libglib2.0-dev

Then you can compile jj with make:

make

Now you should have jj executable. Start it with the line (replace
server and user stuff with your own):

./jj -s server.tld -j user@server.tld -u user -p password -m User

It will create server.tld directory that will contain in file used to
communicate to jj and out file for the output. Commands recognize at
this point are:

/join channel@chat.server.tld
/msg username@server.tld

for every joined muc there will be a new directory in server.tld/mucs
with its own in and out files. Normal users will get a directory in
server.tld directory that works in the same way. After you have some
mucs or users in server.tld you can just write to in files and read
the outfiles. Unix tool echo is nice way to to write, example:

echo "/join chat@conference.jabber.org" > server.tld/in

Here is an example of the directory tree structure from connection
to server.tld.

Changelog

Source Code Repository and Issue tracker

You can also build debug version of jj with make debug, just
remember to do make clean first!

Contact the author & support

You can contact the author by
sending email to petteri gmail com or sending XMPP messages to
petteri jabber ru. You can also support jj with Bitcoin (Bitcoin
address: 1CCC3pdE3iHQdBiiqgsbZNsghPzxYoEfxE ) if you wish.