Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simple FIFO and filesystem based Jabber/XMPP client

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 tools
Octocat-spinner-32 Makefile
Octocat-spinner-32 README
Octocat-spinner-32 gpl.txt
Octocat-spinner-32 main.c
README
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

Latest official jj version can be dowloaded from http://23.fi/jj

The development version can be cloned with git from jj's github page:
http://github.com/Petteri/jj

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.

server.tld
|-- in
|-- mucs
|   |-- lobby@conference.server.tld
|   |   |-- in
|   |   `-- out
|   |-- bar@conference.server.tld
|   |   |-- in
|   |   `-- out
|   |-- basement@conference.server.tld
|   |   |-- in
|   |   `-- out
|   `-- backstage@conference.server.tld
|       |-- in
|       `-- out
|-- out
`-- user@server.tld
    |-- in
    `-- out

Usage example

Multi-User Chat

Here is a small usage example that shows basic usage. First start up jj. Then
join some mucs and finally follow mucs output with tail.

./jj -s server.tld -j user@server.tld -u user -p password -m User
echo "/join lobby@conference.server.tld" > server.tld/in
echo "/join bar@conference.server.tld" > server.tld/in
echo "/join basement@conference.server.tld" > server.tld/in
echo "/join backstage@conference.server.tld" > server.tld/in
cd server.tld/mucs
tail -f lobby@conference.server.tld/out bar@conference.server.tld/out basement@conference.server.tld/out backstage@conference.server.tld

1-to-1 Chat

When chatting to only one person you should first initiate the chat by sending
first message to server in -file. After that you should use the directory
created for the user

./jj -s server.tld -j user@server.tld -u user -p password -m User
echo "/msg petteri@jabber.ru hello" > server.tld/in
tail -f server.tld/petteri@jabber.ru/out
echo "Petteri are you getting the messages?" > server.tld/petteri@jabber.ru/in

Bot

Jj might be best used as a bot. I wrote a short introduction on how I
am using it, that will hopefully give some hints on how to build your
own bot. See: http://23.fi/blogi/l7lAK

Source Code Repository and Issue tracker

jj's source code is hosted at Github. There is also an issue tracker which can
be used to report bugs.

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.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

xmpp: petteri jabber ru
Last modified: Fri Jul 13 14:29:10 EEST 2012
Something went wrong with that request. Please try again.