# ircd.conf configuration file for ircd version ircu2.10.11
include:rbl.conf
# 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:gambit.nv.us.exilenet.org::ExileNET Reno, NV US Server::6
# [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:ExileNET IRC Network:Administered by <evul@exilenet.org>:www.exilenet.org
# [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:90:90:300:1:9000000
Y:80:90:300:0:9000000
Y:30:180:0:0:4000000
# Client classes. 10 = locals; 2 = for all .net and .com that are not
# in Europe; 1 = for everybody.
Y:10:90:0:100:160000
Y:2:90:0:5:80000
Y:1:90:0:400:16000
# [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.
#
I:*::*::1
# 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 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:192.168.77.12:gUeS5whaT!:hub07.eu.undernet.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
#C:127.0.0.1:s3Krit&:Channels.ExileNET.Org::70
C:130.85.56.131:defsgS:Zeno.MD.US.ExileNET.Org:1234:90
C:130.85.56.131:defsgS:Services.ExileNET.Org:1234:80
#C:127.0.0.1:isdf43fd:Exile.ExileNET.Org:1234:80
C:127.0.0.1:sd4ewdsd:Stats.ExileNET.Org:1234:80
#C:71.41.112.202:defsgS:Stygia.FL.US.ExileNET.Org:1234:80
# [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:*.*::hub07.eu.undernet.org
H:*.*::Zeno.MD.US.ExileNET.Org
#H:*.*::Gambit.NV.US.ExileNET.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.
K:ANantes*:!klines/abusers-klined.txt:*
K:d033*:!klines/abusers-klined.txt:*
# [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:kermit@muppet.coolisp.nl:VRKLKuGKn0jLs:Kermit::30
#o:*@piglatin.coolisp.nl:eUi5trgahhTyp:MsPiggy::30
O:*@*:.nxfmnprkwyPs:evul::10
O:*@*:5lsnUYCJG6Tao:daito::30
O:*@*.alltel.net:xB4e8L1pScElY:snagz::30
O:*@*:NFT5m.TVtbGsc:rrbot::30
#O:*@*:Ip.FbkAUZK4Ik:jeed::30
#O:*@*:.rBrvdi.6RTig:bnc::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"
B:X:X@Channels.ExileNET.Org:*
B:AUTH:NickServ@services.exilenet.org:"AUTH"
B:NS:NickServ@services.exilenet.org:*
B:OS:Opserv@services.exilenet.org:*
# [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:::C:6666
P:::C:6668
P:::C:6669
P:::C:6667
# A hidden port for hubs to connect on, on a different interface
P:::SH:1234
# A restricted port for staff only
P:::E:7000
# [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
#R:*.ntl.com:uk.exilenet.org:6667
#R:*.co.uk:uk.exilenet.org:6667
#R:*.net.uk:uk.exilenet.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?!"
# [X:lines]
#
# This allows you (the admin) to prevent clients connecting who are listed
# on DNS blacklists. Their connection will be rejected during the connection
# process along with the name and url you give for the DNSBL they have
# been matched on.
#
# X:<dnsbl.site.org>:"<name>":<flags>:<replies/mask>:"<rejection message>"
#
#
# Flags:
#
# Bitmask DNSBL: b - See your DNSBL provider as to if you should use this or not.
# Reply DNSBL: r - See your DNSBL provider as to if you should use this or not, this
# type is normally the default type for most DNSBL's.
# Allow Connect: a - Allow the client to connect anyway. This could be used with a
# DNSBL whitelist. This could also be used to allow people in but
# mark their hosts so that channel ops can choose weather they want
# them in thier channel or not.
# Mark Hostname: m - Mark the hostname of a skipped client.
#
#
# The name option is used for the Mark hostname flag, this must contain hostname
# valid characters only, ie NO spaces. With REPLY DNSBL's you need to list the
# replies in a comma seperate list. See below for an example. With BITMASK DNSBL's
# just again specify the replies you need to match against. The server will sum
# them up and match them against the DNSBL reply. It is highly recomended that
# you place the rejection message in "quotes". Rejection messages are limited
# in length, currently they cant be all that long but that is being worked on. The
# rejected users nick, username, ip, and host can be placed into the rejection
# message by using these codes:
#
# %n - Nickname
# %u - Username
# %h - Hostname
# %i - IP Address
#
# Example:
#
#
# This will reject clients who get a return addresses of 1,3 and 4 off
# dnsbl.sorbs.net. Sample rejection message:
#
# "bloggs!someident@google.com Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=111.222.111.222"
#
# BITMASK Example:
#
# X:dnsbl.dnsbl.net:"dnsbl.net":b:1,3,5:"%n!%u@%h Found On DNSBL"
#
# I reccomend you take advantage of ircd.conf includes and list your X:Lines in
# a seperate file as it could be quite a large list.
#
# Notes: MAKE SURE you read the DNSBL website before you go ahead and use it
# as they may have rules for large sites/servers who use them. If you do not
# wish to use DNSBL checking then simply do not set any X:lines. I only
# reccomend that you use one DNSBL, due to the amount of time it will take to
# connect with multiple DNSBL's.
# [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:LOG:SYSTEM:FILE:ircd.log
F:NICKLEN:21
#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:1234
#F:NODEFAULTMOTD:TRUE
#F:MOTD_BANNER
#F:KILL_IPMISMATCH:FALSE
#F:IDLE_FROM_MSG:TRUE
F:HUB:TRUE
#F:WALLOPS_OPER_ONLY:FALSE
#F:NODNS:FALSE
F:RANDOM_SEED:siJjdixjsd89
#F:DEFAULT_LIST_PARAM
F:NICKNAMEHISTORYLENGTH:800
F:HOST_HIDING:TRUE
F:HOST_HIDING_STYLE:2
F:OPERHOST_HIDING:TRUE
F:HIDDEN_HOST:users.exilenet.org
F:HIDDEN_OPERHOST:opers.exilenet.org
F:HIDDEN_IP:127.0.0.1
F:DEFAULT_FAKEHOST:"users.exilenet.org"
F:DEFAULT_UMODE:"+x"
#F:AUTOHIDE:TRUE
F:CONNEXIT_NOTICES:TRUE
#F:KILLCHASETIMELIMIT:30
#F:MAXCHANNELSPERUSER:10
#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:HOST_IN_TOPIC:TRUE
#F:TOS_SERVER:0x08
#F:TOS_CLIENT:0x08
#F:POLLS_PER_LOOP:200
#F:IRCD_RES_TIMEOUTS:4
#F:IRCD_RES_RETRIES:2
F:CRYPT_OPER_PASSWORD:TRUE
F:OPER_NO_CHAN_LIMIT:TRUE
F:OPER_MODE_LCHAN:TRUE
F:OPER_WALK_THROUGH_LMODES:FALSE
#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:TRUE
F:OPERFLAGS:TRUE
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: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_IRCOPS:FALSE
#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:EXTENDED_ACCOUNTS:TRUE
F:HIS_SERVERNAME:"*.exilenet.org"
F:HIS_SERVERINFO:"ExileNET IRC Network"
#F:HIS_URLSERVERS:"http://www.undernet.org/servers.php"
F:NETWORK:"ExileNET"
#F:URL_CLIENTS:"ftp://ftp.undernet.org/pub/irc/clients"
F:LOGIN_ON_CONNECT:TRUE
F:LOC_DEFAULT_SERVICE:NickServ
F:LOG:DNSBL:FILE:rbl.log
F:LOG:DNSBL:LEVEL:INFO
F:DNSBL_LOC_EXEMPT:TRUE
F:DNSBL_LOC_EXEMPT_N_ONE:"If you do not have a NickServ account, please create one"
F:DNSBL_LOC_EXEMPT_N_TWO:"Type '/QUOTE PASS /username/password' to connect, using your NickServ account"
F:DNSBL_CHECKS:TRUE
F:DNSBL_EXEMPT_CLASS:0
#F:AUTH_TIMEOUT:6
F:HIS_URLSERVERS:"http://www.exilenet.org/index.php?page=servers"
# 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.