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.

ZNC: Difference between revisions

From ZNC
Jump to navigation Jump to search
Undo revision 3102 by DarthGandalf (talk)
Tag: Undo
 
(77 intermediate revisions by 15 users not shown)
Line 1: Line 1:
__NOTOC__ {{Languages}}
__NOTOC__ {{Languages|ZNC}}


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].
You can find us in [ircs://irc.libera.chat:6697/#znc #znc on Libera.Chat]. (New as of May 2021! Our old freenode channel got closed by the new freenode management...)


The latest stable release is '''{{ZNC-Version}}''' ([[ChangeLog]]).
== Download ZNC ==
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>]'''!


== Download ZNC {{ZNC-Version}} ==
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>]'''|}}.
You can find the latest stable release '''[http://znc.in/releases/znc-{{ZNC-Version}}.tar.gz <span style="color:#FF0000">here</span>]'''!


Or you can try testing version, using [[git]] or from '''[http://znc.in/releases/znc-1.0-alpha1.tar.gz <span style="color:#7F0000">ZNC 1.0-alpha1</span>] tarball'''!
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>.
** '''For each IRC network, you need to create a ZNC user.'''
** 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 example, use one user for Freenode, one user for EFnet, one user for Quakenet, etc.
** You can later change settings (add more users, tune existing ones, etc.) via the [[webadmin|web interface]] or from [[controlpanel|IRC]].
** 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: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'''. This is optional and is the 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 [[clientbuffer]] and [[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|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. Each user can connect to one IRC network.
; Multiple Users : You can add additional users under one running process. Useful for public shells that limit background processes.
; Multiple Clients : Connect to the same user with as many clients as you want.
; Multiple Networks : Each user can connect to several IRC networks at once, with an optional limit configured by ZNC admin.
; [[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. [[Image:Webadmin-settings-dark-clouds.png|thumb|Screenshot of the [[Webadmin]] module in action]]


== Getting started ==
== Getting started ==
* [[Portability]]
* [[Introduction]]
* [[Installation|Download and Installation]]
* [[Installation|Download and Installation]]
* [[Configuration]]
* [[Connecting to ZNC]]
* [[Using commands|Using ZNC]]
* [[FAQ]]
* [[FAQ]]
* [[Using commands|Using ZNC]]
* [[Providers|Free ZNC providers (if you don't want or cannot install ZNC yourself)]]


=== 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]]
* [[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 58: Line 69:
* [[modpython|Writing Python modules]]
* [[modpython|Writing Python modules]]
* [[Debugging]]
* [[Debugging]]
=== I want to help, what can I do? ===
That's great! You can:
* send pull requests on [https://github.com/znc/znc github]
* [https://crowdin.com/project/znc-bouncer 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 ===
* [[HowToRelease|How to release new ZNC version]]


== External Links ==
== External Links ==
'''Please note that as of February 2011 we have abandoned SourceForge and moved to GitHub.'''
'''Please note that as of February 2011 we have abandoned SourceForge and moved to GitHub.'''
* [https://github.com/znc/znc ZNC project page on GitHub]
* [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]]

Latest revision as of 00:25, 11 February 2024

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
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

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.