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

Difference between revisions of "ZNC"

From ZNC
Jump to: navigation, search
(License switch is done)
(Sort by name instead.)
(33 intermediate revisions by 9 users not shown)
Line 3: Line 3:
 
Welcome to the '''ZNC wiki''' where you may find and publish information about '''ZNC''', an advanced [http://en.wikipedia.org/wiki/BNC_%28software%29#IRC 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.
 
Welcome to the '''ZNC wiki''' where you may find and publish information about '''ZNC''', an advanced [http://en.wikipedia.org/wiki/BNC_%28software%29#IRC 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.
  
 +
[[File:Overview_network_scheme.png|right]]
 
[[File:Znc-0.99-black.png|right]]
 
[[File:Znc-0.99-black.png|right]]
  
You can find us in [irc://irc.efnet.org/znc #znc on EFNet] or on [irc://irc.freenode.net/znc freenode].
+
You can find us in [ircs://irc.freenode.net:6697/#znc #znc on freenode].
  
The latest stable release is '''{{ZNC-Version}}''' ([[ChangeLog]]).
+
= ZNC website has died on 29 March 2017, without fresh backups. Wiki is now back from dump of July 2015. Please help restoring the lost content. =
 +
(Yet, you can use the Waytime Machine and go back to 14th March 2017 [https://web.archive.org/web/20170314052407/http://wiki.znc.in/ZNC])
  
== Download ZNC {{ZNC-Version}} ==
+
== Download ZNC ==
You can find the latest stable release '''[http://znc.in/releases/znc-{{ZNC-Version}}.tar.gz <span style="color:#7F0000">here</span>]'''!
+
The latest stable release is '''{{ZNC-Version}}''' ([[ChangeLog/{{ZNC-Version}}|ChangeLog]]).
 +
You can find its source '''[https://znc.in/releases/znc-{{ZNC-Version}}.tar.gz <span style="color:#7F0000">here</span>]'''!
  
Or you can try testing version, using [[git]]<!-- or from '''[http://people.znc.in/~darthgandalf/znc/1.0-rc1/znc-1.0-rc1.tar.gz <span style="color:#7F0000">ZNC 1.0-rc1</span>]''' tarball-->!
+
Or you can try testing version, using [https://znc.in/nightly/?C=N&O=D nightly tarball] or [[Git]]{{#if:{{ZNC-Version-Alpha}}|, or '''[https://znc.in/releases/znc-{{ZNC-Version-Alpha}}.tar.gz <span style="color:#7F0000">ZNC {{ZNC-Version-Alpha}}</span>]'''|}}.
 +
 
 +
Older versions can be found [https://znc.in/releases/ here].
 +
 
 +
Several distros provide ZNC as a package, look at [[Installation]] page for details.
  
 
== How does it work? ==
 
== How does it work? ==
* Install ZNC on your server.
+
* [[Installation|Install]] ZNC on your server.
* Generate an initial [[configuration]] via <code>znc --makeconf</code>.
+
* Generate an initial configuration via <code>znc --makeconf</code>.
** (0.206 and earlier)
+
** 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).
*** '''For each IRC network, you need to create a ZNC user.'''
+
** You can later change settings (add more users, tune existing ones, etc.) via the [[webadmin|web interface]] or from [[controlpanel|IRC]].
*** For example, use one user for Freenode, one user for EFnet, one user for Quakenet, etc.
 
** (1.0)
 
*** Each ZNC user can connect to several IRC networks, though you'll need to connect your IRC client to ZNC several times.
 
** You can later change settings (add more users, tune existing ones, etc.) via the [[webadmin|web interface]] or from [[admin|IRC]].
 
 
* Configure your IRC client to connect to your ZNC server.
 
* Configure your IRC client to connect to your ZNC server.
** It's a good idea to use <code>username/network:password</code> as the '''password''' in your client, so that ''(even for broken clients)'' ZNC can figure out which user you are connecting as.
+
** If your client has separate '''username''' and '''password''' fields, that works fine.
 +
*** You can set ''username'' as <code>username@clientid/network</code> to connect to a specific network. The network needs to be configured already. Without <code>/network</code> 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 <code>username@clientid/network:password</code> as the ''password''.
 +
** The ''clientid'' is included with ZNC starting from '''1.6.0'''. It's optional and is name that you give to your client to recognize it in <code>/msg *status listclients</code>. It's also used by some modules such as [[chanfilter]].
 
* Read the [[FAQ]] if you run into any problems. Feel free to ask on IRC if you need more help.
 
* Read the [[FAQ]] if you run into any problems. Feel free to ask on IRC if you need more help.
 
* Enjoy! (Profit?)
 
* Enjoy! (Profit?)
  
 
== Main Features ==
 
== Main Features ==
[[Image:Webadmin-settings-dark-clouds.png|thumb|Screenshot of the [[Webadmin]] module in action]]
+
[[Image:Webadmin-settings-dark-clouds.png|thumb|500px|Screenshot of the [[Webadmin]] module in action]]
 
; [[Modules|Modules]] : ZNC supports dynamic loading of [[Writing modules|C++]], [[modperl|Perl]], [[modpython|Python]] and [[modtcl|Tcl]] modules. To get a list of the available modules and more information follow the link.
 
; [[Modules|Modules]] : ZNC supports dynamic loading of [[Writing modules|C++]], [[modperl|Perl]], [[modpython|Python]] and [[modtcl|Tcl]] modules. To get a list of the available modules and more information follow the link.
 
; [[Detaching]] : 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.
 
; [[Detaching]] : 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 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 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.
+
; [[Multiple clients|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.
 
; 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.
 
; 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.
 
; IPv6 Support : Both IPv4 and IPv6 address families just work, if your system supports them.
; Partyline : Using the global [[partyline]] module, you can join channels and query users on the internal ZNC network
 
 
; 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.
 
; 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 ==
 
== Getting started ==
 +
* [[Introduction]]
 
* [[Installation|Download and Installation]]
 
* [[Installation|Download and Installation]]
 
* [[Connecting to ZNC]]
 
* [[Connecting to ZNC]]
Line 49: Line 55:
  
 
== Further Info ==
 
== Further Info ==
* [[Using ident spoofs|Setting up ident spoofs via oidentd]]
+
* [[Identfile|Setting up ident spoofs via oidentd]]
 
* [[Chroot]]
 
* [[Chroot]]
 
* [[ZNC Backup]]
 
* [[ZNC Backup]]
 
* [[Running ZNC as a system daemon]]
 
* [[Running ZNC as a system daemon]]
* [[StartSSL|Using signed SSL cert]]
+
* [[Signed SSL certificate|Using signed SSL cert]]
 
* [[History]]
 
* [[History]]
 
* [[Configuration|Configuration parameters]]
 
* [[Configuration|Configuration parameters]]
* [[ZNC:Site support|Donate to ZNC]]
+
* [[Tor|Using with Tor]]
 +
* [[Reverse proxy|Webadmin behind HTTP reverse proxy]]
 +
* [https://github.com/znc/znc/releases.atom Subscribe to new releases]
  
 
=== Writing modules ===
 
=== Writing modules ===
Line 64: Line 72:
 
* [[modpython|Writing Python modules]]
 
* [[modpython|Writing Python modules]]
 
* [[Debugging]]
 
* [[Debugging]]
 +
 +
=== Internal docs ===
 +
* [[HowToRelease|How to release new ZNC version]]
  
 
== External Links ==
 
== External Links ==
Line 69: Line 80:
 
* [https://github.com/znc/znc ZNC project page on GitHub] - report bugs/issues here
 
* [https://github.com/znc/znc ZNC project page on GitHub] - report bugs/issues here
 
* [http://freshmeat.net/projects/znc ZNC on FreshMeat]
 
* [http://freshmeat.net/projects/znc ZNC on FreshMeat]
* [http://www.ohloh.net/p/znc ZNC on Ohloh]
+
* [http://www.openhub.net/p/znc ZNC on OpenHUB]
  
 
[[Category:ZNC]]
 
[[Category:ZNC]]

Revision as of 22:24, 30 September 2017

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.

Overview network scheme.png
Znc-0.99-black.png

You can find us in #znc on freenode.

ZNC website has died on 29 March 2017, without fresh backups. Wiki is now back from dump of July 2015. Please help restoring the lost content.

(Yet, you can use the Waytime Machine and go back to 14th March 2017 [1])

Download ZNC

The latest stable release is 1.6.5 (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. It's optional and is name that you give to your client to recognize it in /msg *status listclients. It's also used by some modules such as 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
Modules 
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.
Detaching 
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

Internal docs

External Links

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