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.
Configuration: Difference between revisions
Jump to navigation
Jump to search
>Jpnurmi m Fix network indentation |
>Jpnurmi CConfig writes in alphabetical order - values first, then sub groups |
||
Line 28: | Line 28: | ||
== Config file structure == | == Config file structure == | ||
A ZNC 1.6 configuration file consists of the following settings: | |||
<!-- GLOBAL SETTINGS --> | <!-- GLOBAL SETTINGS --> | ||
* '''AnonIPLimit''' - Limits the number of unidentified connections per IP. | * '''AnonIPLimit''' - Limits the number of unidentified connections per IP. | ||
* '''BindHost''' - This is a list of allowed bindhosts. It is used by the [[webadmin]] module for users to select one. (Set different bindhosts in "Settings" on your Webadmin-Interface first - one per line - to make them appear in users configs afterwards) | |||
* '''ConnectDelay''' - The time every connection will be delayed, in seconds. Some servers refuse your connection if you reconnect too fast. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC. | * '''ConnectDelay''' - The time every connection will be delayed, in seconds. Some servers refuse your connection if you reconnect too fast. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC. | ||
* '''LoadModule''' - ... | |||
* '''MaxBufferSize''' - Sets the global Max Buffer Size a user can have. | * '''MaxBufferSize''' - Sets the global Max Buffer Size a user can have. | ||
* '''Motd''' - The "message of the day" which is sent to clients on connect via notice from *status. Can be specified multiple times. | |||
* '''PidFile''' - Make ZNC write a pid file. ZNC does not need this itself. See [[FAQ#How_can_I_restart_ZNC_automatically_.28in_case_of_a_machine_reboot.2C_crash.2C_etc..29.3F|the FAQ]] on info how to crontab ZNC. | |||
* '''ProtectedWebSessions''' - ... | * '''ProtectedWebSessions''' - ... | ||
* '''ServerThrottle''' - The time between two connect attempts to the same hostname. | |||
* '''Skin''' - ... | |||
* '''SSLCertFile''' - It's the TLS/SSL certificate file from which ZNC reads its server certificate. | * '''SSLCertFile''' - It's the TLS/SSL certificate file from which ZNC reads its server certificate. | ||
* '''SSLCiphers''' - Allowed SSL ciphers. For example <code>SSLCiphers = ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DS</code> | * '''SSLCiphers''' - Allowed SSL ciphers. For example <code>SSLCiphers = ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DS</code> | ||
* ''' | * '''StatusPrefix''' - The prefix for the status and module queries. This setting may be overwritten by users. | ||
* '''TrustedProxy''' - ... | * '''TrustedProxy''' - ... | ||
* '''Version''' - The ZNC version that wrote this file. | * '''Version''' - The ZNC version that wrote this file. | ||
<!-- LISTENER SETTINGS --> | <!-- LISTENER SETTINGS --> | ||
* '''Listener''' - Definition of a port that znc should listen on. | * '''Listener''' - Definition of a port that znc should listen on. | ||
** '''AllowIRC''' - If IRC connections are allowed on this listener. | |||
** '''AllowWeb''' - If web connections are allowed on this listener. | |||
** '''Host''' - The host or IP on which ZNC listens. | ** '''Host''' - The host or IP on which ZNC listens. | ||
** '''IPv4''' - If this port is listening using IPv4. | ** '''IPv4''' - If this port is listening using IPv4. | ||
** '''IPv6''' - If this port is listening using IPv6. | ** '''IPv6''' - If this port is listening using IPv6. | ||
** '''Port''' - The port number used. | |||
** '''SSL''' - If this port is listening using SSL. | ** '''SSL''' - If this port is listening using SSL. | ||
** ''' | ** '''URIPrefix''' - Prefix that ZNC should make the web interface available under. This can be used to make ZNC available behind a reverse proxy. | ||
<!-- USER SETTINGS --> | <!-- USER SETTINGS --> | ||
* '''User''' - The user definition, you can have more than one. Each user may only connect to one network, so you need a separate user for each network. This is intended behavior! (See the [[FAQ]] about multiple networks) | * '''User''' - The user definition, you can have more than one. Each user may only connect to one network, so you need a separate user for each network. This is intended behavior! (See the [[FAQ]] about multiple networks) | ||
** '''Admin''' - If set to <code>true</code>, the user has admin rights (e.g. in the [[webadmin]] module). | ** '''Admin''' - If set to <code>true</code>, the user has admin rights (e.g. in the [[webadmin]] module). | ||
** '''Allow''' - By default everyone is able to connect to ZNC as this user. With an ''Allow'' line you can restrict access to the specified IPs. Wildcards (*) are supported and multiple ''Allow'' lines can be set up. | ** '''Allow''' - By default everyone is able to connect to ZNC as this user. With an ''Allow'' line you can restrict access to the specified IPs. Wildcards (*) are supported and multiple ''Allow'' lines can be set up. | ||
** '''AltNick''' - The alternate nick ZNC will use if your main nick is in use. | ** '''AltNick''' - The alternate nick ZNC will use if your main nick is in use. | ||
** '''AppendTimestamp''' - Whether to append the [[timestamps]] to the message or not | ** '''AppendTimestamp''' - Whether to append the [[timestamps]] to the message or not | ||
** '''AutoClearChanBuffer''' - If set to <code>false</code>, it will buffer channels even while you are attached, and play the whole buffer back to you each time you connect. If set to <code>true</code>, it won't buffer channels while you are attached, and the buffer will be reset upon each playback. | ** '''AutoClearChanBuffer''' - If set to <code>false</code>, it will buffer channels even while you are attached, and play the whole buffer back to you each time you connect. If set to <code>true</code>, it won't buffer channels while you are attached, and the buffer will be reset upon each playback. | ||
** '''AutoClearQueryBuffer''' - If set to <code>false</code>, it will buffer queries even while you are attached, and play the whole buffer back to you each time you connect. If set to <code>true</code>, it won't buffer queries while you are attached, and the buffer will be reset upon each playback. | ** '''AutoClearQueryBuffer''' - If set to <code>false</code>, it will buffer queries even while you are attached, and play the whole buffer back to you each time you connect. If set to <code>true</code>, it won't buffer queries while you are attached, and the buffer will be reset upon each playback. | ||
** '''Buffer''' - ... | ** '''BindHost''' - ... | ||
** '''Buffer''' - This is the amount of lines that the playback buffer will store before dropping off the oldest line. The buffers are stored in the memory by default. | |||
** '''ChanModes''' - Default modes ZNC will set when you join an empty channel. | |||
** '''ClientEncoding''' - ... | |||
** '''CTCPReply''' - A request-reply-pair for CTCP-requests. Format: <code><request> <reply></code>, e.g. <code>VERSION unknown v1.0</code> | ** '''CTCPReply''' - A request-reply-pair for CTCP-requests. Format: <code><request> <reply></code>, e.g. <code>VERSION unknown v1.0</code> | ||
** '''DCCBindHost''' - ... | ** '''DCCBindHost''' - ... | ||
** '''DenyLoadMod''' - If set to <code>true</code>, the user isn't able to load modules. | ** '''DenyLoadMod''' - If set to <code>true</code>, the user isn't able to load modules. | ||
Line 99: | Line 87: | ||
** '''TimestampFormat''' - The format for the [[timestamps]] used in buffers, for example <code>[%H:%M:%S]</code> | ** '''TimestampFormat''' - The format for the [[timestamps]] used in buffers, for example <code>[%H:%M:%S]</code> | ||
** '''Timezone''' - Set this to your local setting, so you'll get correct times in your [[timestamps]]. Format is Europe/Berlin, and is case sensitive, dropdown box will not work in IE. | ** '''Timezone''' - Set this to your local setting, so you'll get correct times in your [[timestamps]]. Format is Europe/Berlin, and is case sensitive, dropdown box will not work in IE. | ||
<!-- USER/NETWORK SETTINGS --> | |||
** '''Network''' | ** '''Network''' | ||
*** '''AltNick''' - ... | |||
*** '''BindHost''' - ... | |||
*** '''Encoding''' - ... | |||
*** '''FloodBurst''' - How many lines ZNC sends at once. | *** '''FloodBurst''' - How many lines ZNC sends at once. | ||
*** '''FloodRate''' - How many lines per second ZNC sends after the FloodBurst | *** '''FloodRate''' - How many lines per second ZNC sends after the FloodBurst | ||
*** '''Ident''' - ... | |||
*** '''IRCConnectEnabled''' - If set to <code>false</code>, user doesn't connect to IRC servers. | *** '''IRCConnectEnabled''' - If set to <code>false</code>, user doesn't connect to IRC servers. | ||
*** '''JoinDelay''' - Defines the delay in seconds, until channels are joined after getting connected. | |||
*** '''LoadModule''' - Load a [[Modules|module]] for this network on startup. | *** '''LoadModule''' - Load a [[Modules|module]] for this network on startup. | ||
*** '''Nick''' - ... | *** '''Nick''' - ... | ||
*** ''' | *** '''QuitMsg''' - A network specific quit message ZNC will use when you jump servers or call shutdown. | ||
*** '''RealName''' - ... | *** '''RealName''' - ... | ||
*** ''' | *** '''Server''' - Adds a server to the list of servers this user will be able to connect to. If you want ZNC to connect to the IRC server using SSL, put '+' in front of the port number. The IP can be IPv6. If the server requires a password, just add it as the third argument. Format: <code>Server = <IP-Address/Host> [+]<Port> [<Password>]</code> | ||
<!-- USER/NETWORK/CHAN SETTINGS --> | |||
*** '''Chan''' - Channels you want ZNC to join when connecting. | *** '''Chan''' - Channels you want ZNC to join when connecting. | ||
**** '''AutoClearChanBuffer''' - Use this to override the '''AutoClearChanBuffer''' setting set in the User section. | |||
**** ''' | |||
**** '''Buffer''' - Use this to override the '''Buffer''' setting set in the User section. | **** '''Buffer''' - Use this to override the '''Buffer''' setting set in the User section. | ||
**** '''Detached''' - If <code>true</code>, ZNC will join this channel as [[Detaching|detached]] so that the IRC client will not be bothered by it. | **** '''Detached''' - If <code>true</code>, ZNC will join this channel as [[Detaching|detached]] so that the IRC client will not be bothered by it. | ||
**** '''Disabled''' - If <code>true</code>, ZNC will not join this channel at all. | **** '''Disabled''' - If <code>true</code>, ZNC will not join this channel at all. | ||
**** '''Key''' - Key for the channel. | |||
**** '''Modes''' - Use this to override the '''ChanModes''' setting set in the User section. | |||
<!-- USER/NETWORK/CHAN SETTINGS --> | |||
** '''Pass''' - Used by the client to connect to ZNC. A hash may be generated using <code>znc --makepass</code>. | |||
*** '''Hash''' - ... | |||
*** '''Method''' - ... | |||
*** '''Salt''' - ... | |||
=== Old versions === | === Old versions === |
Revision as of 19:03, 28 October 2014
Creating a config file
To generate a basic configuration file, run znc --makeconf
after installation.
It is NOT a good idea to create a new config file manually, please use znc --makeconf
!
File locations
- Configuration - ZNC gets its configuration by reading the file
~/.znc/configs/znc.conf
. - Misc - Other files are also stored in the
~/.znc
directory, such as the SSL certificate (znc.pem) and the PidFile (znc.pid). - Local Modules - Stored in
~/.znc/modules
. ZNC will look in the local module directory first when trying to load a module. - Global Modules - Stored in
/usr/local/lib/znc
by default (where/usr/local
is the prefix you chose). This is/usr/lib/znc
if you used the Debian package. - Binaries -
znc
,znc-config
, andznc-buildmod
are all stored in/usr/local/bin
(or in/usr/bin
) by default. You can change this when you configure by using./configure --prefix=/whatever/path/you/want
.
Editing config
In most cases you should NOT edit znc.conf directly. Use webadmin instead.
If you really need to edit znc.conf by hand, do the following:
- pkill -SIGUSR1 znc
- to save current runtime configuration to znc.conf
- pkill znc
- to shutdown running ZNC instance
- Edit znc.conf
- znc
- to start it again with new configuration
Config file structure
A ZNC 1.6 configuration file consists of the following settings:
- AnonIPLimit - Limits the number of unidentified connections per IP.
- BindHost - This is a list of allowed bindhosts. It is used by the webadmin module for users to select one. (Set different bindhosts in "Settings" on your Webadmin-Interface first - one per line - to make them appear in users configs afterwards)
- ConnectDelay - The time every connection will be delayed, in seconds. Some servers refuse your connection if you reconnect too fast. This affects the connection between ZNC and the IRC server; not the connection between your IRC client and ZNC.
- LoadModule - ...
- MaxBufferSize - Sets the global Max Buffer Size a user can have.
- Motd - The "message of the day" which is sent to clients on connect via notice from *status. Can be specified multiple times.
- PidFile - Make ZNC write a pid file. ZNC does not need this itself. See the FAQ on info how to crontab ZNC.
- ProtectedWebSessions - ...
- ServerThrottle - The time between two connect attempts to the same hostname.
- Skin - ...
- SSLCertFile - It's the TLS/SSL certificate file from which ZNC reads its server certificate.
- SSLCiphers - Allowed SSL ciphers. For example
SSLCiphers = ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DS
- StatusPrefix - The prefix for the status and module queries. This setting may be overwritten by users.
- TrustedProxy - ...
- Version - The ZNC version that wrote this file.
- Listener - Definition of a port that znc should listen on.
- AllowIRC - If IRC connections are allowed on this listener.
- AllowWeb - If web connections are allowed on this listener.
- Host - The host or IP on which ZNC listens.
- IPv4 - If this port is listening using IPv4.
- IPv6 - If this port is listening using IPv6.
- Port - The port number used.
- SSL - If this port is listening using SSL.
- URIPrefix - Prefix that ZNC should make the web interface available under. This can be used to make ZNC available behind a reverse proxy.
- User - The user definition, you can have more than one. Each user may only connect to one network, so you need a separate user for each network. This is intended behavior! (See the FAQ about multiple networks)
- Admin - If set to
true
, the user has admin rights (e.g. in the webadmin module). - Allow - By default everyone is able to connect to ZNC as this user. With an Allow line you can restrict access to the specified IPs. Wildcards (*) are supported and multiple Allow lines can be set up.
- AltNick - The alternate nick ZNC will use if your main nick is in use.
- AppendTimestamp - Whether to append the timestamps to the message or not
- AutoClearChanBuffer - If set to
false
, it will buffer channels even while you are attached, and play the whole buffer back to you each time you connect. If set totrue
, it won't buffer channels while you are attached, and the buffer will be reset upon each playback. - AutoClearQueryBuffer - If set to
false
, it will buffer queries even while you are attached, and play the whole buffer back to you each time you connect. If set totrue
, it won't buffer queries while you are attached, and the buffer will be reset upon each playback. - BindHost - ...
- Buffer - This is the amount of lines that the playback buffer will store before dropping off the oldest line. The buffers are stored in the memory by default.
- ChanModes - Default modes ZNC will set when you join an empty channel.
- ClientEncoding - ...
- CTCPReply - A request-reply-pair for CTCP-requests. Format:
<request> <reply>
, e.g.VERSION unknown v1.0
- DCCBindHost - ...
- DenyLoadMod - If set to
true
, the user isn't able to load modules. - DenySetBindHost - If set to
true
, the user isn't able to change his vhost. - Ident - ...
- JoinTries - How often should ZNC try to join if the first join failed, e.g. due to channel mode +i/+k or if you're banned.
- LoadModule - Load a module for this user on startup.
- MaxJoins - How many channels should ZNC join at once. Lower this if you get disconnected for 'Excess flood.
- MaxNetworks - Maximum number of networks a user is allowed to have.
- MaxQueryBuffers - Maximum number of query buffers that are stored.
0
is unlimited. - MultiClients - Set this to
true
, if you want to be able to connect with multiple clients at once. - Nick - Your primary nick.
- PrependTimestamp - Whether to prepend the timestamps to the message or not
- QuitMsg - The default quit message ZNC will use when you jump servers or call shutdown.
- RealName - ...
- Skin - ...
- StatusPrefix - The prefix for the status and module queries.
- TimestampFormat - The format for the timestamps used in buffers, for example
[%H:%M:%S]
- Timezone - Set this to your local setting, so you'll get correct times in your timestamps. Format is Europe/Berlin, and is case sensitive, dropdown box will not work in IE.
- Network
- AltNick - ...
- BindHost - ...
- Encoding - ...
- FloodBurst - How many lines ZNC sends at once.
- FloodRate - How many lines per second ZNC sends after the FloodBurst
- Ident - ...
- IRCConnectEnabled - If set to
false
, user doesn't connect to IRC servers. - JoinDelay - Defines the delay in seconds, until channels are joined after getting connected.
- LoadModule - Load a module for this network on startup.
- Nick - ...
- QuitMsg - A network specific quit message ZNC will use when you jump servers or call shutdown.
- RealName - ...
- Server - Adds a server to the list of servers this user will be able to connect to. If you want ZNC to connect to the IRC server using SSL, put '+' in front of the port number. The IP can be IPv6. If the server requires a password, just add it as the third argument. Format:
Server = <IP-Address/Host> [+]<Port> [<Password>]
- Chan - Channels you want ZNC to join when connecting.
- AutoClearChanBuffer - Use this to override the AutoClearChanBuffer setting set in the User section.
- Buffer - Use this to override the Buffer setting set in the User section.
- Detached - If
true
, ZNC will join this channel as detached so that the IRC client will not be bothered by it. - Disabled - If
true
, ZNC will not join this channel at all. - Key - Key for the channel.
- Modes - Use this to override the ChanModes setting set in the User section.
- Pass - Used by the client to connect to ZNC. A hash may be generated using
znc --makepass
.- Hash - ...
- Method - ...
- Salt - ...
- Admin - If set to
Old versions
TODO:
- DCCVHost - This is the IP address used for DCC bouncing.
- BounceDCCs - If set to
true
, the DCCs will be bounced by ZNC. - DCCLookupMethod - If set to
default
, ZNC will use the IP the clients sends for the DCC connections; if set toclient
, ZNC will use the IP the client connects from. - Listener = [web_only|irc_only] [host or IP] [+]port - Configuration of listening port. Use web_only or irc_only, if you don't want port to be universal. Put host/IP before the port with a space between to bind to a specific IP (notice that in this case the listener can't listen on both ipv4 and ipv6). Then goes the port ZNC will listen on. If the port is prepended with a '+' (without space) then ZNC listens using SSL. You can have several listeners in one ZNC. (Introduced in 0.090, see next chapter for older versions)
- Listener4 or Listener6 - Exactly the same as Listener, but will use only IPv4 or IPv6.
- ISpoofFile - ZNC will write the ident of the user trying to connect to this file. Very useful if your shell supports oidentd.
- ISpoofFormat - The format of the ISpoofFile.
Before 0.096
- BindHost was named vHost
Before 0.090:
- Listen was similar to Listener4 from last version, without irc_only/web_only support.
- Listen6 was similar to Listener or Listener6 (depending on your OS) from last version, without irc_only/web_only support.
- TODO: When did Listeners become their own substructure?