Skip to content

Biboumi is an XMPP gateway to IRC. Its goal is to let XMPP users use their favorite client to participate in IRC discussions.

Features:

  • Unlimited number of XMPP users can connect to an unlimited number of IRC servers

  • Persistent connections like an IRC bouncer

  • Basic channel management features

  • Private chats, notices, CTCP version and ping, IRC colors, and invitations

  • Channel listing and automatic nickserv identification

  • Supports TLS to IRC servers

  • Embedded identd server

Installing with libuuid

This method requires compiling libuuid. however it doesn't require extra programs like git or e2fsprogs.

if you installed biboumi using pervious method there is '+no need+' to install it using this method

Installing Dependencies

$ doas pkg_add cmake botan2 sqlite3 udns

compiling

$ ftp https://dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz
$ tar xvzf libuuid-1.0.3.tar.gz
$ cd libuuid-1.0.3
$ ./configure
$ make
$ doas make install

and install biboumi

$ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz
$ unxz biboumi-9.0.tar.xz
$ tar xvf biboumi-9.0.tar
$ cd biboumi-9.0

Modify CMakeLists.txt file to add -L/usr/lib and -L/usr/local/lib flags during linking.

$ sed -i 's/^target_link_libraries(${PROJECT_NAME}/target_link_libraries(${PROJECT_NAME} -L\/usr\/lib -L\/usr\/local\/lib/' CMakeLists.txt

Then continue configuring then compile biboumi

$ cmake . -DWITHOUT_{POSTGRESQL,SYSTEMD}=1 && make
$ ./biboumi

Installing without libuuid

Installing Dependencies

First we install the dependencies:

$ doas pkg_add cmake e2fsprogs sqlite3 libidn udns botan2 git

Building

Next, we download, unzip, and extract the tarball; then we build biboumi:

$ ftp https://git.louiz.org/biboumi/snapshot/biboumi-9.0.tar.xz
$ unxz biboumi-9.0.tar.xz
$ tar xvf biboumi-9.0.tar
$ cd biboumi-9.0

Modify CMakeLists.txt file to add -L/usr/lib and -L/usr/local/lib flags during linking.

$ sed -i 's/^target_link_libraries(${PROJECT_NAME}/target_link_libraries(${PROJECT_NAME} -L\/usr\/lib -L\/usr\/local\/lib/' CMakeLists.txt

Then continue configuring then compile biboumi

$ cmake . -DWITHOUT_{POSTGRESQL,SYSTEMD}=1 && make

Configuring Biboumi

Here is a sample configuration:

hostname=irc.example.com
password=PASSWORD
xmpp_server_ip=127.0.0.1
port=5347
admin=admin@example.com
realname_customization=true
realname_from_jid=false
log_file=/var/log/biboumi.log
ca_file=/etc/ssl/cert.pem
outgoing_bind=192.0.2.1

you can also make biboumi to connect to only one server, by adding:

fixed_irc_server=irc.ircnow.org

Make sure to replace irc.example.com with your actual hostname, and replace admin@example.com with the admin's actual jid. Replace 192.0.2.1 with your public (ddos-filtered.md) IP address.

sometimes setting policy.txt is also required, otherwise you'll be getting errors about TLS:

require_cert_revocation_info = false
use_ecc_point_compression = true

Configuring XMPP Server

Prosody

For [[prosody/install]], you will need to update /etc/prosody/prosody.cfg:

Component "irc.example.com"
        component_secret = "PASSWORD"

Replace irc.example.com with the hostname above.

Running Biboumi

$ mkdir -p ~/.config/biboumi
$ ./biboumi