Skip to content
Snippets Groups Projects
Commit bbf0e1c2 authored by Randy Sommerfeld's avatar Randy Sommerfeld
Browse files

Remove legacy ircd.conf, add default ircd.ini

parent 9bb527a4
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
# $Id: ircd.conf,v 1.13 2018/07/02 03:05:45 rswindell Exp $
#
# ircd.conf - Synchronet IRCd default configuration file by Randy Sommerfeld.
#
# *** The format of this file is very similar to that of the configuration file
# used by Bahamut and other IRC daemons out there. You should be able to
# take a Bahamut ircd.conf and allow Synchronet IRCd use it as-is, other
# configs will need a little editing, first.
#
# *** If you're new to IRC or configuring the IRCd, please read the enclosed
# comments very carefully. Wrong configuration options in this file will
# destabalize your server, or at worst crash the IRCd. You've been warned.
#
# *** Unlike the traditional ircd, which reads the configuration file from the
# bottom up, we read this file from the top down.
#
# *** This file supports some basic tokens. The supported tokens are:
#
# SYSTEM_HOST_NAME Your system hostname as defined in scfg
# SYSTEM_NAME Your BBS name as defined in scfg
# SYSTEM_QWKID Your QWKID as defined in scfg
# VERSION_NOTICE The short form Synchronet version notice
#
########## M:Line ## Required ## Compatibility: 'IP' unused
# This line configures what your server name and description are set to.
# If you're running the IRCd standalone from jsexec, you can also define what
# port it uses to accept connections on, also. If you're connecting to the
# Synchronet IRC Network, your server name must be your 'qwkid.synchro.net'
# hostname, and that host must point to the IP address that the IRCd will be
# running on.
#
# To control the interfaces the ircd binds on when running as a service, they
# need to be configured in the services.ini file. When running as a stand-alone
# script, the ircd always binds to the wildcard address (ie: all addresses).
#
# M:hostname:ip(Unused):description:port
#
M:SYSTEM_QWKID.synchro.net:*:SYSTEM_NAME:6667
#
########## A:Line ## Required ## Compatibility: FULL
# This line defines what sort of information is returned when a user uses
# the /ADMIN command. It's intended to provide some sort of useful information
# about who runs the server. By default, it'll display some information about
# your BBS. The final string MUST be a valid contact email address.
#
# A:line1:line2:contact email
#
A:SYSTEM_NAME (SYSTEM_QWKID):VERSION_NOTICE:Sysop- <sysop@SYSTEM_HOST_NAME>
#
########## Y:Line ## Suggested ## Compatibility: FULL
# Y:Lines allow you to define 'IRC classes' that are assigned to users
# and servers when they connect. It allows you to choose how long a connection
# can idle before the server sends a PING, how often your IRCd will attempt to
# auto-connect to uplink servers, the maximum number of clients allowed per
# IRC class, and the maximum 'sendq' that a user can have before they get
# disconnected for having excessive amounts of data waiting to be pushed.
#
# Y:class number:ping frequency:connect frequency:maximum links:sendq
#
#Class 1: Normal users coming in from the net
Y:1:120:0:100:1000000
#Class 2: Users coming in from the local BBS
Y:2:30:0:100:1000000
#Class 10: IRC operators
Y:10:400:0:100:2000000
#Class 30: Leaf->Hub connections
Y:30:60:300:1:15000000
#Class 40: Hub->Hub connections
Y:40:90:60:10:20000000
#Class 50: Hub->QWK Master connections
Y:50:90:60:1:20000000
#
########## I:Line ## Required ## Compatibility: FULL
# When a regular user connects, the IRCd will match them against this
# list of I:Lines until it finds a match. The IRCd will stop searching when it
# finds a match, so you'll want to list your most exclusive lines first, and
# then the most generic line last. You may also define that a particular
# password be required to connect for certain hosts, or that they connect to
# a particular port. Matching users will be thrown into a particular IRC
# class as defined by the above Y:Lines.
#
# I:ip mask:password:hostmask:port:irc class
#
#BBS users
I:*@127.0.0.1::*@SYSTEM_QWKID.synchro.net::2
#everyone else
I:*@*::*@*::1
#
########## O:Line ## Optional ## Compatibility: EXTENDED
# These define who will be able to use the /OPER command to gain special
# IRC operator access to your server. This should not be done lightly, as an
# operator can cause considerable damage to the network, thus care should be
# taken to secure these lines as much as possible. In particular, if the user
# is registered with the BBS, you shouldn't use wildcards in the username
# portion so that they're forced to ident via their BBS password, and then
# via their defined /OPER password.
# Several flags may be used to greater fine-tune the type of access that
# each operator has. Note that if you're only a leaf server on the Synchronet
# IRC network, your access will be limited to the equivalent of an 'o' flag.
#
# FLAG COMMAND NOTES
# r /REHASH
# R /RESTART
# D /DIE
# g /GLOBOPS
# w /WALLOPS
# l /LOCOPS
# c /SQUIT + /CONNECT Can only SQUIT or CONNECT locally.
# C /SQUIT + /CONNECT SQUIT or CONNECT servers globally.
# k /KILL Can only KILL locally.
# K /KILL Allow global kills.
# b /KLINE
# B /UNKLINE
# n /NOTICE $servername Global messages to local server only.
# N /NOTICE $*.synchro.net Allow messages across whole network.
# A -- Unavailable in Synchronet IRCd as of latest version --
# a -- Unavailable in Synchronet IRCd as of latest version --
# u UMODE +c Operator can see client cons/discons
# f -- Unavailable in Synchronet IRCd as of latest version --
# F -- Unavailable in Synchronet IRCd as of latest version --
# s /CHATOPS
# X /DEBUG + /EVAL
# o "Local Operator" which is inclusive of flags: rgwlckbBnuf
# O "Global Operator" which is inclusive of flags: oCKNs
# S Check password against the BBS system password.
#
# Note that the flags 'R', 'D', and 'X' do not appear in any of 'o' or
# 'O', and must be explicitly defined. Note that /DEBUG and /EVAL (the 'X'
# flag) are particuarily dangerous commands and should not be enabled unless
# you're sure of what you're doing. The 'S' flag is a special flag which will
# check against the BBS system password instead of the defined O:Line password.
#
# A user who successfully uses the /OPER command will be assigned their
# new IRC class as defined by the relevant Y:Line. A user who does not
# succeed in an /OPER attempt will have that attempt logged and broadcast
# locally.
#
# O:hostmask:password:nick:flags:irc class
#
O:*@SYSTEM_QWKID.synchro.net:*:Sysop:OS:10
O:bbsuser@*.somebbs.com:mypa$$word:Joe:o:10
#
########## U:Line ## Optional ## Compatibility: FULL
# A U:Line is a special kind of line that defines which servers on the
# network are allowed to send unchecked MODE commands among other 'special'
# services commands (AKILL, et al). If you're linking to the Synchronet IRC
# this must be set to 'services.synchro.net'. Otherwise it should be set to
# whichever server will be hosting 'services' such as ChanServ, MemoServ,
# NickServ, or similar.
#
# U:server name:*:*
#
U:services.synchro.net:*:*
U:stats.synchro.net:*:*
#
########## X:Line ## Optional ## Compatibility: FULL
# This is a simple line that adds an extra parameter (a password) to the
# /DIE and /RESTART commands respectively. This is in addition to the regular
# IRC operator requirement and the relevant 'D' and 'R' flags on the O:Line.
#
# X:die password:restart password
#
#X:diepass:restartpass
#
########## C:Line + N:Line ## Optional ## Compatibility: EXTENDED
# These lines define what servers you will be connecting to (C:Line) and
# receiving connections from (N:Line). C and N:Lines must always occur in
# pairs, even if you'll only ever be connecting in one direction. If you
# define a port on the C:Line, the IRCd will use the relevant IRC class (as
# defined on Y:Lines above) to auto-connect at the configured interval. N:Lines
# which have '*' as a password won't allow inbound connections.
#
# Synchronet IRCd also supports certain flags on the N:Line for
# determining certain types of behaviour.
#
# FLAG DESCRIPTION
# q Use the relevant server's local QWK password to authenticate.
# w The server is a QWK-master, or is downlink to one.
# k Contact the QWK-master for authentication when this connects.
#
# C:hostname or ip address:password:server name:port:irc class
# N:hostname or ip address:password:server name:flags:irc class
#
##If you'd like to link to the Synchronet IRC network, make sure your QWK-id is
# registered with vert, and that you have dyndns.js working so that the host
# 'qwk.synchro.net' (where qwk = your qwk-id) points to your IP address. Then,
# uncomment these two lines below and replace 'QWK_PASSWORD' with your QWK
# password. Issue the /rehash command (or restart Synchronet), and the ircd
# will auto-connect to vert. DO NOT replace the '*' in the N:Line password
# field with anything else, leave it simply as '*'. This is because a QWK
# uplink won't echo your QWK password back to you, it simply returns a '*'.
# This is also important to block any incoming servers (which will never
# happen on a dynamic QWK connect.)
#C:vert.synchro.net:QWK_PASSWORD:*.synchro.net:6667:30
#N:vert.synchro.net:*:*.synchro.net::30
# ^-Leave this asterik alone if you're using QWK to connect.
# It's a good idea to link to both vert and cvs.synchro.net:
#C:cvs.synchro.net:QWK_PASSWORD:*.synchro.net:6667:30
#N:cvs.synchro.net:*:*.synchro.net::30
#
##This is an example vanilla C/N pair
#C:rrx.synchro.net:password:rrx.synchro.net::30
#N:rrx.synchro.net:password:rrx.synchro.net::30
#
########## K:Line ## Optional ## Compatibility: CUSTOM
# These are the infamous K:Lines (or 'kill' lines) which let you decide
# what hostmasks should be banned from your server. The format of this command
# differs from the standard ircd's, and 'kline.conf' (as per Bahamut 1.4) is
# not supported at this time.
#
# K:banmask:reason
#
K:*.whitehouse.gov:Obviously bogus domain.
#K:~root@*:For your protection, don't IRC as root.
#K:~*@*:Only users who have registered with the BBS may connect
#
########## Q:Line ## Suggested ## Compatibility: FULL
# Q:Lines allow you to restrict what nicknames may be used on your
# server. If you're linking to the Synchronet IRC Network, these Q:Lines as
# defined are required. A user trying to /NICK over to these nicknames or
# register with a nick that matches a mask here will be given the reason as
# defined for having their change request denied.
#
# Q:*:reason:nickmask
#
Q:*:Reserved for Services:*Serv
Q:*:Reserved for Services:Global
Q:*:Reserved for Operators:IRCop
Q:*:Reserved for Sysop:Sysop
#
########## Z:Line ## Optional ## Compatibility: FULL
# This is to be considered a 'last resort' type of line that will ban
# users from your server based on IP address only. The users will be dropped
# from the server as fast as possible without any processing having been done.
# This is useful if you're being DOS attacked from a certain IP or range.
# Be careful with Z:Lines, as you cuold possibly be banning servers wishing to
# connect to you.
#
# Z:ipmask:reason:*
#
Z:0.0.0.0:Obviously bogus IP address:*
#
########## H:Line ## Optional ## Compatibility: EXTENDED
# This line has a special meaning for the Synchronet IRCd, in particular
# it defines which servers are considered to be 'full hubs' and have the
# responsibility of managing synchronization and control issues. Hubs are also
# allowed to have servers connect 'behind' them. The 'server name' must be
# the full servername without wildcards -- note that an IRC server name is not
# its hostname. Typically this will be in the form of 'qwkid.synchro.net'.
#
# H:servermask permitted behind:*:server name
#
H:*:*:vert.synchro.net
H:*:*:cvs.synchro.net
H:*:*:rob.synchro.net
H:*:*:freebsd.synchro.net
H:*:*:rrx.synchro.net
#An example H:Line which would allow france.synchro.net to connect only *.fr
#servers to the network.
#H:*.fr:*:france.synchro.net
#
########## P:Line ## Optional ## Compatibility: FULL
# This is a simple type of line that tells the IRCd to listen on
# additional ports other than what was defined on the M:Line (if you're running
# from jsexec) or inside the Synchronet services configuration. One port per
# line.
#
# To control the interfaces the ircd binds on when running as a service, they
# need to be configured in the services.ini file. When running as a stand-alone
# script, the ircd always binds to the wildcard address (ie: all addresses).
#
# P:*:*:*:port
#
#P:*:*:*:7000
#P:*:*:*:6666
#
########## E:Line ## UNSUPPORTED ## Compatibility: UNSUPPORTED
# This is an 'exemption' line which will allow users to slip through
# K:Lines. These should be as specific as possible.
# Currently, E:Lines are unsupported by the Synchronet IRCd.
#
# E:hostmask:*:username mask
#
#E:*.shawcable.net:*:cyan
#
########## F:Line ## UNSUPPORTED ## Compatibility: UNSUPPORTED
# Another exemtion line, this is virtually identical to an E:Line except
# that an F:Line will also bypass the defined IRC class limits in addition to
# allowing a user to slip through a K:Line.
# Currently, F:Lines are unsupported by the Synchronet IRCd.
#
# F:hostmask:*:username mask
#
#F:*.synchro.net:*:*digtlman
#
########## T:Line ## UNSUPPORTED ## Compatibility: UNSUPPORTED
# A simple line that defines the hostname where proxy scans will
# originate from. A message is displayed to the user upon connect containing
# the URL as defined here pointing them towards more information.
# The http:// is automatically prefixed on the defined URL.
# Currently, T:Lines are unsupported by the Synchronet IRCd.
#
# T:hostname:url
#
#T:rrx.synchro.net:www.synchro.net/proxyscan
#
##EOF##
;
; This is an example IRCd configuration file. For most people the defaults
; should be fine and it shouldn't be necessary to edit this by hand.
; The purpose of this file is to serve as a reference for what options are
; supported in the .ini and for advanced users.
;
; Most sysops should use the TUI "ircdcfg.js" configuration editor instead of
; editing this file directly.
;
;[Info]
;Servername=mybbs.synchro.net
;Description=Visit mybbs at https://synchro.net/
;Admin1=This can have a short blurb describing some details about your BBS,
;Admin2=IRC server, or whatever. It's displayed after someone uses /ADMIN,
;Admin3=so it's rarely used and a good place to put easter eggs :)
[Port:6667]
Default=true
SSL=false
;[Port:7000]
;SSL=false
;[Port:994]
;SSL=true
[Port:6697]
SSL=true
[Class:1]
Comment=Regular, unauthenticated users from the Internet
PingFrequency=120
ConnectFrequency=0
Maximum=100
SendQ=1000000
[Class:2]
Comment=Users from the local BBS or authenticated against BBS accounts
PingFrequency=30
ConnectFrequency=0
Maximum=100
SendQ=1000000
[Class:10]
Comment=IRC operators
PingFrequency=400
ConnectFrequency=0
Maximum=100
SendQ=2000000
[Class:30]
Comment=Servers: Leaf->Hub
PingFrequency=60
ConnectFrequency=300
Maximum=1
SendQ=15000000
[Class:40]
Comment=Servers: Hub->Hub
PingFrequency=60
ConnectFrequency=60
Maximum=10
SendQ=20000000
[Class:50]
Comment=Servers: Hub->QWK Master
PingFrequency=60
ConnectFrequency=60
Maximum=1
SendQ=20000000
[Allow]
Mask=*@*
Class=1
;[Operator:MyNick]
;Nick=MyNick
;Mask=bbsuser@example.com,*@example.com
;Password=
;Flags=OS
;Class=10
;[Services:1]
;Servername=services.synchro.net
;[Services:2]
;Servername=stats.synchro.net
;[Ban:whitehouse]
;Mask=*@whitehouse.gov,~*@*.whitehouse.gov
;Reason=I doubt someone's using IRC from the White House.
;[Ban:noroot]
;Mask=~root@*
;Reason=Don't IRC as root.
;[Ban:badip]
;Mask=*@0.0.0.0,*@255.255.255.255
;Reason=Bogus IP address tried to connect??
;[Server:vert]
;Servername=vert.synchro.net
;Hostname=vert.synchro.net
;Port=6667
;InboundPassword=*
;OutboundPassword=*
;Class=30
;Hub=true
;[Server:cvs]
;Servername=cvs.synchro.net
;Hostname=cvs.synchro.net
;Port=6667
;InboundPassword=*
;OutboundPassword=*
;Class=30
;Hub=true
;[Server:example]
;Servername=example.synchro.net
;Hostname=example.com
;Port=6667
;Class=40
;Hub=false
;[Server:myserver]
;Servername=irc.example.com
;Hostname=127.0.0.1
;Port=6667
;Class=40
;Hub=false
;[Restrict:Services]
;Mask=*Serv,Global
;Reason=Reserved for IRC Services
;[Restrict:Sysop]
;Mask=Sysop
;Reason=Reserved for Sysop
;[RBL:dronebl]
;Hostname=dnsbl.dronebl.org
;[RBL:example]
;Hostname=example.com
;BadResponses=127.0.0.9,127.0.0.10
;[RBL:whitelist-example]
;Hostname=whitelist.example.com
;GoodResponses=127.0.0.1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment