Guide
- Soju
[Soju](https://soju.im) is A user-friendly IRC bouncer. Just like [ZNC](http://wiki.ircnow.org/index.php?n=Znc.Install), 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](https://soju.im/doc/soju.1.html#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](https://ircv3.net/software/clients) for a more general list of clients.
- Also Read
- [soju(1)](https://soju.im/doc/soju.1.html) - [soju - Getting started](https://git.sr.ht/~emersion/soju/tree/HEAD/item/doc/getting-started.md) - [soju - Clients](https://git.sr.ht/~emersion/soju/tree/HEAD/item/contrib/clients.md) - [catsit - process supervisor](https://git.causal.agency/catsit)