setup irc network
This commit is contained in:
		
							parent
							
								
									f7fcccac4a
								
							
						
					
					
						commit
						7b981cc126
					
				
					 5 changed files with 695 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -24,9 +24,10 @@
 | 
			
		|||
      enable = true;
 | 
			
		||||
      allowPing = true;
 | 
			
		||||
      allowedTCPPorts = [
 | 
			
		||||
        80
 | 
			
		||||
        443
 | 
			
		||||
        6600
 | 
			
		||||
        80   # http
 | 
			
		||||
        443  # https
 | 
			
		||||
        6600 # mpd
 | 
			
		||||
        6667 # inspircd
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
    ./borgbackup
 | 
			
		||||
    ./crowdsec
 | 
			
		||||
    ./forgejo
 | 
			
		||||
    ./inspircd
 | 
			
		||||
    ./jupyterhub
 | 
			
		||||
    ./lighttpd
 | 
			
		||||
    ./minecraft
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10
									
								
								nixos/viridian/services/inspircd/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nixos/viridian/services/inspircd/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,10 @@
 | 
			
		|||
{...}: {
 | 
			
		||||
  services.inspircd = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    config = builtins.readFile ./inspircd.conf;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  environment.etc = {
 | 
			
		||||
    "inspircd/inspircd.motd".source = ./inspircd.motd;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										643
									
								
								nixos/viridian/services/inspircd/inspircd.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										643
									
								
								nixos/viridian/services/inspircd/inspircd.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,643 @@
 | 
			
		|||
#-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-
 | 
			
		||||
#                                                                     #
 | 
			
		||||
#   Here is where you enter the information about your server.        #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<server
 | 
			
		||||
        # name: Hostname of your server. Does not need to resolve, but
 | 
			
		||||
        # does need to be correct syntax (something.somethingelse.tld).
 | 
			
		||||
        name="irc.home.arpa"
 | 
			
		||||
 | 
			
		||||
        # description: Server description. Spaces are allowed.
 | 
			
		||||
        description="Private Network!"
 | 
			
		||||
 | 
			
		||||
        # id: The SID to use for this server. This should not be uncommented
 | 
			
		||||
        # unless there is a SID conflict. This must be three characters long.
 | 
			
		||||
        # The first character must be a digit [0-9], the remaining two chars
 | 
			
		||||
        # may be letters [A-Z] or digits.
 | 
			
		||||
        #id="97K"
 | 
			
		||||
 | 
			
		||||
        # network: Network name given on connect to clients.
 | 
			
		||||
        # Should be the same on all servers on the network.
 | 
			
		||||
        network="Kanto">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-   ADMIN INFORMATION   -#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
#   Describes the Server Administrator's real name (optionally),      #
 | 
			
		||||
#   nick, and email address.                                          #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<admin
 | 
			
		||||
       # name: Real Name
 | 
			
		||||
       name="Jasmine Marie Wilson"
 | 
			
		||||
 | 
			
		||||
       # nick: Nickname (preferably what you use on the network)
 | 
			
		||||
       nick="sajenim"
 | 
			
		||||
 | 
			
		||||
       # email: email address. Does not have to be valid
 | 
			
		||||
       # but should be for the users to be able to contact you.
 | 
			
		||||
       email="its.jassy@pm.me">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-   PORT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
 | 
			
		||||
#                                                                     #
 | 
			
		||||
#   Configure the port and address bindings here.                     #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<bind
 | 
			
		||||
      # address: IP address to bind to if the box that you are hosting
 | 
			
		||||
      # on has more than one IP, else the ircd will try to bind to all
 | 
			
		||||
      # IP's on the box if this is not defined.
 | 
			
		||||
      address=""
 | 
			
		||||
 | 
			
		||||
      # port: Port for users or servers to be able to connect to.
 | 
			
		||||
      # you can select multiple ports by separating them
 | 
			
		||||
      # with a - character like the example below.
 | 
			
		||||
      port="6667"
 | 
			
		||||
 | 
			
		||||
      # type: Type of bind block this is. It can either be clients or
 | 
			
		||||
      # servers. Whichever you select will be the only type able to connect
 | 
			
		||||
      # to this bind section.
 | 
			
		||||
      type="clients"
 | 
			
		||||
 | 
			
		||||
      # free: When this is enabled the listener will be created regardless of
 | 
			
		||||
      # whether the interface that provides the bind address is available. This
 | 
			
		||||
      # is useful for if you are starting InspIRCd on boot when the server may
 | 
			
		||||
      # not have brought the network interfaces up yet.
 | 
			
		||||
      free="no">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-  CONNECTIONS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
#   This is where you can configure which connections are allowed     #
 | 
			
		||||
#   and denied access onto your server. The password is optional.     #
 | 
			
		||||
#   You may have as many of these as you require. To allow/deny all   #
 | 
			
		||||
#   connections, use a '*' or 0.0.0.0/0.                              #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
#  -- It is important to note that connect tags are read from the  -- #
 | 
			
		||||
#     TOP DOWN. This means that you should have more specific deny    #
 | 
			
		||||
#    and allow tags at the top, progressively more general, followed  #
 | 
			
		||||
#        by a <connect allow="*"> (should you wish to have one).      #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# Connect blocks are searched twice for each user - once when the TCP #
 | 
			
		||||
# connection is accepted, and once when the user completes their      #
 | 
			
		||||
# registration. Most of the information (hostname, ident response,    #
 | 
			
		||||
# password, TLS (SSL) when using STARTTLS, etc) is only available     #
 | 
			
		||||
# during the second search. If you are trying to make a closed server #
 | 
			
		||||
# you will probably need a connect block just for user registration.  #
 | 
			
		||||
# This can be done by using <connect registered="no">                 #
 | 
			
		||||
 | 
			
		||||
<connect
 | 
			
		||||
         # name: Name to use for this connect block. Mainly used for
 | 
			
		||||
         # connect class inheriting.
 | 
			
		||||
         name="main"
 | 
			
		||||
 | 
			
		||||
         # allow: The IP address or hostname of clients that can use this
 | 
			
		||||
         # class. You can specify either an exact match, a glob match, or
 | 
			
		||||
         # a CIDR range here.
 | 
			
		||||
         allow="*"
 | 
			
		||||
 | 
			
		||||
         # maxchans: Maximum number of channels a user in this class
 | 
			
		||||
         # can be in at one time.
 | 
			
		||||
         maxchans="20"
 | 
			
		||||
 | 
			
		||||
         # timeout: How long the server will wait before disconnecting
 | 
			
		||||
         # a user if they do not do anything on connect.
 | 
			
		||||
         # (Note, this is a client-side thing, if the client does not
 | 
			
		||||
         # send /NICK, /USER or /PASS)
 | 
			
		||||
         timeout="20"
 | 
			
		||||
 | 
			
		||||
         # pingfreq: How often the server tries to ping connecting clients.
 | 
			
		||||
         pingfreq="2m"
 | 
			
		||||
 | 
			
		||||
         # hardsendq: maximum amount of data allowed in a client's send queue
 | 
			
		||||
         # before they are dropped. Keep this value higher than the length of
 | 
			
		||||
         # your network's /LIST or /WHO output, or you will have lots of
 | 
			
		||||
         # disconnects from sendq overruns!
 | 
			
		||||
         # Setting this to "1M" is equivalent to "1048576", "8K" is 8192, etc.
 | 
			
		||||
         hardsendq="1M"
 | 
			
		||||
 | 
			
		||||
         # softsendq: amount of data in a client's send queue before the server
 | 
			
		||||
         # begins delaying their commands in order to allow the sendq to drain
 | 
			
		||||
         softsendq="10240"
 | 
			
		||||
 | 
			
		||||
         # recvq: amount of data allowed in a client's queue before they are dropped.
 | 
			
		||||
         # Entering "10K" is equivalent to "10240", see above.
 | 
			
		||||
         recvq="10K"
 | 
			
		||||
 | 
			
		||||
         # threshold: This specifies the amount of command penalty a user is allowed to have
 | 
			
		||||
         # before being quit or fakelagged due to flood. Normal commands have a penalty of 1,
 | 
			
		||||
         # ones such as /OPER have penalties up to 10.
 | 
			
		||||
         #
 | 
			
		||||
         # If you are not using fakelag, this should be at least 20 to avoid excess flood kills
 | 
			
		||||
         # from processing some commands.
 | 
			
		||||
         threshold="10"
 | 
			
		||||
 | 
			
		||||
         # commandrate: This specifies the maximum rate that commands can be processed.
 | 
			
		||||
         # If commands are sent more rapidly, the user's penalty will increase and they will
 | 
			
		||||
         # either be fakelagged or killed when they reach the threshold
 | 
			
		||||
         #
 | 
			
		||||
         # Units are millicommands per second, so 1000 means one line per second.
 | 
			
		||||
         commandrate="1000"
 | 
			
		||||
 | 
			
		||||
         # fakelag: Use fakelag instead of killing users for excessive flood
 | 
			
		||||
         #
 | 
			
		||||
         # Fake lag stops command processing for a user when a flood is detected rather than
 | 
			
		||||
         # immediately killing them; their commands are held in the recvq and processed later
 | 
			
		||||
         # as the user's command penalty drops. Note that if this is enabled, flooders will
 | 
			
		||||
         # quit with "RecvQ exceeded" rather than "Excess Flood".
 | 
			
		||||
         fakelag="yes"
 | 
			
		||||
 | 
			
		||||
         # localmax: Maximum local connections per IP.
 | 
			
		||||
         localmax="3"
 | 
			
		||||
 | 
			
		||||
         # globalmax: Maximum global (network-wide) connections per IP.
 | 
			
		||||
         globalmax="3"
 | 
			
		||||
 | 
			
		||||
         # resolvehostnames: If disabled, no DNS lookups will be performed on connecting users
 | 
			
		||||
         # in this class. This can save a lot of resources on very busy servers.
 | 
			
		||||
         resolvehostnames="yes"
 | 
			
		||||
 | 
			
		||||
         # useident: Whether to try to look up the real username of users in this class using
 | 
			
		||||
         # the RFC 1413 identification protocol.
 | 
			
		||||
         # This setting only has effect when the ident module is loaded.
 | 
			
		||||
         useident="no"
 | 
			
		||||
 | 
			
		||||
         # usests: Whether a STS policy should be advertised to users in this class.
 | 
			
		||||
         # This setting only has effect when the ircv3_sts module is loaded.
 | 
			
		||||
         #usests="no"
 | 
			
		||||
 | 
			
		||||
         # limit: How many users are allowed in this class
 | 
			
		||||
         limit="5000"
 | 
			
		||||
 | 
			
		||||
         # modes: The modes to set on users in this class when they connect to
 | 
			
		||||
         # the server. See https://docs.inspircd.org/3/user-modes/ for a list of
 | 
			
		||||
         # user modes. The example below sets user modes c (deaf_commonchans)
 | 
			
		||||
         # and x (cloak) which require the commonchans and cloak modules.
 | 
			
		||||
         # This setting only has effect when the conn_umodes module is loaded.
 | 
			
		||||
         modes="+cx">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-  CIDR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# CIDR configuration allows detection of clones and applying of       #
 | 
			
		||||
# throttle limits across a CIDR range. (A CIDR range is a group of    #
 | 
			
		||||
# IPs, for example, the CIDR range 192.168.1.0-192.168.1.255 may be   #
 | 
			
		||||
# represented as 192.168.1.0/24). This means that abuse across an ISP #
 | 
			
		||||
# is detected and curtailed much easier. Here is a good chart that    #
 | 
			
		||||
# shows how many IPs the different CIDRs correspond to:               #
 | 
			
		||||
# https://en.wikipedia.org/wiki/IPv4_subnetting_reference             #
 | 
			
		||||
# https://en.wikipedia.org/wiki/IPv6_subnetting_reference             #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<cidr
 | 
			
		||||
      # ipv4clone: specifies how many bits of an IP address should be
 | 
			
		||||
      # looked at for clones. The default only looks for clones on a
 | 
			
		||||
      # single IP address of a user. You do not want to set this
 | 
			
		||||
      # extremely low. (Values are 0-32).
 | 
			
		||||
      ipv4clone="32"
 | 
			
		||||
 | 
			
		||||
      # ipv6clone: specifies how many bits of an IP address should be
 | 
			
		||||
      # looked at for clones. The default only looks for clones on a
 | 
			
		||||
      # single IP address of a user. You do not want to set this
 | 
			
		||||
      # extremely low. (Values are 0-128).
 | 
			
		||||
      ipv6clone="128">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
# Files block - contains files whose contents are used by the ircd
 | 
			
		||||
#
 | 
			
		||||
#   motd - displayed on connect and when a user executes /MOTD
 | 
			
		||||
# Modules can also define their own files
 | 
			
		||||
<files motd="/etc//inspircd/inspircd.motd">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
# If these values are not defined, InspIRCd uses the default DNS resolver
 | 
			
		||||
# of your system.
 | 
			
		||||
 | 
			
		||||
<dns
 | 
			
		||||
     # timeout: time to wait to try to resolve DNS/hostname.
 | 
			
		||||
     timeout="5">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-#- LIST MODE LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# The <maxlist> tag is used customise the maximum number of each list #
 | 
			
		||||
# mode that can be set on a channel.                                  #
 | 
			
		||||
# The tags are read from top to bottom and the list mode limit from   #
 | 
			
		||||
# the first tag found which matches the channel name and mode type is #
 | 
			
		||||
# applied to that channel.                                            #
 | 
			
		||||
# It is advisable to put an entry with the channel as '*' at the      #
 | 
			
		||||
# bottom of the list. If none are specified or no maxlist tag is      #
 | 
			
		||||
# matched, the banlist size defaults to 100 entries.                  #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
# Allows all channels and list modes not previously matched to have
 | 
			
		||||
# up to 100 entries.
 | 
			
		||||
<maxlist chan="*" limit="100">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
#   Settings to define which features are usable on your server.      #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<options
 | 
			
		||||
         # prefixquit: What (if anything) users' quit messages
 | 
			
		||||
         # should be prefixed with.
 | 
			
		||||
         prefixquit="Quit: "
 | 
			
		||||
 | 
			
		||||
         # suffixquit: What (if anything) users' quit messages
 | 
			
		||||
         # should be suffixed with.
 | 
			
		||||
         suffixquit=""
 | 
			
		||||
 | 
			
		||||
         # prefixpart: What (if anything) users' part messages
 | 
			
		||||
         # should be prefixed with.
 | 
			
		||||
         prefixpart="""
 | 
			
		||||
 | 
			
		||||
         # suffixpart: What (if anything) users' part message
 | 
			
		||||
         # should be suffixed with.
 | 
			
		||||
         suffixpart="""
 | 
			
		||||
 | 
			
		||||
         # fixedquit: Set all users' quit messages to this value.
 | 
			
		||||
         #fixedquit=""
 | 
			
		||||
 | 
			
		||||
         # fixedpart: Set all users' part messages in all channels
 | 
			
		||||
         # to this value.
 | 
			
		||||
         #fixedpart=""
 | 
			
		||||
 | 
			
		||||
         # syntaxhints: If enabled, if a user fails to send the correct parameters
 | 
			
		||||
         # for a command, the ircd will give back some help text of what
 | 
			
		||||
         # the correct parameters are.
 | 
			
		||||
         syntaxhints="no"
 | 
			
		||||
 | 
			
		||||
         # casemapping: This sets the case mapping method to be used by the
 | 
			
		||||
         # server. This MUST be the same on all servers. Possible values are:
 | 
			
		||||
         # "ascii" (recommended)
 | 
			
		||||
         # "rfc1459" (default, required for linking to 2.0 servers)
 | 
			
		||||
         casemapping="ascii"
 | 
			
		||||
 | 
			
		||||
         # cyclehostsfromuser: If enabled, the source of the mode change for
 | 
			
		||||
         # cyclehosts will be the user who cycled. This can look nicer, but
 | 
			
		||||
         # triggers anti-takeover mechanisms of some obsolete bots.
 | 
			
		||||
         cyclehostsfromuser="no"
 | 
			
		||||
 | 
			
		||||
         # announcets: If set to yes, when the timestamp on a channel changes, all users
 | 
			
		||||
         # in the channel will be sent a NOTICE about it.
 | 
			
		||||
         announcets="yes"
 | 
			
		||||
 | 
			
		||||
         # allowmismatch: Setting this option to yes will allow servers to link even
 | 
			
		||||
         # if they don't have the same "optionally common" modules loaded. Setting this to
 | 
			
		||||
         # yes may introduce some desyncs and unwanted behaviour.
 | 
			
		||||
         allowmismatch="no"
 | 
			
		||||
 | 
			
		||||
         # defaultbind: Sets the default for <bind> tags without an address. Choices are
 | 
			
		||||
         # ipv4 or ipv6; if not specified, IPv6 will be used if your system has support,
 | 
			
		||||
         # falling back to IPv4 otherwise.
 | 
			
		||||
         defaultbind="auto"
 | 
			
		||||
 | 
			
		||||
         # hostintopic: If enabled, channels will show the host of the topic setter
 | 
			
		||||
         # in the topic. If set to no, it will only show the nick of the topic setter.
 | 
			
		||||
         hostintopic="yes"
 | 
			
		||||
 | 
			
		||||
         # pingwarning: If a server does not respond to a ping within this period,
 | 
			
		||||
         # it will send a notice to opers with snomask +l informing that the server
 | 
			
		||||
         # is about to ping timeout.
 | 
			
		||||
         pingwarning="15"
 | 
			
		||||
 | 
			
		||||
         # serverpingfreq: How often pings are sent between servers.
 | 
			
		||||
         serverpingfreq="1m"
 | 
			
		||||
 | 
			
		||||
         # splitwhois: Whether to split private/secret channels from normal channels
 | 
			
		||||
         # in WHOIS responses. Possible values for this are:
 | 
			
		||||
         # 'no' - list all channels together in the WHOIS response regardless of type.
 | 
			
		||||
         # 'split' - split private/secret channels to a separate WHOIS response numeric.
 | 
			
		||||
         # 'splitmsg' - the same as split but also send a message explaining the split.
 | 
			
		||||
         splitwhois="no"
 | 
			
		||||
 | 
			
		||||
         # defaultmodes: The modes to set on a channel when it is created. See
 | 
			
		||||
         # https://docs.inspircd.org/3/channel-modes/ for a list of channel
 | 
			
		||||
         # modes. If a prefix mode is included in this option it will be set on
 | 
			
		||||
         # the user that created the channel. The example below sets channel
 | 
			
		||||
         # modes n (noextmsg) and t (topiclock) and grants channel prefix mode
 | 
			
		||||
         # o (op) to the channel creator.
 | 
			
		||||
         defaultmodes="not"
 | 
			
		||||
 | 
			
		||||
         # xlinemessage: This is the text that is sent to a user when they are
 | 
			
		||||
         # banned from the server.
 | 
			
		||||
         xlinemessage="You're banned! Email irc@example.com with the ERROR line below for help."
 | 
			
		||||
 | 
			
		||||
         # allowzerolimit: If enabled then allow a limit of 0 to be set on channels.
 | 
			
		||||
         # This is non-standard behaviour and should only be enabled if you need to
 | 
			
		||||
         # link with servers running 2.0. Defaults to yes.
 | 
			
		||||
         allowzerolimit="no"
 | 
			
		||||
 | 
			
		||||
         # modesinlist: If enabled then the current channel modes will be shown
 | 
			
		||||
         # in the /LIST response. Defaults to yes.
 | 
			
		||||
         modesinlist="no"
 | 
			
		||||
 | 
			
		||||
         # exemptchanops: Allows users with with a status mode to be exempt
 | 
			
		||||
         # from various channel restrictions. Possible restrictions are:
 | 
			
		||||
         #  - anticaps        Channel mode +B - blocks messages with too many capital
 | 
			
		||||
         #                    letters (requires the anticaps module).
 | 
			
		||||
         #  - auditorium-see  Permission required to see the full user list of
 | 
			
		||||
         #                    a +u channel (requires the auditorium module).
 | 
			
		||||
         #  - auditorium-vis  Permission required to be visible in a +u channel
 | 
			
		||||
         #                    (requires the auditorium module).
 | 
			
		||||
         #  - blockcaps       Channel mode +B - blocks messages with too many capital
 | 
			
		||||
         #                    letters (requires the blockcaps module).
 | 
			
		||||
         #  - blockcolor      Channel mode +c - blocks messages with formatting codes
 | 
			
		||||
         #                    (requires the blockcolor module).
 | 
			
		||||
         #  - censor          Channel mode +G - censors messages based on the network
 | 
			
		||||
         #                    configuration (requires the censor module).
 | 
			
		||||
         #  - delaymsg        Channel mode +d - blocks sending messages until specified
 | 
			
		||||
         #                    seconds have passed since user join
 | 
			
		||||
         #  - filter          Channel mode +g - blocks messages containing the given
 | 
			
		||||
         #                    glob mask (requires the chanfilter module).
 | 
			
		||||
         #  - flood           Channel mode +f - kicks (and bans) on text flood of a
 | 
			
		||||
         #                    specified rate (requires the messageflood module).
 | 
			
		||||
         #  - nickflood       Channel mode +F - blocks nick changes after a specified
 | 
			
		||||
         #                    rate (requires the nickflood module).
 | 
			
		||||
         #  - noctcp          Channel mode +C - blocks any CTCPs to the channel
 | 
			
		||||
         #                    (requires the noctcp module).
 | 
			
		||||
         #  - nonick          Channel mode +N - prevents users on the channel from
 | 
			
		||||
         #                    changing nicks (requires the nonicks module).
 | 
			
		||||
         #  - nonotice        Channel mode +T - blocks /NOTICEs to the channel
 | 
			
		||||
         #                    (requires the nonotice module).
 | 
			
		||||
         #  - regmoderated    Channel mode +M - blocks unregistered users from
 | 
			
		||||
         #                    speaking (requires the services account module).
 | 
			
		||||
         #  - stripcolor      Channel mode +S - strips formatting codes from
 | 
			
		||||
         #                    messages (requires the stripcolor module).
 | 
			
		||||
         #  - topiclock       Channel mode +t - limits changing the topic to (half)ops
 | 
			
		||||
         # You can also configure this on a per-channel basis with a channel mode and
 | 
			
		||||
         # even negate the configured exemptions below.
 | 
			
		||||
         # See exemptchanops in modules.conf.example for more details.
 | 
			
		||||
         exemptchanops="censor:o filter:o nickflood:o nonick:v regmoderated:o"
 | 
			
		||||
 | 
			
		||||
         # invitebypassmodes: This allows /INVITE to bypass other channel modes.
 | 
			
		||||
         # (Such as +k, +j, +l, etc.)
 | 
			
		||||
         invitebypassmodes="yes"
 | 
			
		||||
 | 
			
		||||
         # nosnoticestack: This prevents snotices from 'stacking' and giving you
 | 
			
		||||
         # the message saying '(last message repeated X times)'. Defaults to no.
 | 
			
		||||
         nosnoticestack="no">
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-# PERFORMANCE CONFIGURATION #-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<performance
 | 
			
		||||
             # netbuffersize: Size of the buffer used to receive data from clients.
 | 
			
		||||
             # The ircd may only read this amount of text in 1 go at any time.
 | 
			
		||||
             netbuffersize="10240"
 | 
			
		||||
 | 
			
		||||
             # somaxconn: The maximum number of connections that may be waiting
 | 
			
		||||
             # in the accept queue. This is *NOT* the total maximum number of
 | 
			
		||||
             # connections per server. Some systems may only allow this to be up
 | 
			
		||||
             # to 5, while others (such as Linux and *BSD) default to 128.
 | 
			
		||||
             # Setting this above the limit imposed by your OS can have undesired
 | 
			
		||||
             # effects.
 | 
			
		||||
             somaxconn="128"
 | 
			
		||||
 | 
			
		||||
             # softlimit: This optional feature allows a defined softlimit for
 | 
			
		||||
             # connections. If defined, it sets a soft max connections value.
 | 
			
		||||
             softlimit="12800"
 | 
			
		||||
 | 
			
		||||
             # clonesonconnect: If this is set to no, we won't check for clones
 | 
			
		||||
             # on initial connection, but only after the DNS check is done.
 | 
			
		||||
             # This can be useful where your main class is more restrictive
 | 
			
		||||
             # than some other class a user can be assigned after DNS lookup is complete.
 | 
			
		||||
             # Turning this option off will make the server spend more time on users we may
 | 
			
		||||
             # potentially not want. Normally this should be negligible, though.
 | 
			
		||||
             # Default value is yes
 | 
			
		||||
             clonesonconnect="yes"
 | 
			
		||||
 | 
			
		||||
             # timeskipwarn: The time period that a server clock can jump by before
 | 
			
		||||
             # operators will be warned that the server is having performance issues.
 | 
			
		||||
             timeskipwarn="2s"
 | 
			
		||||
 | 
			
		||||
             # quietbursts: When syncing or splitting from a network, a server
 | 
			
		||||
             # can generate a lot of connect and quit messages to opers with
 | 
			
		||||
             # +C and +Q snomasks. Setting this to yes squelches those messages,
 | 
			
		||||
             # which makes it easier for opers, but degrades the functionality of
 | 
			
		||||
             # bots like BOPM during netsplits.
 | 
			
		||||
             quietbursts="yes">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-# SECURITY CONFIGURATION  #-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<security
 | 
			
		||||
          # allowcoreunload: If this value is set to yes, Opers will be able to
 | 
			
		||||
          # unload core modules (e.g. core_privmsg).
 | 
			
		||||
          allowcoreunload="no"
 | 
			
		||||
 | 
			
		||||
          # announceinvites: This option controls which members of the channel
 | 
			
		||||
          # receive an announcement when someone is INVITEd. Available values:
 | 
			
		||||
          # 'none' - don't send invite announcements
 | 
			
		||||
          # 'all' - send invite announcements to all members
 | 
			
		||||
          # 'ops' - send invite announcements to ops and higher ranked users
 | 
			
		||||
          # 'dynamic' - send invite announcements to halfops (if available) and
 | 
			
		||||
          #             higher ranked users. This is the recommended setting.
 | 
			
		||||
          announceinvites="dynamic"
 | 
			
		||||
 | 
			
		||||
          # hideulines: If this value is set to yes, U-lined servers will
 | 
			
		||||
          # be hidden from non-opers in /LINKS and /MAP.
 | 
			
		||||
          hideulines="no"
 | 
			
		||||
 | 
			
		||||
          # flatlinks: If this value is set to yes, /MAP and /LINKS will
 | 
			
		||||
          # be flattened when shown to non-opers.
 | 
			
		||||
          flatlinks="no"
 | 
			
		||||
 | 
			
		||||
          # hidebans: If this value is set to yes, when a user is banned ([KGZ]-lined)
 | 
			
		||||
          # only opers will see the ban message when the user is removed
 | 
			
		||||
          # from the server.
 | 
			
		||||
          hidebans="no"
 | 
			
		||||
 | 
			
		||||
          # hidekills: If defined, replaces who executed a /KILL with a custom string.
 | 
			
		||||
          hidekills=""
 | 
			
		||||
 | 
			
		||||
          # hideulinekills: Hide kills from clients of ulined servers from server notices.
 | 
			
		||||
          hideulinekills="yes"
 | 
			
		||||
 | 
			
		||||
          # hidesplits: If enabled, non-opers will not be able to see which
 | 
			
		||||
          # servers split in a netsplit, they will only be able to see that one
 | 
			
		||||
          # occurred (If their client has netsplit detection).
 | 
			
		||||
          hidesplits="no"
 | 
			
		||||
 | 
			
		||||
          # maxtargets: Maximum number of targets per command.
 | 
			
		||||
          # (Commands like /NOTICE, /PRIVMSG, /KICK, etc)
 | 
			
		||||
          maxtargets="20"
 | 
			
		||||
 | 
			
		||||
          # customversion: A custom message to be displayed in the comments field
 | 
			
		||||
          # of the VERSION command response. This does not hide the InspIRCd version.
 | 
			
		||||
          customversion=""
 | 
			
		||||
 | 
			
		||||
          # restrictbannedusers: If this is set to yes, InspIRCd will not allow users
 | 
			
		||||
          # banned on a channel to change nickname or message channels they are
 | 
			
		||||
          # banned on. This can also be set to silent to restrict the user but not
 | 
			
		||||
          # notify them.
 | 
			
		||||
          restrictbannedusers="yes"
 | 
			
		||||
 | 
			
		||||
          # genericoper: Setting this value to yes makes all opers on this server
 | 
			
		||||
          # appear as 'is a server operator' in their WHOIS, regardless of their
 | 
			
		||||
          # oper type, however oper types are still used internally. This only
 | 
			
		||||
          # affects the display in WHOIS.
 | 
			
		||||
          genericoper="no"
 | 
			
		||||
 | 
			
		||||
          # userstats: /STATS commands that users can run (opers can run all).
 | 
			
		||||
          userstats="Pu">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-# LIMITS CONFIGURATION  #-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# This configuration tag defines the maximum sizes of various types   #
 | 
			
		||||
# on IRC, such as the maximum length of a channel name, and the       #
 | 
			
		||||
# maximum length of a channel. These values should match network-wide #
 | 
			
		||||
# otherwise issues will occur.                                        #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# The highest safe value you can set any of these options to is 500,  #
 | 
			
		||||
# but it is recommended that you keep them somewhat                   #
 | 
			
		||||
# near their defaults (or lower).                                     #
 | 
			
		||||
 | 
			
		||||
<limits
 | 
			
		||||
        # maxaway: Maximum length of an away message.
 | 
			
		||||
        maxaway="200"
 | 
			
		||||
 | 
			
		||||
        # maxchan: Maximum length of a channel name.
 | 
			
		||||
        maxchan="60"
 | 
			
		||||
 | 
			
		||||
        # maxhost: Maximum length of a hostname.
 | 
			
		||||
        maxhost="64"
 | 
			
		||||
 | 
			
		||||
        # maxident: Maximum length of a ident/username.
 | 
			
		||||
        maxident="10"
 | 
			
		||||
 | 
			
		||||
        # maxkick: Maximum length of a kick message.
 | 
			
		||||
        maxkick="300"
 | 
			
		||||
 | 
			
		||||
        # maxmodes: Maximum number of mode changes per line.
 | 
			
		||||
        maxmodes="20"
 | 
			
		||||
 | 
			
		||||
        # maxnick: Maximum length of a nickname.
 | 
			
		||||
        maxnick="30"
 | 
			
		||||
 | 
			
		||||
        # maxquit: Maximum length of a quit message.
 | 
			
		||||
        maxquit="300"
 | 
			
		||||
 | 
			
		||||
        # maxreal: Maximum length of a real name.
 | 
			
		||||
        maxreal="130"
 | 
			
		||||
 | 
			
		||||
        # maxtopic: Maximum length of a channel topic.
 | 
			
		||||
        maxtopic="330">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-# PATHS CONFIGURATION #-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# This configuration tag defines the location that InspIRCd stores    #
 | 
			
		||||
# various types of files such as configuration files, log files and   #
 | 
			
		||||
# modules. You will probably not need to change these from the values #
 | 
			
		||||
# set when InspIRCd was built unless you are using a binary package   #
 | 
			
		||||
# where you do not have the ability to set build time configuration.  #
 | 
			
		||||
#<path configdir="conf" datadir="data" logdir="logs" moduledir="modules">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
# Logging
 | 
			
		||||
# -------
 | 
			
		||||
#
 | 
			
		||||
# Logging is covered with the <log> tag, which you may use to change
 | 
			
		||||
# the behaviour of the logging of the IRCd.
 | 
			
		||||
#
 | 
			
		||||
# An example log tag would be:
 | 
			
		||||
#  <log method="file" type="OPER" level="default" target="opers.log">
 | 
			
		||||
# which would log all information on /OPER (failed and successful) to
 | 
			
		||||
# a file called opers.log.
 | 
			
		||||
#
 | 
			
		||||
# There are many different types which may be used, and modules may
 | 
			
		||||
# generate their own. A list of useful types:
 | 
			
		||||
#  - USERS - information relating to user connection and disconnection
 | 
			
		||||
#  - OPER - successful and failed oper attempts
 | 
			
		||||
#  - KILL - kill related messages
 | 
			
		||||
#  - FILTER - messages related to filter matches (filter module)
 | 
			
		||||
#  - CONFIG - configuration related messages
 | 
			
		||||
#  - COMMAND - die and restart messages, and messages related to unknown user types
 | 
			
		||||
#  - SOCKET - socket engine informational/error messages
 | 
			
		||||
#  - MODULE - module related messages
 | 
			
		||||
#  - STARTUP - messages related to starting up the server
 | 
			
		||||
#
 | 
			
		||||
# You may also log *everything* by using a type of *, and subtract things out
 | 
			
		||||
# of that by using -TYPE - for example "* -USERINPUT -USEROUTPUT".
 | 
			
		||||
#
 | 
			
		||||
# Useful levels are:
 | 
			
		||||
#  - default (general messages, including errors)
 | 
			
		||||
#  - sparse (misc error messages)
 | 
			
		||||
#  - debug (debug messages)
 | 
			
		||||
#
 | 
			
		||||
# Some types only produce output in the debug level, those are:
 | 
			
		||||
#  - BANCACHE - ban cache debug messages
 | 
			
		||||
#  - CHANNELS - information relating to joining/creating channels
 | 
			
		||||
#  - CULLLIST - debug messages related to issues with removing users
 | 
			
		||||
#  - RESOLVER - DNS related debug messages
 | 
			
		||||
#  - CONNECTCLASS - Connection class debug messages
 | 
			
		||||
#  - USERINPUT
 | 
			
		||||
#  - USEROUTPUT
 | 
			
		||||
#
 | 
			
		||||
# If your server is producing a high levels of log messages you can also set the
 | 
			
		||||
# flush="[positive number]" attribute to specify how many log messages should be
 | 
			
		||||
# buffered before flushing to disk. You should probably not specify this unless
 | 
			
		||||
# you are having problems.
 | 
			
		||||
#
 | 
			
		||||
# The following log tag is highly default and uncustomised. It is recommended you
 | 
			
		||||
# sort out your own log tags. This is just here so you get some output.
 | 
			
		||||
 | 
			
		||||
<log method="file" type="* -USERINPUT -USEROUTPUT" level="default" target="ircd.log">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#-#-#-  WHOWAS OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# This tag lets you define the behaviour of the /WHOWAS command of    #
 | 
			
		||||
# your server.                                                        #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<whowas
 | 
			
		||||
        # groupsize: Maximum entries per nick shown when performing
 | 
			
		||||
        # a /WHOWAS <nick>.
 | 
			
		||||
        groupsize="10"
 | 
			
		||||
 | 
			
		||||
        # maxgroups: Maximum number of nickgroups that can be added to
 | 
			
		||||
        # the list so that /WHOWAS does not use a lot of resources on
 | 
			
		||||
        # large networks.
 | 
			
		||||
        maxgroups="100000"
 | 
			
		||||
 | 
			
		||||
        # maxkeep: Maximum time a nick is kept in the whowas list
 | 
			
		||||
        # before being pruned. Time may be specified in seconds,
 | 
			
		||||
        # or in the following format: 1y2w3d4h5m6s. Minimum is
 | 
			
		||||
        # 1 hour.
 | 
			
		||||
        maxkeep="3d">
 | 
			
		||||
 | 
			
		||||
#-#-#-#-#-#-#-#-#-#-#- INSANE BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
 | 
			
		||||
#                                                                     #
 | 
			
		||||
# This optional tag allows you to specify how wide a G-line, E-line,  #
 | 
			
		||||
# K-line, Z-line or Q-line can be before it is forbidden from being   #
 | 
			
		||||
# set. By setting hostmasks="yes", you can allow all G-, K-, E-lines, #
 | 
			
		||||
# no matter how many users the ban would cover. This is not           #
 | 
			
		||||
# recommended! By setting ipmasks="yes", you can allow all Z-lines,   #
 | 
			
		||||
# no matter how many users these cover too. Needless to say we        #
 | 
			
		||||
# don't recommend you do this, or, set nickmasks="yes", which will    #
 | 
			
		||||
# allow any Q-line.                                                   #
 | 
			
		||||
#                                                                     #
 | 
			
		||||
 | 
			
		||||
<insane
 | 
			
		||||
        # hostmasks: Allow bans with insane hostmasks. (over-reaching bans)
 | 
			
		||||
        hostmasks="no"
 | 
			
		||||
 | 
			
		||||
        # ipmasks: Allow bans with insane ipmasks. (over-reaching bans)
 | 
			
		||||
        ipmasks="no"
 | 
			
		||||
 | 
			
		||||
        # nickmasks: Allow bans with insane nickmasks. (over-reaching bans)
 | 
			
		||||
        nickmasks="no"
 | 
			
		||||
 | 
			
		||||
        # trigger: What percentage of users on the network to trigger
 | 
			
		||||
        # specifying an insane ban as. The default is 95.5%, which means
 | 
			
		||||
        # if you have a 1000 user network, a ban will not be allowed if it
 | 
			
		||||
        # will be banning 955 or more users.
 | 
			
		||||
        trigger="95.5">
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										37
									
								
								nixos/viridian/services/inspircd/inspircd.motd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								nixos/viridian/services/inspircd/inspircd.motd
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
_____                        _____   _____    _____      _
 | 
			
		||||
|_   _|                      |_   _| |  __ \  / ____|    | |
 | 
			
		||||
  | |    _ __    ___   _ __    | |   | |__) || |       __| |
 | 
			
		||||
  | |   | '_ \  / __| | '_ \   | |   |  _  / | |      / _` |
 | 
			
		||||
 _| |_  | | | | \__ \ | |_) | _| |_  | | \ \ | |____ | (_| |
 | 
			
		||||
|_____| |_| |_| |___/ | .__/ |_____| |_|  \_\ \_____| \__,_|
 | 
			
		||||
 _____________________| |__________________________________
 | 
			
		||||
|_____________________|_|__________________________________|
 | 
			
		||||
 | 
			
		||||
                         \iPowering IRC communities since 2006\x
 | 
			
		||||
 | 
			
		||||
       /\     /\
 | 
			
		||||
      {  `---'  }  \bWELCOME TO AN \c13I\c04N\c07S\c08P\c03I\c10R\c12C\c06D\c99 NETWORK\x
 | 
			
		||||
      {  O   O  }
 | 
			
		||||
      ~~>  V  <~~    If you see this, I'm probably new.
 | 
			
		||||
       \  \|/  /       If I'm not new, my owner is lazy. ;-)
 | 
			
		||||
        `-----'____
 | 
			
		||||
        /     \    \_
 | 
			
		||||
       {       }\  )_\_   _
 | 
			
		||||
       |  \_/  |/ /  \_\_/ )
 | 
			
		||||
        \__/  /(_/     \__/
 | 
			
		||||
          (__/
 | 
			
		||||
 | 
			
		||||
      +---- To change this see \bmotd.txt.example\x ----+
 | 
			
		||||
      |                                             |
 | 
			
		||||
      |   * \bWeb:\x https://www.inspircd.org           |
 | 
			
		||||
      |   * \bIRC:\x ircs://irc.teranova.net/inspircd   |
 | 
			
		||||
      |   * \bDocs:\x https://docs.inspircd.org         |
 | 
			
		||||
      |   * \bIssues:\x https://git.io/JIuYi            |
 | 
			
		||||
      |   * \bDiscussions:\x https://git.io/JIuYv       |
 | 
			
		||||
      |                                             |
 | 
			
		||||
      | We hope you like this software.  Please do  |
 | 
			
		||||
      | make sure to customise your configuration,  |
 | 
			
		||||
      | though, so you love it.  Enjoy.             |
 | 
			
		||||
      |                                             |
 | 
			
		||||
      |                        -- The InspIRCd Team |
 | 
			
		||||
      +---------------------------------------------+
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue