]> arthur.barton.de Git - ngircd-alex.git/blobdiff - doc/sample-ngircd.conf.tmpl
ngIRCd Release 27
[ngircd-alex.git] / doc / sample-ngircd.conf.tmpl
index 1c3998ad61368fca9448013206c2cd35e5187779..2a08bb43e309c435bdf59393ce957aad94b52388 100644 (file)
@@ -24,8 +24,9 @@
        # make sure that they correspond to your installation and setup!
 
        # Server name in the IRC network, must contain at least one dot
-       # (".") and be unique in the IRC network. Required!
-       Name = irc.example.net
+       # (".") and be unique in the IRC network. When not set, ngIRCd tries
+       # to deduce a valid IRC server name from the local host name.
+       ;Name = irc.example.net
 
        # Information about the server and the administrator, used by the
        # ADMIN command. Not required by server but by RFC!
        ;AdminEMail = admin@irc.server
 
        # Text file which contains the ngIRCd help text. This file is required
-       # to display help texts when using the "HELP <cmd>" command.
+       # to display help texts when using the "HELP <cmd>" command. Default: a
+       # built-in standard path (check "ngircd --configtest").
        ;HelpFile = :DOCDIR:/Commands.txt
 
        # Info text of the server. This will be shown by WHOIS and
-       # LINKS requests for example.
-       Info = Server Info Text
+       # LINKS requests for example. Set to the server software name and
+       # version by default.
+       ;Info = Server Info Text
 
        # Comma separated list of IP addresses on which the server should
        # listen. Default values are:
        ;Listen = 127.0.0.1,192.168.0.1
 
        # Text file with the "message of the day" (MOTD). This message will
-       # be shown to all users connecting to the server:
+       # be shown to all users connecting to the server: Default: a built-in
+       # standard path (check "ngircd --configtest").
        ;MotdFile = :ETCDIR:/ngircd.motd
 
-       # A simple Phrase (<256 chars) if you don't want to use a motd file.
+       # A simple Phrase (<127 chars) if you don't want to use a motd file.
        ;MotdPhrase = "Hello world!"
 
+       # The name of the IRC network to which this server belongs. This name
+       # is optional, should only contain ASCII characters, and can't contain
+       # spaces. It is only used to inform clients. The default is empty,
+       # so no network name is announced to clients.
+       ;Network = aIRCnetwork
+
        # Global password for all users needed to connect to the server.
        # (Default: not set)
        ;Password = abc
        # to not yet (or no longer) connected servers.
        ;ConnectRetry = 60
 
+       # Number of seconds after which the whole daemon should shutdown when
+       # no connections are left active after handling at least one client
+       # (0: never, which is the default).
+       # This can be useful for testing or when ngIRCd is started using
+       # "socket activation" with systemd(8), for example.
+       ;IdleTimeout = 0
+
        # Maximum number of simultaneous in- and outbound connections the
        # server is allowed to accept (0: unlimited):
        ;MaxConnections = 0
        # maximum nickname length!
        ;MaxNickLength = 9
 
+       # Maximum penalty time increase in seconds, per penalty event. Set to -1
+       # for no limit (the default), 0 to disable penalties altogether. The
+       # daemon doesn't use penalty increases higher than 2 seconds during
+       # normal operation, so values greater than 1 rarely make sense.
+       ;MaxPenaltyTime = -1
+
        # Maximum number of channels returned in response to a /list
        # command (0: unlimited):
        ;MaxListSize = 100
        # behavior of ngIRCd. If you want to get started quickly, you most
        # probably don't have to make changes here -- they are all optional.
 
+       # List of allowed channel types (channel prefixes) for newly created
+       # channels on the local server. By default, all supported channel
+       # types are allowed. Set this variable to the empty string to disallow
+       # creation of new channels by local clients at all.
+       ;AllowedChannelTypes = #&+
+
        # Are remote IRC operators allowed to control this server, e.g.
        # use commands like CONNECT, SQUIT, DIE, ...?
        ;AllowRemoteOper = no
        ;ConnectIPv6 = yes
        ;ConnectIPv4 = yes
 
-       # Do any DNS lookups when a client connects to the server.
+       # Default user mode(s) to set on new local clients. Please note that
+       # only modes can be set that the client could set using regular MODE
+       # commands, you can't set "a" (away) for example! Default: none.
+       ;DefaultUserModes = i
+
+       # Do DNS lookups when a client connects to the server.
        ;DNS = yes
 
        # Do IDENT lookups if ngIRCd has been compiled with support for it.
        # prepended to their user name.
        ;Ident = yes
 
+       # Directory containing configuration snippets (*.conf), that should
+       # be read in after parsing this configuration file.
+       # Default: a built-in directory name when no configuration file was
+       # explicitly given on the command line (check "ngircd --configtest"),
+       # none (empty) otherwise.
+       ;IncludeDir = :ETCDIR:/conf.d
+
        # Enhance user privacy slightly (useful for IRC server on TOR or I2P)
        # by censoring some information like idle time, logon time, etc.
        ;MorePrivacy = no
 
        # Normally ngIRCd doesn't send any messages to a client until it is
-       # registered. Enable this option to let the daemon send "NOTICE AUTH"
+       # registered. Enable this option to let the daemon send "NOTICE *"
        # messages to clients while connecting.
-       ;NoticeAuth = no
+       ;NoticeBeforeRegistration = no
 
        # Should IRC Operators be allowed to use the MODE command even if
        # they are not(!) channel-operators?
        # character prepended to their respective user names!
        ;PAMIsOptional = no
 
-       # Allow Pre-Defined Channels only (see Section [Channels])
-       ;PredefChannelsOnly = no
+       # When PAM is enabled, this value determines the used PAM
+       # configuration.
+       # This setting allows to run multiple ngIRCd instances with
+       # different PAM configurations on each instance.
+       # If you set it to "ngircd-foo", PAM will use
+       # /etc/pam.d/ngircd-foo instead of the default
+       # /etc/pam.d/ngircd.
+       ;PAMServiceName = ngircd
 
        # Let ngIRCd send an "authentication PING" when a new client connects,
        # and register this client only after receiving the corresponding
        # is only available when ngIRCd is compiled with support for SSL!
        # So don't forget to remove the ";" above if this is the case ...
 
+       # SSL Trusted CA Certificates File for verifying peer certificates.
+       # (Default: not set; so no certificates are trusted)
+       ;CAFile = /etc/ssl/CA/cacert.pem
+
+       # Certificate Revocation File (for marking otherwise valid
+       # certficates as invalid)
+       ;CRLFile = /etc/ssl/CA/crl.pem
+
        # SSL Server Key Certificate
        ;CertFile = :ETCDIR:/ssl/server-cert.pem
 
+       # Select cipher suites allowed for SSL/TLS connections. This defaults
+       # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS).
+       # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init'
+       # (GnuTLS) for details.
+       # For OpenSSL:
+       ;CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3
+       # For GnuTLS:
+       ;CipherList = SECURE128:-VERS-SSL3.0
+
        # Diffie-Hellman parameters
        ;DHFile = :ETCDIR:/ssl/dhparams.pem
 
 [Server]
        # Other servers are configured in [Server] sections. If you
        # configure a port for the connection, then this ngircd tries to
-       # connect to to the other server on the given port; if not it waits
+       # connect to the other server on the given port; if not it waits
        # for the other server to connect.
        # There may be more than one server block, one for each server.
        #
        # Connect to the remote server using TLS/SSL (Default: false)
        ;SSLConnect = yes
 
+       # Verify the TLS certificate presented by the remote server
+       # (Default: yes)
+       ;SSLVerify = yes
+
        # Define a (case insensitive) list of masks matching nicknames that
        # should be treated as IRC services when introduced via this remote
        # server, separated by commas (",").
        # Topic for this channel
        ;Topic = a great topic
 
-       # Initial channel modes
-       ;Modes = tnk
+       # Initial channel modes, as used in "MODE" commands. Modifying lists
+       # (ban list, invite list, exception list) is supported.
+       # This option can be specified multiple times, evaluated top to bottom.
+       ;Modes = +tnk mykey +l 5
+       ;Modes = +b nick!~user@bad.host.example.com
 
-       # initial channel password (mode k)
-       ;Key = Secret
+       # Should ngIRCd automatically join ("autojoin") all users to this
+       # channel on connect? Note: The users must have permissions to access
+       # the channel, otherwise joining them will fail!
+       ;Autojoin = yes
 
        # Key file, syntax for each line: "<user>:<nick>:<key>".
        # Default: none.
        ;KeyFile = :ETCDIR:/#chan.key
 
-       # maximum users per channel (mode l)
-       ;MaxUsers = 23
-
 [Channel]
        # More [Channel] sections, if you like ...