To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.


From ZNC
Jump to navigation Jump to search

Welcome to the ZNC wiki where you may find and publish information about ZNC, an advanced IRC bouncer that is left connected so an IRC client can disconnect/reconnect without losing the chat session. Feel free to update pages which you think are improvable and don't hesitate to ask for help.

You can find us in #znc on Libera.Chat. (New as of May 2021! Our old freenode channel got closed by the new freenode management...)

Download ZNC

The latest stable release is 1.9.1 (ChangeLog). You can find its source here!

Or you can try testing version, using nightly tarball or Git.

Older versions can be found here.

Several distros provide ZNC as a package, look at Installation page for details.

How does it work?

  • Install ZNC on your server.
  • Generate an initial configuration via znc --makeconf.
    • Each ZNC user can connect to several IRC networks, though you'll need to connect your IRC client to ZNC several times (once per network).
    • You can later change settings (add more users, tune existing ones, etc.) via the web interface or from IRC.
  • Configure your IRC client to connect to your ZNC server.
    • If your client has separate username and password fields, that works fine.
      • You can set username as username@clientid/network to connect to a specific network. The network needs to be configured already. Without /network client will be connected to some random network.
    • If your client is broken and doesn't support specifying username in well... username, you can use username@clientid/network:password as the password.
    • The @clientid is included with ZNC starting from 1.6.0. This is optional and is the name that you give to your client to recognize it in /msg *status listclients. It's also used by some modules such as clientbuffer and chanfilter.
  • Read the FAQ if you run into any problems. Feel free to ask on IRC if you need more help.
  • Enjoy! (Profit?)

Main Features

Screenshot of the Webadmin module in action
ZNC supports dynamic loading of C++, Perl, Python and Tcl modules. To get a list of the available modules and more information follow the link.
ZNC will remain connected to IRC even while you are offline. You can then reattach later and catch up with what happened while you were gone, and your nick (and operator status) will have been kept for you.
Multiple Users
You can add additional users under one running process. Useful for public shells that limit background processes.
Multiple Networks
Each user can connect to several IRC networks at once, with an optional limit configured by ZNC admin.
Multiple Clients
Connect to the same user/network with as many clients as you want.
Playback Buffers
Stay up-to-date with what happened and when it happened while you were detached, timestamps are also printed and can be manually configured.
SSL Support
Encryption for both the listen port and connecting to IRC servers. If your system has OpenSSL, ZNC automatically supports SSL connections.
IPv6 Support
Both IPv4 and IPv6 address families just work, if your system supports them.
Web Administration
Using the global webadmin module, admins can add/remove/edit users and global settings and non admins can edit their own user settings.

Getting started

Further Info

Writing modules

I want to help, what can I do?

That's great! You can:

  • send pull requests on github
  • translate ZNC to your language
  • improve documentation on this wiki
  • consult users on our IRC channel

Talk to us if you have some other ideas.

Internal docs

External Links

Please note that as of February 2011 we have abandoned SourceForge and moved to GitHub.