[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

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