Skip to content

Guide

Soju

Soju is A user-friendly IRC bouncer. Just like ZNC, It runs on a server and stays connected after you turn off your computer or phone. It saves chat messages and replays them when you reconnect, and also helps to hide your IP address. If you are running it on IRCNow, your server may also offer DDoS protection to keep you online.

Getting started

Starting by compiling from source. You need go or golang installed for compiling soju, and scdoc for the documentation (optional).

Getting source code from git repository

Clone the repository with git clone command.


cd ~

git clone --depth=1 https://git.sr.ht/~emersion/soju

Getting source code from release

We're gonna fetch a tarball from upstream then extract them


ftp https://git.sr.ht/~emersion/soju/refs/download/v0.4.0/soju-0.4.0.tar.gz

tar -xvzf soju-0.4.0.tar.gz

cd soju-0.4.0

Compiling Soju

When you've been fetch the source code, start compiling by typing make. Before begin compiling, make sure that go or golang is installed in your VPS.


make

When building is done, Run doas make install to install soju into your system.

Configuration

Soju has a small server configuration which is easy to configure.

See soju.1 - Config File for more information about configuration file.

After configuring soju config file, Start by creating a bouncer user. You may specify -admin at the end for making the user as admin


$ sojuctl create-user yourname -admin

Password:

In case if you want to change password, do sojuctl change-password yourname.

Setting up & Connecting into network

Start the server by executing soju -config soju.conf. Modify soju.conf into your config filename to use your config.

Connect into your bouncer with these credential:

SASL Username: yourname

SASL Password: [your bouncer user password]

SASL Mechanism: PLAIN

Then, Add a network into your bouncer by messaging to BouncerServ


/msg BouncerServ network create -addr irc.ircnow.org:6697 -name IRCNow

After executing this command, You will be connected into your network.

Optionally, You may also set SASL plain / external (certfp) authentication.

For SASL Plain, You may do


/msg BouncerServ sasl set-plain -network NetworkName yourname password

Then, reconnect the network by doing /msg BouncerServ network update -network NetworkName.

Client Compatibility

Soju require atleast IRCv3 supported client with cap-3.2 support. See the IRCv3 support tables for a more general list of clients.

Also Read