Skip to content
Eric Mertens edited this page Sep 1, 2018 · 1 revision

Configuring glirc for ZNC

ZNC is an IRC bouncer. It runs as a daemon on your server so that you can attach and detach multiple clients to a single IRC connection. This is useful for preserving history across client restarts as well as allowing a single IRC connection to be shared between a computer and a phone. There are a few modules that are useful to add to ZNC when using glirc.

Installing Playback module

The Playback module gives more control over replaying channel buffers. Glirc has built-in support for this kind of playback. It will also cause the original times to show up on messages.

$ git clone https://github.com/jpnurmi/znc-playback
$ cd znc-playback
$ znc-buildmod playback.cpp

You'll need to enable this module in your ZNC configuration.

Adding BuffExtras module

The BuffExtras module adds additional metadata to your channel buffers for things like joins, parts, mode changes, topic changes, and kicks. Glirc has a built-in module that can be enable that transforms the format these messages use into the native glirc view.

Configuration snippet

This configuration fragment enables support for both buffextras and playback on startup and reconnect.

servers:
  * name: "yourznc"
    message-hooks:   [ "buffextras" ]
    connect-cmds:    [ "znc-playback ${disconnect| }" ]

Authenticating to ZNC with self-signed certificates

Instead of authenticating with a password you can also use CertAuth. Once configured you'll be able to use a self-signed certificate to authenticate to your ZNC session.

servers:
  * name: "yourznc"
    username: "user/network"
    password: "" -- empty password required due to quirk of ZNC
    tls: yes
    tls-client-cert: "certificate.pem"
    tls-client-key:  "key.pem"