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