From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

soju is a user-friendly IRC bouncer:

soju connects to upstream IRC servers on behalf of the user to provide extra functionality. soju supports many features such as multiple users, numerous IRCv3 extensions, chat history playback and detached channels.


USE flags

USE flags for net-irc/soju soju is a user-friendly IRC bouncer

moderncsqlite Use moderncsqlite, a cgo-free port of SQLite
pam Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip
sqlite Add support for sqlite - embedded sql database


root #emerge --ask net-irc/soju


An example configuration file is provided below; refer to the soju(1) man page for a detailed list of configuration options.

FILE /etc/soju/configExample configuration
db sqlite3 /var/lib/soju/main.db
message-store fs /var/lib/soju/logs/
listen irc+insecure://



To start the soju OpenRC service:

root #rc-service soju start

To start the soju service on system boot, add it to the default runlevel:

root #rc-update add soju default


To start the soju systemd service:

root #systemctl start soju.service

To start the soju systemd service at boot, enable it:

root #systemctl enable soju.service

Adding networks

Once the soju service is running, connect to it via an IRC client, and send a "help" message to the BouncerServ service to get a list of available commands:

/msg BouncerServ help

The BouncerServ channel can be used to ask for help on specific commands:

<user> help network create
<BouncerServ> network create -addr <addr> [-name name] [-username username]
              [-pass pass] [-realname realname] [-certfp fingerprint] [-nick
              nick] [-auto-away auto-away] [-enabled enabled]
              [-connect-command command]...: add a new network

and to run those commands.

For example, to add the network:

<user> network create -addr ircs:// -name libera -nick <nick> -enabled true -connect-command "PRIVMSG NickServ :IDENTIFY <nick-password>" -connect-command "PRIVMSG NickServ :RELEASE <nick>" -connect-command "PRIVMSG NickServ :REGAIN <nick>"

Note that the -name and -username options are for server access, not nick management; however, the default value for -nick is the value of -username.

External resources