User:Waldo Lemmer/ZNC

From Gentoo Wiki
Jump to:navigation Jump to:search
Note
Even though this page is in the user namespace, corrections and additions are much appreciated! This is simply wiki policy, this page can be moved to the main wiki as soon as it achieves critical mass more.

ZNC is an IRC network bouncer with support for multiple users and per-channel playback buffers. IRC bouncers relay messages between IRC servers and IRC clients, and can optionally store messages and play them back when clients reconnect.

Installation

USE flags

USE flags for net-irc/znc An advanced IRC Bouncer

+argon2 Store password hashes using Argon2id instead of SHA-256
+icu Enable ICU (Internationalization Components for Unicode) support, using dev-libs/icu
+ssl Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
+zlib Enable mod_deflate-like gzip support for znc's web interface using sys-libs/zlib.
nls Add Native Language Support (using gettext - GNU locale utilities)
perl Add optional support/bindings for the Perl language
python Add optional support/bindings for the Python language
sasl Add support for the Simple Authentication and Security Layer
tcl Add support the Tcl language
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

Emerge

root #emerge --ask net-irc/znc

Configuration

Explain how to configure the package/software/tool/utility/etc. in this section. See the talk page.

There are 2 different configuration options, ZNC can run as system-daemon or as per-user daemon.

system

To configure the system-wide daemon, you may run

root #emerge --config net-irc/znc

user

To run ZNC as a user run following command to create a configuration file:

user $znc --makeconf

Files

  • /etc/conf.d/znc - Running options for the /etc/init.d/znc daemon
  • /var/lib/znc/configs/znc.conf - System wide configuration file for ZNC.
  • ~/.znc/configs/znc.conf - Local (per user) configuration file.

Service

The instructions in this section need testing.

OpenRC

root #rc-service znc start
root #rc-update add znc default

systemd

root #systemctl start znc
root #systemctl enable znc

Usage

Invocation

user $znc --help
[ ** ] USAGE: znc [options]
[ ** ] Options are:
[ ** ] 	-h, --help         List available command line options (this page)
[ ** ] 	-v, --version      Output version information and exit
[ ** ] 	-c, --makeconf     Interactively create a new config
[ ** ] 	-d, --datadir      Set a different ZNC repository (default is ~/.znc)
[ ** ] 	-D, --debug        Output debugging information (Implies -f)
[ ** ] 	-f, --foreground   Don't fork into the background
[ ** ] 	-n, --no-color     Don't use escape sequences in the output
[ ** ] 	-p, --makepem      Generates a pemfile for use with SSL
[ ** ] 	-r, --allow-root   Don't complain if ZNC is run as root
[ ** ] 	-s, --makepass     Generates a password for use in config

Caveats

See the talk page.

Removal

Unmerge

root #emerge --ask --depclean --verbose net-irc/znc

See also

  • Quassel — a daemon/headless IRC client written in C++ that supports 24/7 connectivity.
  • IRC — a stable, mature, text-based chat (instant messaging) system. IRC is one of the primary avenues of communication for those involved at all levels in the Gentoo project.
  • IRC/Guide — provides a broad overview of concepts related to IRC.

External resources