[BACK]Return to sample-ngircd.conf.tmpl CVS log [TXT][DIR] Up to [local] / ircnowd / doc

Annotation of ircnowd/doc/sample-ngircd.conf.tmpl, Revision 1.1

1.1     ! tomglok     1: #
        !             2: # This is a sample configuration file for the ngIRCd IRC daemon, which must
        !             3: # be customized to the local preferences and needs.
        !             4: #
        !             5: # Comments are started with "#" or ";".
        !             6: #
        !             7: # A lot of configuration options in this file start with a ";". You have
        !             8: # to remove the ";" in front of each variable to actually set a value!
        !             9: # The disabled variables are shown with example values for completeness only
        !            10: # and the daemon is using compiled-in default settings.
        !            11: #
        !            12: # Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the
        !            13: # server interprets the configuration file as expected!
        !            14: #
        !            15: # Please see ngircd.conf(5) for a complete list of configuration options
        !            16: # and their descriptions.
        !            17: #
        !            18:
        !            19: [Global]
        !            20:        # The [Global] section of this file is used to define the main
        !            21:        # configuration of the server, like the server name and the ports
        !            22:        # on which the server should be listening.
        !            23:        # These settings depend on your personal preferences, so you should
        !            24:        # make sure that they correspond to your installation and setup!
        !            25:
        !            26:        # Server name in the IRC network, must contain at least one dot
        !            27:        # (".") and be unique in the IRC network. Required!
        !            28:        Name = irc.example.net
        !            29:
        !            30:        # Information about the server and the administrator, used by the
        !            31:        # ADMIN command. Not required by server but by RFC!
        !            32:        ;AdminInfo1 = Description
        !            33:        ;AdminInfo2 = Location
        !            34:        ;AdminEMail = admin@irc.server
        !            35:
        !            36:        # Text file which contains the ngIRCd help text. This file is required
        !            37:        # to display help texts when using the "HELP <cmd>" command.
        !            38:        ;HelpFile = :DOCDIR:/Commands.txt
        !            39:
        !            40:        # Info text of the server. This will be shown by WHOIS and
        !            41:        # LINKS requests for example.
        !            42:        Info = Server Info Text
        !            43:
        !            44:        # Comma separated list of IP addresses on which the server should
        !            45:        # listen. Default values are:
        !            46:        # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0"
        !            47:        # so the server listens on all IP addresses of the system by default.
        !            48:        ;Listen = 127.0.0.1,192.168.0.1
        !            49:
        !            50:        # Text file with the "message of the day" (MOTD). This message will
        !            51:        # be shown to all users connecting to the server:
        !            52:        ;MotdFile = :ETCDIR:/ngircd.motd
        !            53:
        !            54:        # A simple Phrase (<127 chars) if you don't want to use a motd file.
        !            55:        ;MotdPhrase = "Hello world!"
        !            56:
        !            57:        # The name of the IRC network to which this server belongs. This name
        !            58:        # is optional, should only contain ASCII characters, and can't contain
        !            59:        # spaces. It is only used to inform clients. The default is empty,
        !            60:        # so no network name is announced to clients.
        !            61:        ;Network = aIRCnetwork
        !            62:
        !            63:        # Global password for all users needed to connect to the server.
        !            64:        # (Default: not set)
        !            65:        ;Password = abc
        !            66:
        !            67:        # This tells ngIRCd to write its current process ID to a file.
        !            68:        # Note that the pidfile is written AFTER chroot and switching the
        !            69:        # user ID, e.g. the directory the pidfile resides in must be
        !            70:        # writable by the ngIRCd user and exist in the chroot directory.
        !            71:        ;PidFile = /var/run/ngircd/ngircd.pid
        !            72:
        !            73:        # Ports on which the server should listen. There may be more than
        !            74:        # one port, separated with ",". (Default: 6667)
        !            75:        ;Ports = 6667, 6668, 6669
        !            76:
        !            77:        # Group ID under which the ngIRCd should run; you can use the name
        !            78:        # of the group or the numerical ID. ATTENTION: For this to work the
        !            79:        # server must have been started with root privileges!
        !            80:        ;ServerGID = 65534
        !            81:
        !            82:        # User ID under which the server should run; you can use the name
        !            83:        # of the user or the numerical ID. ATTENTION: For this to work the
        !            84:        # server must have been started with root privileges! In addition,
        !            85:        # the configuration and MOTD files must be readable by this user,
        !            86:        # otherwise RESTART and REHASH won't work!
        !            87:        ;ServerUID = 65534
        !            88:
        !            89: [Limits]
        !            90:        # Define some limits and timeouts for this ngIRCd instance. Default
        !            91:        # values should be safe, but it is wise to double-check :-)
        !            92:
        !            93:        # The server tries every <ConnectRetry> seconds to establish a link
        !            94:        # to not yet (or no longer) connected servers.
        !            95:        ;ConnectRetry = 60
        !            96:
        !            97:        # Number of seconds after which the whole daemon should shutdown when
        !            98:        # no connections are left active after handling at least one client
        !            99:        # (0: never, which is the default).
        !           100:        # This can be useful for testing or when ngIRCd is started using
        !           101:        # "socket activation" with systemd(8), for example.
        !           102:        ;IdleTimeout = 0
        !           103:
        !           104:        # Maximum number of simultaneous in- and outbound connections the
        !           105:        # server is allowed to accept (0: unlimited):
        !           106:        ;MaxConnections = 0
        !           107:
        !           108:        # Maximum number of simultaneous connections from a single IP address
        !           109:        # the server will accept (0: unlimited):
        !           110:        ;MaxConnectionsIP = 5
        !           111:
        !           112:        # Maximum number of channels a user can be member of (0: no limit):
        !           113:        ;MaxJoins = 10
        !           114:
        !           115:        # Maximum length of an user nickname (Default: 9, as in RFC 2812).
        !           116:        # Please note that all servers in an IRC network MUST use the same
        !           117:        # maximum nickname length!
        !           118:        ;MaxNickLength = 9
        !           119:
        !           120:        # Maximum penalty time increase in seconds, per penalty event. Set to -1
        !           121:        # for no limit (the default), 0 to disable penalties altogether. The
        !           122:        # daemon doesn't use penalty increases higher than 2 seconds during
        !           123:        # normal operation, so values greater than 1 rarely make sense.
        !           124:        ;MaxPenaltyTime = -1
        !           125:
        !           126:        # Maximum number of channels returned in response to a /list
        !           127:        # command (0: unlimited):
        !           128:        ;MaxListSize = 100
        !           129:
        !           130:        # After <PingTimeout> seconds of inactivity the server will send a
        !           131:        # PING to the peer to test whether it is alive or not.
        !           132:        ;PingTimeout = 120
        !           133:
        !           134:        # If a client fails to answer a PING with a PONG within <PongTimeout>
        !           135:        # seconds, it will be disconnected by the server.
        !           136:        ;PongTimeout = 20
        !           137:
        !           138: [Options]
        !           139:        # Optional features and configuration options to further tweak the
        !           140:        # behavior of ngIRCd. If you want to get started quickly, you most
        !           141:        # probably don't have to make changes here -- they are all optional.
        !           142:
        !           143:        # List of allowed channel types (channel prefixes) for newly created
        !           144:        # channels on the local server. By default, all supported channel
        !           145:        # types are allowed. Set this variable to the empty string to disallow
        !           146:        # creation of new channels by local clients at all.
        !           147:        ;AllowedChannelTypes = #&+
        !           148:
        !           149:        # Are remote IRC operators allowed to control this server, e.g.
        !           150:        # use commands like CONNECT, SQUIT, DIE, ...?
        !           151:        ;AllowRemoteOper = no
        !           152:
        !           153:        # A directory to chroot in when everything is initialized. It
        !           154:        # doesn't need to be populated if ngIRCd is compiled as a static
        !           155:        # binary. By default ngIRCd won't use the chroot() feature.
        !           156:        # ATTENTION: For this to work the server must have been started
        !           157:        # with root privileges!
        !           158:        ;ChrootDir = /var/empty
        !           159:
        !           160:        # Set this hostname for every client instead of the real one.
        !           161:        # Use %x to add the hashed value of the original hostname.
        !           162:        ;CloakHost = cloaked.host
        !           163:
        !           164:        # Use this hostname for hostname cloaking on clients that have the
        !           165:        # user mode "+x" set, instead of the name of the server.
        !           166:        # Use %x to add the hashed value of the original hostname.
        !           167:        ;CloakHostModeX = cloaked.user
        !           168:
        !           169:        # The Salt for cloaked hostname hashing. When undefined a random
        !           170:        # hash is generated after each server start.
        !           171:        ;CloakHostSalt = abcdefghijklmnopqrstuvwxyz
        !           172:
        !           173:        # Set every clients' user name to their nickname
        !           174:        ;CloakUserToNick = yes
        !           175:
        !           176:        # Try to connect to other IRC servers using IPv4 and IPv6, if possible.
        !           177:        ;ConnectIPv6 = yes
        !           178:        ;ConnectIPv4 = yes
        !           179:
        !           180:        # Default user mode(s) to set on new local clients. Please note that
        !           181:        # only modes can be set that the client could set using regular MODE
        !           182:        # commands, you can't set "a" (away) for example! Default: none.
        !           183:        ;DefaultUserModes = i
        !           184:
        !           185:        # Do DNS lookups when a client connects to the server.
        !           186:        ;DNS = yes
        !           187:
        !           188:        # Do IDENT lookups if ngIRCd has been compiled with support for it.
        !           189:        # Users identified using IDENT are registered without the "~" character
        !           190:        # prepended to their user name.
        !           191:        ;Ident = yes
        !           192:
        !           193:        # Directory containing configuration snippets (*.conf), that should
        !           194:        # be read in after parsing this configuration file.
        !           195:        ;IncludeDir = :ETCDIR:/conf.d
        !           196:
        !           197:        # Enhance user privacy slightly (useful for IRC server on TOR or I2P)
        !           198:        # by censoring some information like idle time, logon time, etc.
        !           199:        ;MorePrivacy = no
        !           200:
        !           201:        # Normally ngIRCd doesn't send any messages to a client until it is
        !           202:        # registered. Enable this option to let the daemon send "NOTICE *"
        !           203:        # messages to clients while connecting.
        !           204:        ;NoticeBeforeRegistration = no
        !           205:
        !           206:        # Should IRC Operators be allowed to use the MODE command even if
        !           207:        # they are not(!) channel-operators?
        !           208:        ;OperCanUseMode = no
        !           209:
        !           210:        # Should IRC Operators get AutoOp (+o) in persistent (+P) channels?
        !           211:        ;OperChanPAutoOp = yes
        !           212:
        !           213:        # Mask IRC Operator mode requests as if they were coming from the
        !           214:        # server? (This is a compatibility hack for ircd-irc2 servers)
        !           215:        ;OperServerMode = no
        !           216:
        !           217:        # Use PAM if ngIRCd has been compiled with support for it.
        !           218:        # Users identified using PAM are registered without the "~" character
        !           219:        # prepended to their user name.
        !           220:        ;PAM = yes
        !           221:
        !           222:        # When PAM is enabled, all clients are required to be authenticated
        !           223:        # using PAM; connecting to the server without successful PAM
        !           224:        # authentication isn't possible.
        !           225:        # If this option is set, clients not sending a password are still
        !           226:        # allowed to connect: they won't become "identified" and keep the "~"
        !           227:        # character prepended to their supplied user name.
        !           228:        # Please note: To make some use of this behavior, it most probably
        !           229:        # isn't useful to enable "Ident", "PAM" and "PAMIsOptional" at the
        !           230:        # same time, because you wouldn't be able to distinguish between
        !           231:        # Ident'ified and PAM-authenticated users: both don't have a "~"
        !           232:        # character prepended to their respective user names!
        !           233:        ;PAMIsOptional = no
        !           234:
        !           235:        # When PAM is enabled, this value determines the used PAM
        !           236:        # configuration.
        !           237:        # This setting allows to run multiple ngIRCd instances with
        !           238:        # different PAM configurations on each instance.
        !           239:        # If you set it to "ngircd-foo", PAM will use
        !           240:        # /etc/pam.d/ngircd-foo instead of the default
        !           241:        # /etc/pam.d/ngircd.
        !           242:        ;PAMServiceName = ngircd
        !           243:
        !           244:        # Let ngIRCd send an "authentication PING" when a new client connects,
        !           245:        # and register this client only after receiving the corresponding
        !           246:        # "PONG" reply.
        !           247:        ;RequireAuthPing = no
        !           248:
        !           249:        # Silently drop all incoming CTCP requests.
        !           250:        ;ScrubCTCP = no
        !           251:
        !           252:        # Syslog "facility" to which ngIRCd should send log messages.
        !           253:        # Possible values are system dependent, but most probably auth, daemon,
        !           254:        # user and local1 through local7 are possible values; see syslog(3).
        !           255:        # Default is "local5" for historical reasons, you probably want to
        !           256:        # change this to "daemon", for example.
        !           257:        ;SyslogFacility = local1
        !           258:
        !           259:        # Password required for using the WEBIRC command used by some
        !           260:        # Web-to-IRC gateways. If not set/empty, the WEBIRC command can't
        !           261:        # be used. (Default: not set)
        !           262:        ;WebircPassword = xyz
        !           263:
        !           264: ;[SSL]
        !           265:        # SSL-related configuration options. Please note that this section
        !           266:        # is only available when ngIRCd is compiled with support for SSL!
        !           267:        # So don't forget to remove the ";" above if this is the case ...
        !           268:
        !           269:        # SSL Server Key Certificate
        !           270:        ;CertFile = :ETCDIR:/ssl/server-cert.pem
        !           271:
        !           272:        # Select cipher suites allowed for SSL/TLS connections. This defaults
        !           273:        # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS).
        !           274:        # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init'
        !           275:        # (GnuTLS) for details.
        !           276:        # For OpenSSL:
        !           277:        ;CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3
        !           278:        # For GnuTLS:
        !           279:        ;CipherList = SECURE128:-VERS-SSL3.0
        !           280:
        !           281:        # Diffie-Hellman parameters
        !           282:        ;DHFile = :ETCDIR:/ssl/dhparams.pem
        !           283:
        !           284:        # SSL Server Key
        !           285:        ;KeyFile = :ETCDIR:/ssl/server-key.pem
        !           286:
        !           287:        # password to decrypt SSLKeyFile (OpenSSL only)
        !           288:        ;KeyFilePassword = secret
        !           289:
        !           290:        # Additional Listen Ports that expect SSL/TLS encrypted connections
        !           291:        ;Ports = 6697, 9999
        !           292:
        !           293: [Operator]
        !           294:        # [Operator] sections are used to define IRC Operators. There may be
        !           295:        # more than one [Operator] block, one for each local operator.
        !           296:
        !           297:        # ID of the operator (may be different of the nickname)
        !           298:        ;Name = TheOper
        !           299:
        !           300:        # Password of the IRC operator
        !           301:        ;Password = ThePwd
        !           302:
        !           303:        # Optional Mask from which /OPER will be accepted
        !           304:        ;Mask = *!ident@somewhere.example.com
        !           305:
        !           306: [Operator]
        !           307:        # More [Operator] sections, if you like ...
        !           308:
        !           309: [Server]
        !           310:        # Other servers are configured in [Server] sections. If you
        !           311:        # configure a port for the connection, then this ngircd tries to
        !           312:        # connect to the other server on the given port; if not it waits
        !           313:        # for the other server to connect.
        !           314:        # There may be more than one server block, one for each server.
        !           315:        #
        !           316:        # Server Groups:
        !           317:        # The ngIRCd allows "server groups": You can assign an "ID" to every
        !           318:        # server with which you want this ngIRCd to link. If a server of a
        !           319:        # group won't answer, the ngIRCd tries to connect to the next server
        !           320:        # in the given group. But the ngircd never tries to connect to two
        !           321:        # servers with the same group ID.
        !           322:
        !           323:        # IRC name of the remote server, must match the "Name" variable in
        !           324:        # the [Global] section of the other server (when using ngIRCd).
        !           325:        ;Name = irc2.example.net
        !           326:
        !           327:        # Internet host name or IP address of the peer (only required when
        !           328:        # this server should establish the connection).
        !           329:        ;Host = connect-to-host.example.net
        !           330:
        !           331:        # IP address to use as _source_ address for the connection. if
        !           332:        # unspecified, ngircd will let the operating system pick an address.
        !           333:        ;Bind = 10.0.0.1
        !           334:
        !           335:        # Port of the server to which the ngIRCd should connect. If you
        !           336:        # assign no port the ngIRCd waits for incoming connections.
        !           337:        ;Port = 6667
        !           338:
        !           339:        # Own password for the connection. This password has to be configured
        !           340:        # as "PeerPassword" on the other server.
        !           341:        ;MyPassword = MySecret
        !           342:
        !           343:        # Foreign password for this connection. This password has to be
        !           344:        # configured as "MyPassword" on the other server.
        !           345:        ;PeerPassword = PeerSecret
        !           346:
        !           347:        # Group of this server (optional)
        !           348:        ;Group = 123
        !           349:
        !           350:        # Set the "Passive" option to "yes" if you don't want this ngIRCd to
        !           351:        # connect to the configured peer (same as leaving the "Port" variable
        !           352:        # empty). The advantage of this option is that you can actually
        !           353:        # configure a port an use the IRC command CONNECT more easily to
        !           354:        # manually connect this specific server later.
        !           355:        ;Passive = no
        !           356:
        !           357:        # Connect to the remote server using TLS/SSL (Default: false)
        !           358:        ;SSLConnect = yes
        !           359:
        !           360:        # Define a (case insensitive) list of masks matching nicknames that
        !           361:        # should be treated as IRC services when introduced via this remote
        !           362:        # server, separated by commas (",").
        !           363:        # REGULAR SERVERS DON'T NEED this parameter, so leave it empty
        !           364:        # (which is the default).
        !           365:        # When you are connecting IRC services which mask as a IRC server
        !           366:        # and which use "virtual users" to communicate with, for example
        !           367:        # "NickServ" and "ChanServ", you should set this parameter to
        !           368:        # something like "*Serv" or "NickServ,ChanServ,XyzServ".
        !           369:        ;ServiceMask = *Serv,Global
        !           370:
        !           371: [Server]
        !           372:        # More [Server] sections, if you like ...
        !           373:
        !           374: [Channel]
        !           375:        # Pre-defined channels can be configured in [Channel] sections.
        !           376:        # Such channels are created by the server when starting up and even
        !           377:        # persist when there are no more members left.
        !           378:        # Persistent channels are marked with the mode 'P', which can be set
        !           379:        # and unset by IRC operators like other modes on the fly.
        !           380:        # There may be more than one [Channel] block, one for each channel.
        !           381:
        !           382:        # Name of the channel
        !           383:        ;Name = #TheName
        !           384:
        !           385:        # Topic for this channel
        !           386:        ;Topic = a great topic
        !           387:
        !           388:        # Initial channel modes, as used in "MODE" commands. Modifying lists
        !           389:        # (ban list, invite list, exception list) is supported.
        !           390:        # This option can be specified multiple times, evaluated top to bottom.
        !           391:        ;Modes = +tnk mykey +l 5
        !           392:        ;Modes = +b nick!~user@bad.host.example.com
        !           393:
        !           394:        # Key file, syntax for each line: "<user>:<nick>:<key>".
        !           395:        # Default: none.
        !           396:        ;KeyFile = :ETCDIR:/#chan.key
        !           397:
        !           398: [Channel]
        !           399:        # More [Channel] sections, if you like ...
        !           400:
        !           401: # -eof-

CVSweb