Public feed
#894141
# ircd.conf configuration file for ircd version ircu2.10.11
# Last Updated: August 6, 2002.
#
# Written by Sengaia <sengaia@undernet.org>, based on the original
# example.conf by Niels and Braden.
#
# All options start with a letter identifying the option, and a colon
# separated list of options. Unused fields should be left blank.
#
# This sample configuration file serves only to illustrate the use and
# syntax of the options available, it should *never* be used to start
# an ircu server with!
#
# All options given can be changed while the server is running by sending
# a HUP signal to ircu or the /REHASH command, except where noted.
#
# If your server is a member of a network, chances are that there are some
# configuration lines that need to be synchronized across all servers;
# prime candidates being U:, Q: and possibly a subset of F: and K: lines.
# The linesync script provided in the tools/linesync directory allows you
# to centrally manage and update such a subset of configuration lines.
#
# [M:line]
#
# The M: line defines the identity of your server.
# M:<server name>:<virtual host>:<description>::<numeric>
# <server name> The name of your server
# <virtual host> The IP address used by your server to initiate
# outgoing connections: server-to-server links and
# identd checks.
# <description> A short description of your server
# <numeric> A numeric that identifies your server on the
# network. It is used in server-server communication
# only and *MUST* be unique.
# - The M: line is required.
#
# Notes:
# - The <virtual host> field has nothing to do with the addresses
# and ports on which ircu will accept connections, those are
# defined in P: lines, later on.
# - If you have CFV-165-based information hiding enabled, the content
# of the <description> field will not be shown in /whois output.
# - The configuration parameters in the M: line cannot be updated
# by rehashing the server, a restart is required to make changes
# take effect.
#
# Example:
M:Turda.Ro.Eu.VerseNet.org:127.0.0.1:The New World::1
# [A:line]
# Administrative information about the server
# A:<line 1>:<line 2>:<line 3>
# <line 1-3> Three lines of text containing administrative information.
# - The A: line is not required, but highly recommended.
#
# The contents of the A: line is returned when the /ADMIN command is
# issued. It should at least contain an admin email address, but can also
# contain information such as a company/network name and/or URL.
#
# Example:
A:Turda.Ro.Eu.VerseNet.org:Administered by <sebby2oo7@yahoo.com>:Www.InCaNUam.ro
# [Y:lines]
# Defines connection classes
# Y:<class>:<ping frequency>:<connect frequency>:<maximum links>:<maximum sendq>
# <class> A number uniquely identifying this class
# <ping freq> Frequency in seconds at which the server will send keep-alive
# PINGs to the connected client/server.
# <conn. freq> Seconds between connection attempts, for server classes.
# <max links> Maximum number of allowed connections in this class,
# <max sendq> Maximum amount of data in bytes that can be backlogged for
# this connection on the server before the connection gets closed.
# - Y: lines are not a legal requirement but a practical necessity.
#
# All connections on your server (both clients and servers) belong to a
# class, a class defines certain parameters applying to the connection,
# described below.
#
# In general, you will want separate classes for leafs, hubs and a number
# of classes for clients to connect into. The number of classes to use
# for clients depends entirely on the policy you wish to use. Use I lines
# to filter clients into classes; this allows you to set a policy
# governing how many clients from given networks can connect to your
# server.
#
# For server classes, the meaning of <maximum links> is different:
# Server classes are all classes that are included in C: lines (see
# below). For server classes, ircu will keep trying to connect to the
# servers in a given class until the class contains <maximum links>
# connections. In practice this means that on leafs you want to set it to
# 1, and on hubs to 0. Any other values may cause very interesting yet
# entirely undesirable situations.
#
# Examples:
# (Leaf) A class for the uplink to a hub
# The maximum size of the sendq depends mostly on the size of your network
Y:70:120:300:1:1000000
Y:1:120:300:1:1000000
# (Hub) A class for European leafs to connect to
Y:80:120:300:0:1000000
# (Hub) A class for other hubs to connect to
Y:90:120:300:0:1500000
# (Leaf) A fallback class for any clients that are not filtered into
#another class.
Y:10:90:0:2000:32768
# (Leaf) A class for very welcome clients (customers, for example)
Y:20:90:0:4000:65536
# (Leaf) A class that will allow only a limited number of connections
Y:30:90:0:250:32768
# (Leaf) A class for all "local" (Dutch) clients
Y:40:90:0:2000:32768
# (Leaf) A class for all "less local" (European) clients
Y:50:90:0:1500:32768
# (Leaf) A class for all "foreign" (overseas) clients
Y:60:90:0:1000:32768
# [I:lines]
# Authorizes clients and filters them into classes
# I:<address/hostmask>:<password/limit>:<hostmask>::<class>
# <IP mask> An IP address mask
# <pass/limit> Password or connection limit.
# <hostmask> Hostmask
# <class> The class (defined by Y: line) for this connection
# - I: lines are not a legal requirement but a practical necessity.
#
# Notes:
# - The following wildcard characters are allowed in both IP and
# hostname mask fields: * and ?
# - Both the IP and host mask fields can contain a userid@ field,
# which will match a given username. Note that a userid field will
# only be matched if an identd reply is received.
# - The word 'Resolved' in the <IP mask> field will match any
# address for which a resolved hostname could be found.
# - The word 'Unresolved' in the <IP mask> field will match any
# address for which no resolved hostname could be found.
# - The <password> field is optional and can be left empty for no
# password, when a password is specified it must be in plain text.
# - If the <password/limit> field contains a digit, that number
# will be the maximum allowed number of concurrent connections
# *to the entire network* that match the given I: line.
# - I: lines with an empty IP or host mask field are ignored.
# - The first I: line that matches will be used.
# - I: lines are processed in reverse order as they appear in your
# ircd.conf; therefore list the lesser specific I: lines before
# any more specific ones.
#
# Incoming client connections are matched with I: lines according to the
# following algorithm:
# 1) Do a reverse and forward lookup on the client's IP address
# 2) if (1) results in a hostname, try to match it to any I: line that
# contains a hostmask.
# 3) If (1) does not return a hostname or (2) fails, try to match the IP
# address to any I: line containing an IP address mask.
# 4) If no I: line matches, the connection is denied.
#
# The following two I: lines are fallback entries - they will match any
# connection that is not matched by other I: lines.
# Unresolved connections - 1 client per address, in class 10
I:*@*:1:Unresolved::10
# Resolved connections
I:Resolved::*@*::10
# All American ISP's go in the "overseas" class:
I:Resolved::*@*.com::60
I:Resolved::*@*.net::60
# Catch all local networks with "overseas" domain names
I:Resolved::*@*.wirehub.net::40
I:Resolved::*@*.NL.net::40
I:Resolved::*@*.casema.net::40
# Catch other European TLD's into the "European" class:
I:Resolved::*@*.be::50
I:Resolved::*@*.de::50
I:Resolved::*@*.fr::50
I:Resolved::*@*.uk::50
# etc...
# Clients matching these lines are limited to 1 connection per address
I:Resolved:1:*@*.compuserve.com::60
I:Resolved:1:*@dial??.*::1
# Lines for privileged clients, i.e. ourselves and friends ;)
I:Resolved::*@.office.coolisp.nl::30
I:Resolved::*@impressive.hostname.com::30
# [T:lines]
# Display customized MOTD's depending on client's class or hostname
# T:<hostmask|class>:<motd-file>
# <host|class> A hostmask or class number
# <motd-file> Patch to a file containing a MOTD
# - T: lines are not required
#
# Notes:
# - Filenames given are relative to "DPATH" (see ./configure)
#
# Examples:
#
# A T: line to inform overseas clients they may be better off connecting
# to an American server.
T:60:overseas.motd
# Tell Swedish clients they should connect to irc.bork-bork-bork.org
T:*.se:bork-bork-bork.motd
# [U:lines]
# Define services servers and juped nicknames
# U:<server>:<juped-nicks>:*
# <server> Name of a services server
# <juped-nicks> Comma separated list of juped nicks
# - U: lines are required when you run services (i.e., gnuworld)
#
# Notes:
# - No more than 4 juped nicknames per line
# - U: lines must have no trailing spaces or bad things will happen.
# - Server names must be full names, they cannot be wildcarded
# - The trailing :* is mandatory
# - All servers on your network must have the same U: lines
#
# Background: Services servers, which usually provide channel and/or
# operator services are able to change arbitrary modes in channels. In
# order for them to be able to do this they generate server-to-server
# messages that are usually disallowed and will be rejected by other
# servers. Such messages will be accepted only if they originate from
# U:lined servers.
#
# Examples:
#
U:services.NetChat.org:euworld,X,W,E:*
U:services2.NetChat.org:uworld,COM1,COM2,COM3:*
U:opers.NetChat.org:LPT1,LPT2,login,Undernet:*
# [K:lines]
# Ban clients from your server
# K:<mask>:<"reason">:<username>
# <mask> A hostname or IP mask
# <reason> The reason the client(s) is/are banned
# <username> Client's username username
# - K: lines are not mandatory
#
# Notes:
# - Put quotes "around the reason"
# - If the first character of the reason field is a '!', the remainder of
# the field is interpreted as a filename pointing to a file containing
# the reason the client is banned.
# - If no reason is given, the following default reason will be used: "You
# are banned from this server"
# - The username field is matched only if the client has returned an
# identd reply.
# - Use a lowercase k: line to force a match on the client's IP address,
# regardless of whether or not the client's address was resolved.
# - Prefix the <mask> field with '$R' to force a match on the client's
# "real name", which is very handy for banning clonebots.
# - K: lines apply to your server only, they have no effect on a client's
# ability (or lack thereof) of being able to connect to another server.
#
# Examples:
#
# Ban all clients from the UK, telling them to use their local server
#K:*.uk:"Please use a closer server":*
# Ban the address space used by a provider that refuses to handle abuse
# complaints, show client instructions on what to from a file.
K:*.abusers.net:!klines/abusers-klined.txt:*
# Ban the same ISP's IP addresses too, in case they don't resolve
#k:172.16.*:!klines/abusers-klined.txt:*
# Ban well-know floodbots based on their realname field
K:$R*sub7*:"You are infected with a Trojan":*
# [C:lines]
# Connect your server to other servers
# C:<host|ip>:<password>:<remote-server>:<port>:<class>
# <host|ip> Hostname or IP address of the remote server
# <password> Connection password
# <rem-server> Name of the remote server
# <port> Port to connect to on the remote server
# <class> Class to be used for this connection
# - C: lines are not required, but necessary to connect to other servers.
#
# Notes:
# - The IP address listed in the <virtual host> field of the M: line will
# be used to initiate the connection.
# - The password must be in plain text
# - The remote server needs a matching (mirrored) C: line for a connection
# to be successfully established.
# - The class given needs to have an adequate maximum sendq for the net
# burst to be processed upon connecting; for hubs it needs to be set
# higher than for leafs.
# - If a port number is given, the server will automatically try to
# establish a connection to the remote server, unless it is already
# linked. If a port number is omitted, no connection will be attempted
# automatically. In practice this means you will want to set a port
# number on leafs, and leave it out on hubs.
#
# Examples:
# (Leaf) uplink to a hub
#C:127.0.0.1:sebby:services.Netchat.org:4400:70
# (Hub) C: line for a leaf server
#C:192.168.19.07:gUeS5whaT!:Amsterdam.NL.eu.undernet.org::80
# (Hub) a C: line for another hub
#C:172.16.19.94:s3Krit&:hub34.us.undernet.org::90
# [H:lines]
# Defines what servers allowed to be hubs
# H:<mask>::<server-name>
# <mask> A mask defining what servers the given hub is allowed to hub.
# <server-name> Name of a hub server
# - H: lines are not required, but needed in a multi-server network.
#
# Notes:
# - The H: lines allows the server <server-name> to "introduce" all
# servers matching <mask> to our server.
# - Currently, the <mask> functionality is broken and in effect, any
# server listed in a H: line is allowed to introduce any other server.
# - You need H: lines for all hubs your server will connect to.
#
# Example:
H:*.*::services.netchat.org
# [D:lines]
# Specify server-to-server connection policies.
#
# D: and d: lines allow you to set pretty fine-grained policies with
# regard to the routing on an IRC network. For a complete description and
# examples of D: lines, see the readme.crules file.
# [O:lines]
# Grant operator status to users
# O:<host|ip mask>:<password>:<nick>::<class>
# o:<host|ip mask>:<password>:<nick>::<class>
# <host|ip> A hostname or IP address mask required for the O: line
# <password> An encrypted password
# <nick> Nickname required to oper up
# <class> A connection class
# - O: lines are not required
#
# Notes:
# - Use the tools/mkpasswd tool to encrypt passwords
# - Choose safe passwords
# - Make the <host|ip> mask as narrowly matching as possible
#
# O: lines with a capital O are global operators, their privileges apply
# to all servers on a given network. o: lines with a lowercase o are local
# o: lines, their privileges apply to your local server only.
#
# In general, most of the tasks originally bequeathed upon IRC operators
# have been automated by channel services, auto-glining service bots,
# proxy scanners, etc. This means that, contrary to popular belief, having
# many operators on your server is not a cool badge of honor, but rather
# a token of your inability to properly manage your server and/or network.
#
# Less is more. Choose your operators sparingly and carefully.
#
# Examples:
O:*@*:sebby:sebby::30
#o:*@piglatin.coolisp.nl:eUi5trgahhTyp:MsPiggy::30
# [S:lines]
#
# S:<spoof host>:<password>:<*.host.cc|a.b.c.*|CIDR>:<ident>
# <spoof host> A hostname to be spoofed
# <password> A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask> A hostmask for matching against users that are to be auto
# spoofed. Used if SETHOST_AUTO is enabled. Can be of form:
# host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards
# for non-CIDR.
# <ident> A mask for matching against the user's ident reply.
#
# Oper sethost for 'moo.fish.moo'
#S:moo.fish.moo:::
# User & Oper sethost for 'moo.fish.moo'
#S:moo.fish.moo:elitepassword::
# Oper sethost for 'moo.fish.moo' with auto on 'ident@*.example.com"
#S:moo.fish.moo::*.example.com:ident
# Oper sethost for 'moo.fish.moo' with auto on 'user*@*.example.com"
#S:moo.fish.moo::*.example.com:user*
# [B:lines]
# These are lines intended to improve the generic irc users ability to
# use network services. Each line sets up a /<service> alias so that
# users may type that instead of a full /msg command.
#
# for example.. adding:
## B:X2:X2@X2.AfterNET.Services:*
# would result in commands like this being possible
## /X2 HELP
#
# B:<name of command/service>:<target>:<anything to prepend to message>
#
# B:X2:X2@X2.AfterNET.Services:*
# B:AUTH:AuthServ@OperServ.AfterNET.Services:"AUTH"
# [P:lines]
# Defines listening ports and the type(s) of connections they will accept.
# P:<IP-mask>:<address>:<status>:<port>
# <IP-mask> An IP address mask specifying what addresses can connect to
# this port.
# <address> A local IP address that ircu should bind this port to.
# <status> Defines what types of connections are allowed to this port,
# <status> can be either or both of 'C' for clients, or 'S'
# for servers. Optionally a trailing 'H' can be specified,
# denoting that this port is hidden (will not show up in /STATS P).
# An 'E' can be specified for encrypted ssl connections.
# If the 'H' flag is used, it must be the last character listed.
# <port> A port number to listen on, this must be greater than 1024.
# - P: lines are required to connect any server or client to your server.
#
# - If <address> is not specified, your system's default address is used.
# - If <address> is invalid or not a local address, ircu will bind to all
# interfaces on your system.
#
# Examples:
# The default port clients connect on
P::127.0.0.1:C:6666
P:::C:6667
P:::C:6668
# A hidden port for hubs to connect on, on a different interface
P:192.168.10.12:SH:4400
# A restricted port for staff only
P:127.0.0.*:127.0.0.11:C:6000
# [R:lines]
#
# These are redirection lines, when a client connects and his/her host
# matches a q:line then a 010 reply is sent with the redir server and
# port. Currently only epic supports a autoredirection when it gets a
# 010 reply (ie it will automatically connect to the server said in the
# 010 reply. Other clients will get a message saying what server and
# port to connect to. Aswell as a unauthorised connection quit.
#
# R:<mask>:<redirection server>:<redirection port>
#
# R:*.aol.com:irc.aol.com:6667
# R:*.us:us.undernet.org:6667
# R:*.nz:nz.undernet.org:6667
# [Q:lines]
# Prohibit local operators from setting/clearing modes on a channel.
# Q:<channel>:<"reason">
# <channel> A channel name
# <"reason"> The reason why this channel should not be touched.
# - Q: lines are not required
#
# Notes:
# - Since the # character denotes a comment, you must escape it
# with a \ character
# - Put your reason "in quotes".
# - Q: lines apply to operators on your server only, they have no
# network-wide effect, which is why they should be synchronized
# across servers.
# - Operators can overrule Q: lines by prepending a '!' to the
# channel name.
#
# Examples:
#Q:\#abusers:"These abusers need to learn to fend for themselves."
#Q:\#coder-com:"What the hell do you think you are doing?!"
# [F:lines]
# Set features on your server
# F:<feature>:<value>
# <feature> The name of a feature (in capitals)
# <value> The value to be assigned to the feature
# - F: lines are not required.
#
# Previous versions of ircu required you to define a lot of settings at
# compile time; beginning with version 2.10.11 all of these and more can
# now be set in ircd.conf via F: lines. The values of these variables can
# be retrieved and set via IRC through the /GET and /SET commands.
#
# For a complete description of features, and how to set them, see the
# doc/readme.features file.
#
# Listed below are all possible F: lines, with their default values.
#
#F:DOMAINNAME:<obtained from /etc/resolv.conf by ./configure>
#F:RELIABLE_CLOCK:FALSE
#F:BUFFERPOOL:27000000
#F:HAS_FERGUSON_FLUSHER:FALSE
F:CLIENT_FLOOD:1024
#F:SERVER_PORT:4400
#F:NODEFAULTMOTD:TRUE
F:MOTD_BANNER
#F:KILL_IPMISMATCH:FALSE
#F:IDLE_FROM_MSG:TRUE
#F:HUB:FALSE
#F:WALLOPS_OPER_ONLY:FALSE
#F:NODNS:FALSE
#F:RANDOM_SEED:<you should set one explicitly>
#F:DEFAULT_LIST_PARAM
#F:NICKNAMEHISTORYLENGTH:800
F:HOST_HIDING:TRUE
F:OPERHOST_HIDING:TRUE
F:HIDDEN_HOST:users.VerseNet.org
#F:HIDDEN_OPERHOST:opers.undernet.org
#F:HIDDEN_IP:127.0.0.1
##F:AUTOHIDE:TRUE
#F:CONNEXIT_NOTICES:FALSE
#F:KILLCHASETIMELIMIT:30
F:MAXCHANNELSPERUSER:15
#F:AVBANLEN:40
#F:MAXBANS:30
#F:MAXSILES:15
#F:HANGONGOODLINK:300
#F:HANGONRETRYDELAY:10
#F:CONNECTTIMEOUT:90
#F:TIMESEC:60
#F:MAXIMUM_LINKS:1
#F:PINGFREQUENCY:120
#F:CONNECTFREQUENCY:600
#F:DEFAULTMAXSENDQLENGTH:40000
#F:GLINEMAXUSERCOUNT:20
#F:MPATH:ircd.motd
#F:RPATH:remote.motd
#F:PPATH:ircd.pid
#F:VIRTUAL_HOST:FALSE
#F:TOS_SERVER:0x08
#F:TOS_CLIENT:0x08
#F:POLLS_PER_LOOP:200
#F:IRCD_RES_TIMEOUTS:4
#F:IRCD_RES_RETRIES:2
#F:AUTH_TIMEOUT:9
#F:CRYPT_OPER_PASSWORD:TRUE
F:OPER_NO_CHAN_LIMIT:TRUE
#F:OPER_MODE_LCHAN:TRUE
#F:OPER_WALK_THROUGH_LMODES:FAL
#F:NO_OPER_DEOP_LCHAN:FALSE
#F:SHOW_INVISIBLE_USERS:TRUE
#F:SHOW_ALL_INVISIBLE_USERS:TRUE
#F:UNLIMIT_OPER_QUERY:FALSE
#F:LOCAL_KILL_ONLY:FALSE
#F:CONFIG_OPERCMDS:FALSE
#F:TOPIC_BURST:TRUE
#F:LOCAL_CHANNELS:TRUE
#F:SETHOST:TRUE
#F:SETHOST_USER:TRUE
#F:SETHOST_AUTO:TRUE
#F:SETHOST_FREEFORM:FALSE
#F:OPER_KILL:TRUE
#F:OPER_REHASH:TRUE
#F:OPER_RESTART:TRUE
#F:OPER_DIE:TRUE
#F:OPER_GLINE:TRUE
#F:OPER_LGLINE:TRUE
F:OPER_JUPE:TRUE
F:OPER_LJUPE:TRUE
#F:OPER_OPMODE:TRUE
#F:OPER_LOPMODE:TRUE
#F:OPER_FORCE_OPMODE:TRUE
#F:OPER_FORCE_LOPMODE:TRUE
#F:OPER_BADCHAN:FALSE
#F:OPER_LBADCHAN:FALSE
#F:OPER_SET:FALSE
F:OPERS_SEE_IN_SECRET_CHANNELS:TRUE
#F:OPER_WIDE_GLINE:TRUE
#F:LOCOP_KILL:TRUE
#F:LOCOP_REHASH:TRUE
#F:LOCOP_RESTART:FALSE
#F:LOCOP_DIE:FALSE
#F:LOCOP_LGLINE:TRUE
#F:LOCOP_LJUPE:TRUE
#F:LOCOP_LOPMODE:TRUE
#F:LOCOP_FORCE_LOPMODE:TRUE
#F:LOCOP_LBADCHAN:FALSE
#F:LOCOP_SET:FALSE
#F:LOCOP_SEE_IN_SECRET_CHANNELS:FALSE
#F:LOCOP_WIDE_GLINE:FALSE
F:HIS_MAP:TRUE
F:HIS_SNOTICES:TRUE
F:HIS_SNOTICES_OPER_ONLY:TRUE
F:HIS_DESYNCS:TRUE
F:HIS_DEBUG_OPER_ONLY:TRUE
F:HIS_WALLOPS:TRUE
F:HIS_LINKS:TRUE
F:HIS_TRACE:TRUE
F:HIS_STATS_l:TRUE
F:HIS_STATS_b:TRUE
F:HIS_STATS_c:TRUE
F:HIS_STATS_g:TRUE
F:HIS_STATS_h:TRUE
F:HIS_STATS_k:TRUE
F:HIS_STATS_f:TRUE
F:HIS_STATS_i:TRUE
F:HIS_STATS_j:TRUE
F:HIS_STATS_M:TRUE
F:HIS_STATS_m:TRUE
F:HIS_STATS_o:TRUE
F:HIS_STATS_p:TRUE
F:HIS_STATS_q:TRUE
F:HIS_STATS_R:TRUE
F:HIS_STATS_r:TRUE
F:HIS_STATS_d:TRUE
F:HIS_STATS_e:TRUE
F:HIS_STATS_s:TRUE
F:HIS_STATS_t:TRUE
F:HIS_STATS_T:TRUE
F:HIS_STATS_u:FALSE
F:HIS_STATS_U:TRUE
F:HIS_STATS_v:TRUE
F:HIS_STATS_w:FALSE
F:HIS_STATS_x:TRUE
F:HIS_STATS_y:TRUE
F:HIS_STATS_z:TRUE
F:HIS_WHOIS_SERVERNAME:TRUE
F:HIS_WHOIS_IDLETIME:TRUE
F:HIS_WHOIS_LOCALCHAN:TRUE
F:HIS_WHO_SERVERNAME:TRUE
F:HIS_WHO_HOPCOUNT:TRUE
F:HIS_BANWHO:TRUE
F:HIS_KILLWHO:TRUE
F:HIS_REWRITE:TRUE
F:HIS_REMOTE:1
F:HIS_NETSPLIT:TRUE
F:HIS_GLINE:TRUE
F:HIS_SERVERNAME:"*.VerseNet.org"
F:HIS_SERVERINFO:"The New World"
#F:HIS_URLSERVERS:"http://www.undernet.org/servers.php"
#F:NETWORK:"VerseNet"
#F:URL_CLIENTS:"ftp://ftp.undernet.org/pub/irc/clients"
# That's it, you've (almost) reached the end!
#
# And now for the tricky bit: writing your own ircd.conf. For starters,
# do not take this file and edit the lines as they appear, that will
# *not* work. Usually, the network you are # connecting to will have a
# set of mandatory configuration lines, and quite likely also some
# people who can help you out when you run into trouble.
#
# Good Luck!
# Arjen (Sengaia), August 12, 2002.