Setting up psyBNC
psyBNC is the bouncer most people mean when they say "BNC" — 1999 to 2003, still in use, still small. It sits on the shell holding your IRC connections open while you are away, and hands you the backlog when you come back. It is 290 KB and uses about five megabytes of memory.
Build it
You need a port first. Request one from the Ports page, then:
ss-build-psybnc 20001
Pass the port the system assigned you. Run it with no argument and it asks. The build takes about ten seconds and peaks at 42 MB, so it fits inside every plan from Basic upwards.
Two things the helper handles that would otherwise stop you. psyBNC is pre-C99 C and modern GCC rejects it outright, so it is compiled with the old rules restored. And its build ends by generating an SSL certificate through an interactive openssl prompt — which fails after the binary has already been linked, a confusing way to lose ten minutes. The helper answers it.
Add your user
psyBNC has no way to add the first user from the command line. Its own configurator does it:
cd ~/psybnc ./menuconf
Arrow keys and Enter. Add a user with a login, a password and your usual nick, check the listening port matches the one you were assigned, then save and quit. Everything lands in ~/psybnc/psybnc.conf, which you can also edit by hand once you know what the keys mean.
Run it
cd ~/psybnc ./psybnc
Do not wrap it in screen. psyBNC puts itself in the background: you get your prompt back immediately and the process keeps running with init as its parent. Wrapping it in screen -dmS gives you a screen session that exits a second later, which looks like the bouncer crashed when it is running perfectly well.
Check it:
ps -u $(id -un) -o pid,comm | grep psybnc usage
It counts as one background process against your plan.
Connect to it
- Server
shell.shadowsquad.org- Port
- the one the panel assigned you — any other is firewalled off
- Server password
- the password you set in the configurator
In irssi that is:
/connect shell.shadowsquad.org 20001 yourpassword
Once connected you are talking to psyBNC, not to IRC. Its own commands start with a slash and go to the *status-like console: /addserver, /jump, /bhelp for the list. Add a network, connect, and from then on your client is talking through the bouncer.
The SSL certificate
The build generates a self-signed certificate at ~/psybnc/key/psybnc.cert.pem, and an SSL listening port can be turned on in the configurator. Any client that verifies certificates will refuse a self-signed one until you tell it which certificate to expect — that is what ss-tls-trust and ss-tls-fingerprint are for. See self-signed certificates in irssi.
Surviving a reboot
Reboots here are announced in advance and never automatic, but they happen. Because psyBNC backgrounds itself, the cron line is simple:
@reboot sleep 30 && cd $HOME/psybnc && ./psybnc
crontab -e to add it.
One rule
A bouncer inherits your responsibility for what it does. Flooding, evading bans or being a nuisance on another network from a ShadowShells address gets the account suspended, not just the bouncer — see the rules. Other people's accounts live on this address too.