Campfirer Component
First, set up your jabber server to accept a new component. For instance, for ejabberd edit your /etc/ejabberd/ejabberd.cfg file like so:
%%% ===============
%%% LISTENING PORTS
%%
%% listen: Which ports will ejabberd listen, which service handles it
%% and what options to start it with.
%%
{listen,
[
%% ...
{5554, ejabberd_service, [
{ip, {127, 0, 0, 1}},
{access, all},
{shaper_rule, fast},
{host, "muc.yourdomain.com", [{password, "secretpassword"}]}
]},
%% ...
Make sure to set a more secret password, change the domain to your jabber server’s domain, and restart your server. The muc domain name should be set up in your DNS records to be a CNAME for yourdomain.com and should resolve before continuing.
Next, install the twisted framework. Twisted allows campfirer to handle many connections at once in an asynchronous manner.
Then, checkout campfirer:
git clone git://github.com/bmuller/campfirer.git
cd campfirer
cp config.py.dist config.py
Then, edit the config.py file:
CONFIG = {
'xmpp.host': 'localhost',
'xmpp.port': 5554,
'xmpp.muc.password': 'secretpassword',
'xmpp.muc.host': 'muc.yourdomain.com',
'campfire.update.interval': 5,
#'campfirer.logdir': './logs' # set this if you want to retain your logs
}
You can now start the twisted server to make sure the component can connect:
twistd -noy campfirer.tac
This will run campfirer in the foreground. If you’re able to connect successfully, then you can use the following to run in the background:
twistd -oy campfirer.tac
That’s it. Report issues on github.