Skip to Content
ZNC

ZNC IRC Bouncer

Advanced IRC bouncer that keeps you connected 24/7 with module support and a web admin panel

ZNC IRC Bouncer

ZNC is an advanced IRC network bouncer (BNC) that maintains persistent connections to IRC networks on your behalf. Unlike traditional IRC clients, ZNC acts as a proxy layer between you and IRC servers—staying connected 24/7, buffering messages when you’re offline, and allowing multiple clients to connect simultaneously while appearing as a single user on IRC.


What is ZNC?

ZNC is a lightweight, modular IRC bouncer that keeps you permanently connected to IRC networks. When you disconnect your IRC client, ZNC stays online and buffers all messages until you reconnect.

Always Connected

ZNC maintains persistent IRC connections 24/7, even when all your clients are offline

Message Buffering

Never miss a message—ZNC stores chat history and plays it back when you reconnect

Multiple Clients

Connect from desktop, laptop, and mobile simultaneously while appearing as one user

Module System

Extend functionality with modules for logging, notifications, SASL, and more

Web Administration

Configure networks, users, and modules through a built-in web interface

Secure Proxy

SSL/TLS support for both client connections and IRC server connections

ZNC vs IRC Clients

ZNC is not an IRC client—it’s a bouncer that sits between your IRC client and the IRC network. You still need an IRC client (like irssi, WeeChat, or HexChat) to connect to ZNC, which then connects to IRC networks on your behalf.


Installation

Install from the Dashboard

Open App Dashboard → Package Management (/dashboard?mode=packages), find ZNC in the Communication category (or search), and click Install. ZNC has the richest install dialog of the IRC apps — you set it up entirely from the form:

  • Connection — listening port, SSL on/off, and IPv4+IPv6 dual-stack
  • Admin account — bouncer password, nick, alt nick, ident, and real name
  • Network (optional) — pre-add a starter IRC network with its host, SSL, port, and auto-join channels (defaults to Libera.Chat), or skip it and add networks later from the web admin

The dashboard streams the install log live and ZNC appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are on the same panel. ZNC is installed per user under /opt/<username>/ZNC, so each user has an independent bouncer.

What you see is gated by your account: admins manage any user’s apps, regular users manage their own. See App Management for the full flow.

Install from the CLI (automation)

The CLI runs the same script; the dialog fields above map to flags such as --port, --ssl, --nick, --network-name, and --channels:

qb install znc -u username qb reinstall znc -u username qb update znc -u username qb remove znc -u username

Full flag reference: CLI Reference.


Accessing ZNC

Web Administration

After installation, access the ZNC web admin through the QuickBox reverse proxy:

https://your-server/znc/

The web interface allows you to:

  • Add and configure IRC networks
  • Manage user accounts and permissions
  • Enable/disable modules
  • View connection status and logs

Connecting IRC Clients

Configure your IRC client to connect to ZNC instead of directly to IRC networks:

SettingValue
ServerYour server hostname or IP
PortAssigned during installation
Usernameusername/network (e.g., john/liberachat)
PasswordYour ZNC password
SSL/TLSEnabled (recommended)
Multiple Networks

To connect to a specific network, use the format username/network as your IRC username. For example, john/liberachat connects through user “john” to the network named “liberachat”.


Service Management

ZNC runs as a per-user systemd service:

Basic Service Commands

Check service status:

systemctl status znc@username

Start service:

systemctl start znc@username

Stop service:

systemctl stop znc@username

Restart service:

systemctl restart znc@username

View logs:

journalctl -u znc@username -f

Directory Structure

Application Files
/opt/USERNAME/ZNC
local/
├── bin/# ZNC executable binary
├── lib/# ZNC libraries and modules
└── share/# Web admin templates and skins
Configuration Files
/home/USERNAME/.config/ZNC
znc.pem# SSL certificate for secure connections
configs/
└── znc.conf# Main ZNC configuration file
moddata/# Module data and settings
users/# Per-user configuration directories

Troubleshooting

Common Issues

Service won’t start:

# Check service status and logs systemctl status znc@username journalctl -u znc@username -n 50 # Verify configuration directory exists ls -la /home/username/.config/ZNC/

Cannot access web admin:

# Check nginx configuration nginx -t systemctl reload nginx # Verify ZNC is listening ss -tlnp | grep znc

Client cannot connect:

# Verify service is running systemctl is-active znc@username # Check assigned port grep -i "port" /home/username/.config/ZNC/configs/znc.conf
Exit Codes

The installer returns exit code 2 when /opt/<username> is absent and 3 when /opt/<username>/ZNC is missing. Ensure the user exists and has proper home directory permissions.


Best Practices

Do

  • Run ZNC as a non-root QuickBox user
  • Enable SSL/TLS for both client and server connections
  • Use SASL module for automatic NickServ authentication
  • Configure buffer playback settings to avoid message floods
  • Keep modules minimal to reduce attack surface
  • Back up /home/<username>/.config/ZNC regularly
  • Use the QuickBox nginx proxy for secure web admin access

Don't

  • Don't run ZNC as root
  • Don't expose ZNC ports directly without SSL
  • Don't share ZNC credentials across multiple users
  • Don't install untrusted third-party modules
  • Don't disable the web admin SSL requirement

Additional Resources



Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server
Last updated on