Biboumi
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
, we disable postgresql
(we use sqlite
instead), systemd
and udns
(seems to broken as of OpenBSD 7.5):
$ mkdir build ; cd build $ cmake .. -DWITHOUT_{POSTGRESQL,SYSTEMD,UDNS}=1 && make $ ./biboumi
Installing without libuuid
Installing Dependencies
First we install the dependencies:
$ doas pkg_add cmake e2fsprogs sqlite3 libidn 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
you could also use:
export LINK_DIRECTORIES=/usr/local/lib
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:
[Write the following as policy.txt
if needed]
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