1.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2+++ b/ngircd.conf Sun Jun 02 01:25:52 2024 +0000
1.3@@ -0,0 +1,425 @@
1.4+#
1.5+# This is a sample configuration file for the ngIRCd IRC daemon, which must
1.6+# be customized to the local preferences and needs.
1.7+#
1.8+# Comments are started with "#" or ";".
1.9+#
1.10+# A lot of configuration options in this file start with a ";". You have
1.11+# to remove the ";" in front of each variable to actually set a value!
1.12+# The disabled variables are shown with example values for completeness only
1.13+# and the daemon is using compiled-in default settings.
1.14+#
1.15+# Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the
1.16+# server interprets the configuration file as expected!
1.17+#
1.18+# Please see ngircd.conf(5) for a complete list of configuration options
1.19+# and their descriptions.
1.20+#
1.21+
1.22+[Global]
1.23+ # The [Global] section of this file is used to define the main
1.24+ # configuration of the server, like the server name and the ports
1.25+ # on which the server should be listening.
1.26+ # These settings depend on your personal preferences, so you should
1.27+ # make sure that they correspond to your installation and setup!
1.28+
1.29+ # Server name in the IRC network, must contain at least one dot
1.30+ # (".") and be unique in the IRC network. When not set, ngIRCd tries
1.31+ # to deduce a valid IRC server name from the local host name.
1.32+ ;Name = irc.example.net
1.33+
1.34+ # Information about the server and the administrator, used by the
1.35+ # ADMIN command. Not required by server but by RFC!
1.36+ ;AdminInfo1 = Description
1.37+ ;AdminInfo2 = Location
1.38+ ;AdminEMail = admin@irc.server
1.39+
1.40+ # Text file which contains the ngIRCd help text. This file is required
1.41+ # to display help texts when using the "HELP <cmd>" command. Default: a
1.42+ # built-in standard path (check "ngircd --configtest").
1.43+ ;HelpFile = /usr/local/share/doc/ngircd/Commands.txt
1.44+
1.45+ # Info text of the server. This will be shown by WHOIS and
1.46+ # LINKS requests for example. Set to the server software name and
1.47+ # version by default.
1.48+ ;Info = Server Info Text
1.49+
1.50+ # Comma separated list of IP addresses on which the server should
1.51+ # listen. Default values are:
1.52+ # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0"
1.53+ # so the server listens on all IP addresses of the system by default.
1.54+ ;Listen = 127.0.0.1,192.168.0.1
1.55+
1.56+ # Text file with the "message of the day" (MOTD). This message will
1.57+ # be shown to all users connecting to the server: Default: a built-in
1.58+ # standard path (check "ngircd --configtest").
1.59+ ;MotdFile = /usr/local/etc/ngircd.motd
1.60+
1.61+ # A simple Phrase (<127 chars) if you don't want to use a motd file.
1.62+ ;MotdPhrase = "Hello world!"
1.63+
1.64+ # The name of the IRC network to which this server belongs. This name
1.65+ # is optional, should only contain ASCII characters, and can't contain
1.66+ # spaces. It is only used to inform clients. The default is empty,
1.67+ # so no network name is announced to clients.
1.68+ ;Network = aIRCnetwork
1.69+
1.70+ # Global password for all users needed to connect to the server.
1.71+ # (Default: not set)
1.72+ ;Password = abc
1.73+
1.74+ # This tells ngIRCd to write its current process ID to a file.
1.75+ # Note that the pidfile is written AFTER chroot and switching the
1.76+ # user ID, e.g. the directory the pidfile resides in must be
1.77+ # writable by the ngIRCd user and exist in the chroot directory.
1.78+ ;PidFile = /var/run/ngircd/ngircd.pid
1.79+
1.80+ # Ports on which the server should listen. There may be more than
1.81+ # one port, separated with ",". (Default: 6667)
1.82+ ;Ports = 6667, 6668, 6669
1.83+
1.84+ # Group ID under which the ngIRCd should run; you can use the name
1.85+ # of the group or the numerical ID. ATTENTION: For this to work the
1.86+ # server must have been started with root privileges!
1.87+ ;ServerGID = 65534
1.88+
1.89+ # User ID under which the server should run; you can use the name
1.90+ # of the user or the numerical ID. ATTENTION: For this to work the
1.91+ # server must have been started with root privileges! In addition,
1.92+ # the configuration and MOTD files must be readable by this user,
1.93+ # otherwise RESTART and REHASH won't work!
1.94+ ;ServerUID = 65534
1.95+
1.96+[Limits]
1.97+ # Define some limits and timeouts for this ngIRCd instance. Default
1.98+ # values should be safe, but it is wise to double-check :-)
1.99+
1.100+ # The server tries every <ConnectRetry> seconds to establish a link
1.101+ # to not yet (or no longer) connected servers.
1.102+ ;ConnectRetry = 60
1.103+
1.104+ # Number of seconds after which the whole daemon should shutdown when
1.105+ # no connections are left active after handling at least one client
1.106+ # (0: never, which is the default).
1.107+ # This can be useful for testing or when ngIRCd is started using
1.108+ # "socket activation" with systemd(8), for example.
1.109+ ;IdleTimeout = 0
1.110+
1.111+ # Maximum number of simultaneous in- and outbound connections the
1.112+ # server is allowed to accept (0: unlimited):
1.113+ ;MaxConnections = 0
1.114+
1.115+ # Maximum number of simultaneous connections from a single IP address
1.116+ # the server will accept (0: unlimited):
1.117+ ;MaxConnectionsIP = 5
1.118+
1.119+ # Maximum number of channels a user can be member of (0: no limit):
1.120+ ;MaxJoins = 10
1.121+
1.122+ # Maximum length of an user nickname (Default: 9, as in RFC 2812).
1.123+ # Please note that all servers in an IRC network MUST use the same
1.124+ # maximum nickname length!
1.125+ ;MaxNickLength = 9
1.126+
1.127+ # Maximum penalty time increase in seconds, per penalty event. Set to -1
1.128+ # for no limit (the default), 0 to disable penalties altogether. The
1.129+ # daemon doesn't use penalty increases higher than 2 seconds during
1.130+ # normal operation, so values greater than 1 rarely make sense.
1.131+ ;MaxPenaltyTime = -1
1.132+
1.133+ # Maximum number of channels returned in response to a /list
1.134+ # command (0: unlimited):
1.135+ ;MaxListSize = 100
1.136+
1.137+ # After <PingTimeout> seconds of inactivity the server will send a
1.138+ # PING to the peer to test whether it is alive or not.
1.139+ ;PingTimeout = 120
1.140+
1.141+ # If a client fails to answer a PING with a PONG within <PongTimeout>
1.142+ # seconds, it will be disconnected by the server.
1.143+ ;PongTimeout = 20
1.144+
1.145+[Options]
1.146+ # Optional features and configuration options to further tweak the
1.147+ # behavior of ngIRCd. If you want to get started quickly, you most
1.148+ # probably don't have to make changes here -- they are all optional.
1.149+
1.150+ # List of allowed channel types (channel prefixes) for newly created
1.151+ # channels on the local server. By default, all supported channel
1.152+ # types are allowed. Set this variable to the empty string to disallow
1.153+ # creation of new channels by local clients at all.
1.154+ ;AllowedChannelTypes = #&+
1.155+
1.156+ # Are remote IRC operators allowed to control this server, e.g.
1.157+ # use commands like CONNECT, SQUIT, DIE, ...?
1.158+ ;AllowRemoteOper = no
1.159+
1.160+ # A directory to chroot in when everything is initialized. It
1.161+ # doesn't need to be populated if ngIRCd is compiled as a static
1.162+ # binary. By default ngIRCd won't use the chroot() feature.
1.163+ # ATTENTION: For this to work the server must have been started
1.164+ # with root privileges!
1.165+ ;ChrootDir = /var/empty
1.166+
1.167+ # Set this hostname for every client instead of the real one.
1.168+ # Use %x to add the hashed value of the original hostname.
1.169+ ;CloakHost = cloaked.host
1.170+
1.171+ # Use this hostname for hostname cloaking on clients that have the
1.172+ # user mode "+x" set, instead of the name of the server.
1.173+ # Use %x to add the hashed value of the original hostname.
1.174+ ;CloakHostModeX = cloaked.user
1.175+
1.176+ # The Salt for cloaked hostname hashing. When undefined a random
1.177+ # hash is generated after each server start.
1.178+ ;CloakHostSalt = abcdefghijklmnopqrstuvwxyz
1.179+
1.180+ # Set every clients' user name to their nickname
1.181+ ;CloakUserToNick = yes
1.182+
1.183+ # Try to connect to other IRC servers using IPv4 and IPv6, if possible.
1.184+ ;ConnectIPv6 = yes
1.185+ ;ConnectIPv4 = yes
1.186+
1.187+ # Default user mode(s) to set on new local clients. Please note that
1.188+ # only modes can be set that the client could set using regular MODE
1.189+ # commands, you can't set "a" (away) for example! Default: none.
1.190+ ;DefaultUserModes = i
1.191+
1.192+ # Do DNS lookups when a client connects to the server.
1.193+ ;DNS = yes
1.194+
1.195+ # Do IDENT lookups if ngIRCd has been compiled with support for it.
1.196+ # Users identified using IDENT are registered without the "~" character
1.197+ # prepended to their user name.
1.198+ ;Ident = yes
1.199+
1.200+ # Directory containing configuration snippets (*.conf), that should
1.201+ # be read in after parsing this configuration file.
1.202+ # Default: a built-in directory name when no configuration file was
1.203+ # explicitly given on the command line (check "ngircd --configtest"),
1.204+ # none (empty) otherwise.
1.205+ ;IncludeDir = /usr/local/etc/conf.d
1.206+
1.207+ # Enhance user privacy slightly (useful for IRC server on TOR or I2P)
1.208+ # by censoring some information like idle time, logon time, etc.
1.209+ ;MorePrivacy = no
1.210+
1.211+ # Normally ngIRCd doesn't send any messages to a client until it is
1.212+ # registered. Enable this option to let the daemon send "NOTICE *"
1.213+ # messages to clients while connecting.
1.214+ ;NoticeBeforeRegistration = no
1.215+
1.216+ # Should IRC Operators be allowed to use the MODE command even if
1.217+ # they are not(!) channel-operators?
1.218+ ;OperCanUseMode = no
1.219+
1.220+ # Should IRC Operators get AutoOp (+o) in persistent (+P) channels?
1.221+ ;OperChanPAutoOp = yes
1.222+
1.223+ # Mask IRC Operator mode requests as if they were coming from the
1.224+ # server? (This is a compatibility hack for ircd-irc2 servers)
1.225+ ;OperServerMode = no
1.226+
1.227+ # Use PAM if ngIRCd has been compiled with support for it.
1.228+ # Users identified using PAM are registered without the "~" character
1.229+ # prepended to their user name.
1.230+ ;PAM = yes
1.231+
1.232+ # When PAM is enabled, all clients are required to be authenticated
1.233+ # using PAM; connecting to the server without successful PAM
1.234+ # authentication isn't possible.
1.235+ # If this option is set, clients not sending a password are still
1.236+ # allowed to connect: they won't become "identified" and keep the "~"
1.237+ # character prepended to their supplied user name.
1.238+ # Please note: To make some use of this behavior, it most probably
1.239+ # isn't useful to enable "Ident", "PAM" and "PAMIsOptional" at the
1.240+ # same time, because you wouldn't be able to distinguish between
1.241+ # Ident'ified and PAM-authenticated users: both don't have a "~"
1.242+ # character prepended to their respective user names!
1.243+ ;PAMIsOptional = no
1.244+
1.245+ # When PAM is enabled, this value determines the used PAM
1.246+ # configuration.
1.247+ # This setting allows to run multiple ngIRCd instances with
1.248+ # different PAM configurations on each instance.
1.249+ # If you set it to "ngircd-foo", PAM will use
1.250+ # /etc/pam.d/ngircd-foo instead of the default
1.251+ # /etc/pam.d/ngircd.
1.252+ ;PAMServiceName = ngircd
1.253+
1.254+ # Let ngIRCd send an "authentication PING" when a new client connects,
1.255+ # and register this client only after receiving the corresponding
1.256+ # "PONG" reply.
1.257+ ;RequireAuthPing = no
1.258+
1.259+ # Silently drop all incoming CTCP requests.
1.260+ ;ScrubCTCP = no
1.261+
1.262+ # Syslog "facility" to which ngIRCd should send log messages.
1.263+ # Possible values are system dependent, but most probably auth, daemon,
1.264+ # user and local1 through local7 are possible values; see syslog(3).
1.265+ # Default is "local5" for historical reasons, you probably want to
1.266+ # change this to "daemon", for example.
1.267+ ;SyslogFacility = local1
1.268+
1.269+ # Password required for using the WEBIRC command used by some
1.270+ # Web-to-IRC gateways. If not set/empty, the WEBIRC command can't
1.271+ # be used. (Default: not set)
1.272+ ;WebircPassword = xyz
1.273+
1.274+;[SSL]
1.275+ # SSL-related configuration options. Please note that this section
1.276+ # is only available when ngIRCd is compiled with support for SSL!
1.277+ # So don't forget to remove the ";" above if this is the case ...
1.278+
1.279+ # SSL Trusted CA Certificates File for verifying peer certificates.
1.280+ # (Default: not set; so no certificates are trusted)
1.281+ ;CAFile = /etc/ssl/CA/cacert.pem
1.282+
1.283+ # Certificate Revocation File (for marking otherwise valid
1.284+ # certficates as invalid)
1.285+ ;CRLFile = /etc/ssl/CA/crl.pem
1.286+
1.287+ # SSL Server Key Certificate
1.288+ ;CertFile = /usr/local/etc/ssl/server-cert.pem
1.289+
1.290+ # Select cipher suites allowed for SSL/TLS connections. This defaults
1.291+ # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS).
1.292+ # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init'
1.293+ # (GnuTLS) for details.
1.294+ # For OpenSSL:
1.295+ ;CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3
1.296+ # For GnuTLS:
1.297+ ;CipherList = SECURE128:-VERS-SSL3.0
1.298+
1.299+ # Diffie-Hellman parameters
1.300+ ;DHFile = /usr/local/etc/ssl/dhparams.pem
1.301+
1.302+ # SSL Server Key
1.303+ ;KeyFile = /usr/local/etc/ssl/server-key.pem
1.304+
1.305+ # password to decrypt SSLKeyFile (OpenSSL only)
1.306+ ;KeyFilePassword = secret
1.307+
1.308+ # Additional Listen Ports that expect SSL/TLS encrypted connections
1.309+ ;Ports = 6697, 9999
1.310+
1.311+[Operator]
1.312+ # [Operator] sections are used to define IRC Operators. There may be
1.313+ # more than one [Operator] block, one for each local operator.
1.314+
1.315+ # ID of the operator (may be different of the nickname)
1.316+ ;Name = TheOper
1.317+
1.318+ # Password of the IRC operator
1.319+ ;Password = ThePwd
1.320+
1.321+ # Optional Mask from which /OPER will be accepted
1.322+ ;Mask = *!ident@somewhere.example.com
1.323+
1.324+[Operator]
1.325+ # More [Operator] sections, if you like ...
1.326+
1.327+[Server]
1.328+ # Other servers are configured in [Server] sections. If you
1.329+ # configure a port for the connection, then this ngircd tries to
1.330+ # connect to the other server on the given port; if not it waits
1.331+ # for the other server to connect.
1.332+ # There may be more than one server block, one for each server.
1.333+ #
1.334+ # Server Groups:
1.335+ # The ngIRCd allows "server groups": You can assign an "ID" to every
1.336+ # server with which you want this ngIRCd to link. If a server of a
1.337+ # group won't answer, the ngIRCd tries to connect to the next server
1.338+ # in the given group. But the ngircd never tries to connect to two
1.339+ # servers with the same group ID.
1.340+
1.341+ # IRC name of the remote server, must match the "Name" variable in
1.342+ # the [Global] section of the other server (when using ngIRCd).
1.343+ ;Name = irc2.example.net
1.344+
1.345+ # Internet host name or IP address of the peer (only required when
1.346+ # this server should establish the connection).
1.347+ ;Host = connect-to-host.example.net
1.348+
1.349+ # IP address to use as _source_ address for the connection. if
1.350+ # unspecified, ngircd will let the operating system pick an address.
1.351+ ;Bind = 10.0.0.1
1.352+
1.353+ # Port of the server to which the ngIRCd should connect. If you
1.354+ # assign no port the ngIRCd waits for incoming connections.
1.355+ ;Port = 6667
1.356+
1.357+ # Own password for the connection. This password has to be configured
1.358+ # as "PeerPassword" on the other server.
1.359+ ;MyPassword = MySecret
1.360+
1.361+ # Foreign password for this connection. This password has to be
1.362+ # configured as "MyPassword" on the other server.
1.363+ ;PeerPassword = PeerSecret
1.364+
1.365+ # Group of this server (optional)
1.366+ ;Group = 123
1.367+
1.368+ # Set the "Passive" option to "yes" if you don't want this ngIRCd to
1.369+ # connect to the configured peer (same as leaving the "Port" variable
1.370+ # empty). The advantage of this option is that you can actually
1.371+ # configure a port an use the IRC command CONNECT more easily to
1.372+ # manually connect this specific server later.
1.373+ ;Passive = no
1.374+
1.375+ # Connect to the remote server using TLS/SSL (Default: false)
1.376+ ;SSLConnect = yes
1.377+
1.378+ # Verify the TLS certificate presented by the remote server
1.379+ # (Default: yes)
1.380+ ;SSLVerify = yes
1.381+
1.382+ # Define a (case insensitive) list of masks matching nicknames that
1.383+ # should be treated as IRC services when introduced via this remote
1.384+ # server, separated by commas (",").
1.385+ # REGULAR SERVERS DON'T NEED this parameter, so leave it empty
1.386+ # (which is the default).
1.387+ # When you are connecting IRC services which mask as a IRC server
1.388+ # and which use "virtual users" to communicate with, for example
1.389+ # "NickServ" and "ChanServ", you should set this parameter to
1.390+ # something like "*Serv" or "NickServ,ChanServ,XyzServ".
1.391+ ;ServiceMask = *Serv,Global
1.392+
1.393+[Server]
1.394+ # More [Server] sections, if you like ...
1.395+
1.396+[Channel]
1.397+ # Pre-defined channels can be configured in [Channel] sections.
1.398+ # Such channels are created by the server when starting up and even
1.399+ # persist when there are no more members left.
1.400+ # Persistent channels are marked with the mode 'P', which can be set
1.401+ # and unset by IRC operators like other modes on the fly.
1.402+ # There may be more than one [Channel] block, one for each channel.
1.403+
1.404+ # Name of the channel
1.405+ ;Name = #TheName
1.406+
1.407+ # Topic for this channel
1.408+ ;Topic = a great topic
1.409+
1.410+ # Initial channel modes, as used in "MODE" commands. Modifying lists
1.411+ # (ban list, invite list, exception list) is supported.
1.412+ # This option can be specified multiple times, evaluated top to bottom.
1.413+ ;Modes = +tnk mykey +l 5
1.414+ ;Modes = +b nick!~user@bad.host.example.com
1.415+
1.416+ # Should ngIRCd automatically join ("autojoin") all users to this
1.417+ # channel on connect? Note: The users must have permissions to access
1.418+ # the channel, otherwise joining them will fail!
1.419+ ;Autojoin = yes
1.420+
1.421+ # Key file, syntax for each line: "<user>:<nick>:<key>".
1.422+ # Default: none.
1.423+ ;KeyFile = /usr/local/etc/#chan.key
1.424+
1.425+[Channel]
1.426+ # More [Channel] sections, if you like ...
1.427+
1.428+# -eof-