1. 32
  1. 4

    I’m gonna ask. I’ve seen a lot of references to ZNC on the self hosting thread, I’ve did some research, but at the end I couldn’t find a clear answer: could someone explain the purpose of an IRC bouncer like I’m five?

    1. 9

      No problem! IRC (internet relay chat) is a type of real-time chat. Sort of like telegram or signal, but not really at all.

      With it folks can chat with one another online. A major difference between IRC and other chat protocols is that if you aren’t actively connected to an IRC server you won’t receive any messages. So, whereas with telegram or signal you can close/quit the app and still get messaged, the same isn’t true for IRC.

      This is where bouncers, like this, and ZNC come in. A bouncer is a program that you run on a server or any computer that is always online – the bouncer connects to one or more IRC servers and then when you want to log on, you (re)connect to your bounce instead of directly to the IRC server. This way you are able to have a log of messages, and sort of fake persistent connection, because the bouncer is always online, even when you aren’t connected.

      1. 2

        Thanks! That explain it all. I was getting mixed information between privacy, persistent logs and mobility.

        1. 4

          Yeah – there is a lot more to bouncers than first meets the eye!

          The privacy angle is that usually, unless you’ve configured it elsewise or unless the server is explicitly masking it, connecting to an IRC server reveals your IP address. Using a bouncer can help to prevent that if that is a concern.

          The mobility angle is that there are no (that I know of) persistent IRC clients for mobile. The way to use IRC from a mobile device with intermittent connection to the server is through a bouncer. If it is always connected, it doesn’t matter if your IRC client is always connected.

    2. 4

      Another bouncer mentioned here is pounce: https://lobste.rs/s/aezalh/pounce_new_irc_bouncer

      It supports pledge system calls which might resonate well with OpenBSD users.

      1. 3

        I was looking around for bouncers yesterday, and also tried pounce, but it depends on “libtls” which makes it harder to install. soju was surprisingly easy, and a lot more comfortable than ZNC.

      2. 2

        Support multiple clients for a single user, with proper backlog synchronization

        How does that work? I used ZNC a really long time ago and clients would only get a dump of the last N lines per channel. Is there a new protocol that can properly back-fill the history?

        1. 2

          AFAIK it uses IRCv3’s extension for backlogging, that has to be supported by the client.

        2. 2

          Been using soju for the last 8 months according to logs, it has been working great! Was surprisingly simple to set up as well.

          1. 2

            I’ve been using matrix (with an IRC bridge) as a quite nice IRC bouncer for a few years

            1. 1

              I use https://biboumi.louiz.org/ as my bouncer (specifically the irc.cheogram.com public instance).

              1. 1

                Oh nice, I keep thinking I should rebuild my ZNC install from years ago to make sure it’s running up to date config (and because push notifications whilst I’m offline have broken.)

                Hadn’t occurred to me that there might be alternatives out there now.

                1. 1

                  Neat! I might try to set it up on my server in place of ZNC.