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) 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 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