summaryrefslogtreecommitdiff
path: root/ngircd/ngircd.conf
blob: 8ea9eae61db73ae3096e14930906b4c1c123e8cc (plain)
    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 = /usr/share/doc/ngircd/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 = /etc/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 = ngircd
   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 = ngircd
   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 = /etc/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 = /etc/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 = /etc/ssl/dhparams.pem
  283 
  284 	# SSL Server Key
  285 	;KeyFile = /etc/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 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
  389 	;Modes = tnk
  390 
  391 	# initial channel password (mode k)
  392 	;Key = Secret
  393 
  394 	# Key file, syntax for each line: "<user>:<nick>:<key>".
  395 	# Default: none.
  396 	;KeyFile = /etc/#chan.key
  397 
  398 	# maximum users per channel (mode l)
  399 	;MaxUsers = 23
  400 
  401 [Channel]
  402 	# More [Channel] sections, if you like ...
  403 
  404 # -eof-

Generated by cgit