Grad shape
Grad shape

ZNC

Communication - IRC

About this project

GitHub Workflow Status Jenkins Build Status AppVeyor Build status Coverage Status

Table of contents

Minimal Requirements

Core:

  • GNU make
  • pkg-config
  • GCC 8 or clang 5
  • CMake 3.13

Optional Requirements

SSL/TLS support:

  • openssl 0.9.7d or later
    • try installing openssl-dev, openssl-devel or libssl-dev
    • macOS: OpenSSL from Homebrew is preferred over system

modperl:

  • perl and its bundled libperl
  • SWIG if building from git

modpython:

  • python 3.4+ and its bundled libpython
  • perl is a build dependency
  • macOS: Python from Homebrew is preferred over system version
  • SWIG if building from git

cyrusauth:

  • This module needs cyrus-sasl2

Character Encodings:

  • To get proper character encoding and charsets install ICU (libicu4-dev)

I18N (UI translation):

  • Boost.Locale 1.70 or later
  • gettext is a build dependency

Argon2 password hash:

  • libargon2

Installing ZNC

Installation from source code is performed using the CMake toolchain.

mkdir build
cd build
cmake ..
make
make install

You can use cmake-gui or ccmake for more interactiveness.

There is also configure.sh which should make migration to CMake easier: it accepts the same parameters as old ./configure, but calls CMake with CMake-style parameters.

Note for FreeBSD users: By default base OpenSSL is selected. If you want the one from ports, use -DOPENSSL_ROOT_DIR=/usr/local.

If you want to install ZNC in a custom path, run cmake with the -DCMAKE_INSTALL_PREFIX argument or ./configure with --prefix argument. Example: cmake .. -DCMAKE_INSTALL_PREFIX=/home/user/znc

For troubleshooting, cmake --system-information will show you details.

Setting up znc.conf

For setting up a configuration file in ~/.znc you can simply do znc --makeconf or ./znc --makeconf for in-place execution.

If you are using SSL you should do znc --makepem

Special config options

When you create your ZNC configuration

Technologies & License
Apache-2.0 C++ deb
Quick Deploy

Deploy this project to cloud platforms with one click