Compare commits

..

4 Commits

13 changed files with 1143 additions and 1406 deletions

4
.gitignore vendored
View File

@ -1,4 +0,0 @@
config.env
include.conf
motd.txt
oper.motd.txt

View File

@ -1,7 +1,9 @@
FROM ubuntu:latest
ARG BUILD_SERVER_NAME="irc.lame-network.local"
ARG UBUNTU_VERSION="noble"
FROM ubuntu:${UBUNTU_VERSION}
ENV ADMIN_EMAIL="no-reply@lame-netwoork.local"
ENV SID="01A"
@ -174,15 +176,13 @@ ENV SERVICES_ULINE="services.lame-network.local"
ENV WS_ORIGIN_ALLOW="irc.lame-network.local"
ENV DEFAULT_BLOCK_HOST_MASK="*@*"
ENV LINK_RECV_PASSWORD="changeme"
ENV LINK_SEND_PASSWORD="changeme"
ENV LINK_TIMEOUT=3600
ENV CLOAK_KEY="changeme"
ENV CLOAK_KEY="changemechangemechangemechangeme"
ENV CLOAK_IGNORE_CASE="no"
@ -306,9 +306,7 @@ ENV JOIN_FLOOD_SPLIT_WAIT="32s"
ENV KNOCK_NOTIFY="both"
ENV LIST_MAX_SIZE="512"
ENV LIST_NORMAL_SIZE="256"
ENV LIST_MAX_SIZE="100"
ENV MESSAGE_FLOOD_NOTICE="1.0"
@ -438,6 +436,8 @@ RUN git clone https://github.com/inspircd/inspircd.git
WORKDIR /tmp/inspircd
RUN git checkout -b master 7734b2e
RUN ./configure --gid inspircd --uid inspircd --development --prefix=/usr/local
RUN ./modulemanager list | awk '{print $1}' | xargs -i ./modulemanager install {} ; true
@ -448,14 +448,14 @@ RUN mkdir -p /etc/inspircd /var/lib/inspircd /etc/ssl/inspircd /var/log/inspircd
ADD inspircd.conf /etc/inspircd
ADD include.default.conf /etc/inspircd/include.conf
ADD modules.conf /etc/inspircd
ADD help.conf /etc/inspircd
ADD custom/ /etc/inspircd/custom
ADD GeoLite2-Country.mmdb /etc/inspircd
ADD motd.txt /etc/inspircd/motd.txt
ADD oper.motd.txt /etc/inspircd/oper.motd.txt
RUN openssl genrsa -out /etc/ssl/inspircd/server.key
RUN openssl req -new -key /etc/ssl/inspircd/server.key -out /etc/ssl/inspircd/server.csr \

View File

@ -18,7 +18,6 @@ HOPM_VHOST="hopm/lame-network.local"
HELPER_VHOST="helper/lame-network.local"
SERVICES_ULINE="services.lame-network.local"
WS_ORIGIN_ALLOW="irc.lame-network.local"
DEFAULT_BLOCK_HOST_MASK="nothing"
LINK_RECV_PASSWORD="changeme"
LINK_SEND_PASSWORD="changeme"
LINK_TIMEOUT="32"

View File

@ -9,7 +9,7 @@
requestclientcert="no"
provider="gnutls">
<badhost host="&env.DEFAULT_BLOCK_HOST_MASK;"
<badhost host="*@*"
reason="default hostmask block">
<exception host="*@127.0.0.1/32"
@ -133,3 +133,28 @@
sendpass="&env.LINK_SEND_PASSWORD;"
statshidden="no"
timeout="&env.LINK_TIMEOUT;">
<ident prefixunqueried="&env.IDENT_PREFIX_UNQUERIED;"
timeout="&env.IDENT_TIMEOUT;">
<permchannels channel="&env.OPER_CHANNEL;"
modes="npstOP"
topic="party line">
<permchannels channel="&env.SERVICE_CHANNEL;"
modes="npstOP"
topic="Service monitoring">
<permchannels channel="#blackhole"
modes="ntP"
topic="blackhole">
<exemptfromfilter target="&env.OPER_CHANNEL;">
<exemptfromfilter target="&env.SERVICE_CHANNEL;">
<exemptfromfilter target="&env.HELP_CHANNEL;">
<passforward cmd="SQUERY $nickrequired :IDENTIFY $nick $pass"
forwardmsg="NOTICE $nick :*** Forwarding PASS to $nickrequired"
nick="NICKSERV">

57
custom/motd.txt Normal file
View File

@ -0,0 +1,57 @@
0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗
0,0 0╔══0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0╔══0,0 0╗ 0,0 0╔════╝ 0,0 0╔══0,0 0╗
0,0 0║ ╚═╝ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
0╚0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0╔╝ 0,0 0╗ 0,0 0╔╝
0╚═══0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0╔═══╝ 0,0 0╔════╝ 0,0 0╔══0,0 0╗
0,0 0╗ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║
0╚0,0 0╔╝ ╚0,0 0╔╝ 0,0 0║ 0,0 0╗ 0,0 0║ 0,0 0║
0 ╚════╝ ╚════╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝
0,12 
0,12 0,4 0,12 
0,12 0,4 0,8 0,4 0,8 0,4 0,8 0,4 0,12 
0,12 0,4 0,8 0,4 0,8 0,4 0,8 0,4 0,12 
0,12 0,4 0,8 0,4 0,8 0,4 0,12 
0,12 0,4 0,8 0,4 0,8 0,4 0,12 
0,12 0,4 0,12 
0,12 0,4 0,8 0,4 0,12 
0,12 0,4 0,8 0,4 0,8 0,4 0,12 
0,12 0,4 0,12 
0,12 0,4 0,8 0,4 0,12 
0,12 0,4 0,8 0,4 0,12 
0,12 0,4 0,12 
0,12 0,4 0,12 
0,12 
0,12 
0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗ 0,0 0╗
0,0 0╔═0,0 0╗ 0,0 0║ 0,0 0╔════╝ 0,0 0╔═╝ 0,0 0╔══0,0 0╗
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ ╚═╝
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0╗ 0,0 0║ ╚0,0 0╗
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0╔════╝ 0,0 0║ ╚═══0,0 0╗
0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0 0║ 0,0  0,0 0║
0,0 0║ ╚0,0 0║ 0,0 0╗ 0,0 0║ ╚0,0 0╔╝
0╚═╝ ╚════╝ ╚══════╝ ╚═╝ ╚════╝
4─────────┤ 0THE WILD WILD WEST OF IRC 4├─────────
14• 7 Round-robin irc.supernets.org 14(IPv4/IPv6)
14• 7 Onion 14removed until further notice
14• 7 Ports 6660-6669 & 7000
14• 7SSL/TLS Ports 6697 & 9000
14• 7 Mail 12admin@supernets.org
14• 7 Git 12https://git.supernets.org
14• 7 Twitter 12https://twitter.com/super_nets
14• 7 Website 12https://supernets.org/
4─────────┤ 0MOST DANGEROUS IRC NETWORK 4├────────
14• 7This is a hostile chat environment
14• 7Do not disrupt the orderly operation of the network
14• 7No distribution of child pornography
14• 7See /RULES for a list of network rules

View File

@ -1,24 +0,0 @@
services:
ircd_linked:
build:
context: .
args:
BUILD_SERVER_NAME: ${SERVER_NAME}
image: inspi4
network_mode: "host"
env_file: "config.env"
command: /usr/local/bin/inspircd -c /etc/inspircd/inspircd.conf -F
volumes:
- ./motd.txt:/etc/inspircd/motd.txt:ro
- ./oper.motd.txt:/etc/inspircd/oper.motd.txt:ro
- ./include.conf:/etc/inspircd/include.conf:ro
- ssl:/etc/ssl/inspircd
- data:/var/lib/inspircd
- log:/var/log/inspircd
volumes:
data:
name: inspi4_data
ssl:
name: inspi4_ssl
log:
name: inspi4_log

View File

@ -1,20 +0,0 @@
services:
ircd:
build:
context: .
args:
BUILD_SERVER_NAME: ${SERVER_NAME}
image: inspi4
network_mode: "host"
env_file: "config.env"
volumes:
- ssl:/etc/ssl/inspircd
- data:/var/lib/inspircd
- log:/var/log/inspircd
volumes:
data:
name: inspi4_data
ssl:
name: inspi4_ssl
log:
name: inspi4_log

22
docker-compose.yml Normal file
View File

@ -0,0 +1,22 @@
services:
leaf:
build:
context: .
args:
BUILD_SERVER_NAME: ${SERVER_NAME}
image: inspi4
network_mode: "host"
env_file: "config.env"
command: /usr/local/bin/inspircd -c /etc/inspircd/inspircd.conf -F
volumes:
- ./custom:/etc/inspircd/custom:ro
- ssl:/etc/ssl/inspircd
- data:/var/lib/inspircd
- log:/var/log/inspircd
volumes:
data:
name: inspi4_data
ssl:
name: inspi4_ssl
log:
name: inspi4_log

640
help.conf Normal file
View File

@ -0,0 +1,640 @@
<helpmsg nohelp="There is no help for the topic you searched for. Please try again.">
<helptopic key="start" title="HELP" value="
/HELP CUSER
/HELP COPER
/HELP UMODES
/HELP CHMODES
/HELP SNOMASKS
/HELP EXTBANS
/HELP INDEX">
<helptopic key="cuser" title="USER COMMANDS" value="
ACCEPT ADMIN AWAY COMMANDS CYCLE DCCALLOW
HEXIP INFO INVITE ISON JOIN KICK
KNOCK LINKS LIST LUSERS MAP MKPASSWD
MODE MODULES MONITOR MOTD NAMES NICK
NOTICE OPER PART PASS PING PONG
PRIVMSG QUIT REMOVE SERVLIST SETNAME SILENCE
SQUERY SSLINFO STATS TBAN TIME TITLE
TOPIC UNINVITE USER USERHOST VERSION VHOST
WATCH WHO WHOIS WHOWAS
">
<helptopic key="squery" title="/SQUERY <target> :<message>" value=" ">
<helptopic key="servlist" title="/SERVLIST [<nick> [<oper-type>]]" value=" ">
<helptopic key="sslinfo" title="/SSLINFO [<chan>|<nick>]" value=" ">
<helptopic key="uninvite" title="/UNINVITE <nick> <channel>" value=" ">
<helptopic key="tban" title="/TBAN <channel> <duration> <banmask>" value=" ">
<helptopic key="dccallow" title="/DCCALLOW [(+|-)<nick> [<time>]]|[LIST|HELP]" value="
/DCCALLOW - List allowed nicks
/DCCALLOW LIST - This also lists allowed nicks
/DCCALLOW +<nick> [<duration>] - Add a nick
/DCCALLOW -<nick> - Remove a nick
/DCCALLOW HELP - Display help">
<helptopic key="accept" title="/ACCEPT *|(+|-)<nick>[,(+|-)<nick>]+" value="
/ACCEPT * - List accepted nicks
/ACCEPT +<nick> - Add a nick
/ACCEPT -<nick> - Remove a nick
/ACCEPT +<nick>,-<nick>,+<nick>">
<helptopic key="cycle" title="/CYCLE <channel> [:<reason>]" value=" ">
<helptopic key="title" title="/TITLE <username> <password>" value=" ">
<helptopic key="watch" title="/WATCH C|L|l|S|(+|-)<nick> [(+|-)<nick>]+" value="
/WATCH - List watched nicks that are online
/WATCH l - List watched nicks that are online
/WATCH L - List watched nicks, online and offline
/WATCH C - Clear all watched nicks
/WATCH S - Show statistics
/WATCH +<nick> - Add a nick
/WATCH -<nick> - Remove a nick
/WATCH +<nick> -<nick> +<nick>">
<helptopic key="monitor" title="/MONITOR C|L|S|(+|-) <nick>[,<nick>]+" value="
/MONITOR L - List all monitored nicks, not differentiating between
online and offline nicks
/MONITOR C - Clear all monitored nicks
/MONITOR S - List all monitored nicks, indicating which are online
and which are offline
/MONITOR + <nick> - Add a nick
/MONITOR - <nick> - Remove a nick
/MONITOR + <nick>,<nick>,<nick>
/MONITOR - <nick>,<nick>,<nick>">
<helptopic key="vhost" title="/VHOST <username> <password>" value=" ">
<helptopic key="remove" title="/REMOVE <channel> <nick> [:<reason>]" value=" ">
<helptopic key="rmode" title="/RMODE <channel> <mode> [<pattern>]" value=" ">
<helptopic key="hexip" title="/HEXIP <hex-ip|raw-ip>" value=" ">
<helptopic key="silence" title="/SILENCE [(+|-)<mask> [CcdiHNnPpTtx]]" value="
/SILENCE - Shows a list of silenced masks
/SILENCE +<mask> [<flags>] - Add a mask
/SILENCE -<mask> - Remove a mask
FLAGS
-------------------
C Matches a CTCP targeted at a user.
c Matches a CTCP targeted at a channel.
d Default behaviour; equivalent to CciNnPpTt.
H Hide the contents of messages instead of blocking.
i Matches an invite to a channel.
N Matches a NOTICE targeted at a user.
n Matches a NOTICE targeted at a channel.
P Matches a PRIVMSG targeted at a user.
p Matches a PRIVMSG targeted at a channel.
T Matches a TAGMSG targeted at a user.
t Matches a TAGMSG targeted at a channel.
x Exempt the mask from silence rules.">
<helptopic key="knock" title="/KNOCK <channel> :<reason>" value=" ">
<helptopic key="user" title="/USER <username> <unused> <unused> :<realname>" value=" ">
<helptopic key="nick" title="/NICK <newnick>" value=" ">
<helptopic key="quit" title="/QUIT [:<message>]" value=" ">
<helptopic key="version" title="/VERSION [<servername>]" value=" ">
<helptopic key="ping" title="/PING <cookie> [<servername>]" value=" ">
<helptopic key="pong" title="/PONG <cookie> [<servername>]" value=" ">
<helptopic key="prop" title="/PROP <target> [(+|-)<name> [<value>]]+" value=" ">
<helptopic key="admin" title="/ADMIN [<servername>]" value=" ">
<helptopic key="privmsg" title="/PRIVMSG <target>[,<target>]+ :<message>" value=" ">
<helptopic key="notice" title="/NOTICE <target>[,<target>]+ :<message>" value=" ">
<helptopic key="join" title="/JOIN <channel>[,<channel>]+ [<key>[,<key>]+]" value=" ">
<helptopic key="names" title="/NAMES [<channel>[,<channel>]+]" value=" ">
<helptopic key="part" title="/PART <channel>[,<channel>]+ [:<reason>]" value=" ">
<helptopic key="kick" title="/KICK <channel> <nick>[,<nick>]+ [:<reason>]" value=" ">
<helptopic key="mode" title="/MODE <target> [[(+|-)]<modes> [<mode-parameters>]]" value="
/MODE <target> - Show modes of <target>.
/MODE <channel> <list mode char> - List bans, exceptions, etc. set on <channel>.">
<helptopic key="topic" title="/TOPIC <channel> [:<topic>]" value=" ">
<helptopic key="who" title="/WHO <pattern> [<flags>][%[<fields>[,<querytype>]]] <pattern>" value="
---------------
FLAGS
---------------
A Show users who have an away message matching <pattern>.
a Show users who have an account name matching <pattern>.
G Show users who are connecting from a country code matching <pattern>.
Requires the geoban module.
h Show users who have a hostname matching <pattern>. If the 'x' modifier
is specified then this will match against the real hostname instead of
the display hostname.
i Show users who have an IP address matching <pattern>.
m Show users who have the modes listed in <pattern>. The pattern
should be in the same format as a mode change e.g. +ow-i (server
operators only).
n Show users who have a nickname matching <pattern>.
p Show users who are connected to a port in the <pattern> range (server
operators only).
r Show users who have a real name matching <pattern>.
s Show users who are on a server with a name matching <pattern>. If the 'x'
modifier is specified then this will match against the real server name
instead of the masked server name.
t Show users who have connected in the last <pattern> seconds.
u Show users who have a username matching <pattern>.
f Only show users on remote (far) servers.
l Only show users on the local server.
o Only show server operators.
x Show sensitive data like real user hostnames and, when hideserver is
enabled, real server hostnames.
----------------
FIELDS
----------------
a Include the user's account name in the response.
c Include the first common channel name in the response.
d Include the user's server distance from you in the response.
f Include the user's away status, oper status, and highest channel prefix
in the response.
h Include the user's hostname in the response. If the 'x' flag was
specified then this is the real host rather than the display host.
i Include the user's IP address in the response.
l Include the user's idle time in the response.
n Include the user's nickname in the response.
o Include the user's channel operator rank level in the response.
r Include the user's real name in the response.
s Include the user's server name in the response. If the 'x' flag was
specified then this is the real server name rather than the masked server
name.
t Include the query type in the response.
u Include the user's username in the response.">
<helptopic key="motd" title="/MOTD [<servername>]" value=" ">
<helptopic key="oper" title="/OPER <username> <password>" value=" ">
<helptopic key="list" title="/LIST [<pattern>]" value=" ">
<helptopic key="lusers" title="/LUSERS" value=" ">
<helptopic key="userhost" title="/USERHOST <nick> [<nick>]+" value=" ">
<helptopic key="away" title="/AWAY [:<message>]" value=" ">
<helptopic key="ison" title="/ISON <nick> [<nick>]+" value=" ">
<helptopic key="invite" title="/INVITE [<nick> <channel> [<time>]]" value=" ">
<helptopic key="pass" title="/PASS <password>" value=" ">
<helptopic key="whowas" title="/WHOWAS <nick> [<count>]" value=" ">
<helptopic key="links" title="/LINKS" value=" ">
<helptopic key="map" title="/MAP" value=" ">
<helptopic key="whois" title="/WHOIS [<servername>] <nick>[,<nick>]+" value=" ">
<helptopic key="time" title="/TIME [<servername>]" value=" ">
<helptopic key="info" title="/INFO [<servername>]" value=" ">
<helptopic key="setname" title="/SETNAME :<realname>" value=" ">
<helptopic key="coper" title="Oper Commands" value="
ALLTIME CBAN CHECK CHGHOST CHGIDENT
CHGNAME CLEARCHAN CLOAK CONNECT DIE
ELINE FILTER GLINE GLOADMODULE GLOBOPS
GRELOADMODULE GUNLOADMODULE KILL KLINE LOADMODULE
NICKLOCK NICKUNLOCK OJOIN OPERMOTD QLINE
RCONNECT REHASH RELOADMODULE RESTART RLINE
RSQUIT SAJOIN SAKICK SAMODE SANICK
SAPART SAQUIT SATOPIC SETHOST SETIDENT
SETIDLE SHUN SQUIT SWHOIS TLINE
UNLOADMODULE WALLOPS ZLINE
">
<helptopic key="tline" title="/TLINE <mask>" value=" ">
<helptopic key="filter" title="/FILTER <pattern> [<action> <flags> [<duration>] :<reason>]" value="
------------------
FILTERS
------------------
None Does nothing
Warn Lets the message through and informs +s server operators
of the message and all relevant info
Block Blocks message and informs +s server operators of the blocked
message and all relevant info
Silent Blocks message, but does not notify server operators
Kill Kills the user
Gline G-lines the user for the specified duration
Zline Z-lines the user for the specified duration
Shun Shuns the user for the specified duration (requires the shun module)
------------------
FLAGS
------------------
p Block private and channel messages
n Block private and channel notices
P Block part messages
q Block quit messages
o Don't match against opers
r Don't match against registered users
c Strip all formatting codes from the message before matching
* Represents all of the above flags except r
- Does nothing, a non-op for when you do not want to specify any
flags">
<helptopic key="ojoin" title="/OJOIN <channel>" value=" ">
<helptopic key="check" title="/CHECK <nick>|<ipmask>|<hostmask>|<channel> [<servername>]" value=" ">
<helptopic key="alltime" title="/ALLTIME" value=" ">
<helptopic key="rconnect" title="/RCONNECT <remote-server-mask> <target-server-mask>" value=" ">
<helptopic key="rsquit" title="/RSQUIT <target-server-mask> [:<reason>]" value=" ">
<helptopic key="globops" title="/GLOBOPS :<message>" value=" ">
<helptopic key="cban" title="/CBAN <channelmask> [<duration> [:<reason>]]" value=" ">
<helptopic key="sajoin" title="/SAJOIN [<nick>] <channel>[,<channel>]+" value=" ">
<helptopic key="sapart" title="/SAPART <nick> <channel>[,<channel>]+ [:<reason>]" value=" ">
<helptopic key="samode" title="/SAMODE <target> (+|-)<modes> [<mode-parameters>]" value=" ">
<helptopic key="sanick" title="/SANICK <nick> <newnick>" value=" ">
<helptopic key="sakick" title="/SAKICK <channel> <nick> [:<reason>]" value=" ">
<helptopic key="satopic" title="/SATOPIC <channel> :<topic>" value=" ">
<helptopic key="saquit" title="/SAQUIT <nick> :<reason>" value=" ">
<helptopic key="setidle" title="/SETIDLE <duration>" value=" ">
<helptopic key="sethost" title="/SETHOST <host>" value=" ">
<helptopic key="setident" title="/SETIDENT <username>" value=" ">
<helptopic key="swhois" title="/SWHOIS <nick> :<swhois>" value=" ">
<helptopic key="mkpasswd" title="/MKPASSWD <hashtype> <plaintext>" value=" ">
<helptopic key="opermotd" title="/OPERMOTD [<servername>]" value=" ">
<helptopic key="nicklock" title="/NICKLOCK <nick> <newnick>" value=" ">
<helptopic key="nickunlock" title="/NICKUNLOCK <nick>" value=" ">
<helptopic key="chghost" title="/CHGHOST <nick> <host>" value=" ">
<helptopic key="chgname" title="/CHGNAME <nick> :<realname>" value=" ">
<helptopic key="chgident" title="/CHGIDENT <nick> <username>" value=" ">
<helptopic key="shun" title="/SHUN <nick!user@host>[,<nick!user@host>]+ [<duration> :<reason>]" value=" ">
<helptopic key="die" title="/DIE <servername>" value=" ">
<helptopic key="restart" title="/RESTART <servername>" value=" ">
<helptopic key="commands" title="/COMMANDS" value=" ">
<helptopic key="kill" title="/KILL <nick>[,<nick>]+ :<reason>" value=" ">
<helptopic key="rehash" title="/REHASH [<servermask>]" value=" ">
<helptopic key="connect" title="/CONNECT <servermask>" value=" ">
<helptopic key="squit" title="/SQUIT <servermask>" value=" ">
<helptopic key="modules" title="/MODULES [<servername>]" value=" ">
<helptopic key="loadmodule" title="/LOADMODULE <modulename>" value=" ">
<helptopic key="unloadmodule" title="/UNLOADMODULE <modulename>" value=" ">
<helptopic key="reloadmodule" title="/RELOADMODULE <modulename>" value=" ">
<helptopic key="gloadmodule" title="/GLOADMODULE <modulename> [<servermask>]" value=" ">
<helptopic key="gunloadmodule" title="/GUNLOADMODULE <modulename> [<servermask>]" value=" ">
<helptopic key="greloadmodule" title="/GRELOADMODULE <modulename> [<servermask>]" value=" ">
<helptopic key="kline" title="/KLINE <user@host>[,<user@host>]+ [<duration> :<reason>]" value=" ">
<helptopic key="zline" title="/ZLINE <ipmask>[,<ipmask>]+ [<duration> :<reason>]" value=" ">
<helptopic key="qline" title="/QLINE <nickmask>[,<nickmask>]+ [<duration> :<reason>]" value=" ">
<helptopic key="gline" title="/GLINE <user@host>[,<user@host>]+ [<duration> :<reason>]" value=" ">
<helptopic key="eline" title="/ELINE <user@host>[,<user@host>]+ [<duration> :<reason>]" value=" ">
<helptopic key="wallops" title="/WALLOPS :<message>" value=" ">
<helptopic key="rline" title="/RLINE <regex> [<duration> :<reason>]" value=" ">
<helptopic key="clearchan" title="/CLEARCHAN <channel> [KILL|KICK|G|Z] [:<reason>]" value=" ">
<helptopic key="cloak" title="/CLOAK <host>" value=" ">
<helptopic key="umodes" title="USER MODES" value="
c Blocks private messages and notices from users who do
not share a common channel with you (requires the
commonchans module).
d Deaf mode. User will not receive any messages or notices
from channels they are in (requires the deaf module).
g In combination with /ACCEPT, provides for server-side
ignore (requires the callerid module).
h Marks as 'available for help' in WHOIS (server operators
only, requires the helpmsg module).
i Makes invisible to /WHO if the user using /WHO is not in
a common channel.
k Prevents the user from being kicked from channels, or
having op modes removed from them (services only,
requires the services module).
o Marks as a server operator.
s <mask> Receives server notices specified by <mask>
(server operators only).
r Marks as a having a registered nickname
(requires the account module).
w Receives wallops messages.
x Gives a cloaked hostname (requires the cloak module).
z Only allow private messages from TLS users (requires
the sslmodes module).
B Marks as a bot (requires the botmode module).
D Privdeaf mode. User will not receive any private messages
or notices from users (requires the deaf module).
H Hides an oper's oper status from WHOIS (requires the
hideoper module).
I Hides a user's entire channel list in WHOIS from
non-server operators (requires the hidechans module).
L Stops redirections done by the redirect module (requires
the redirect module).
N Allows users to opt-out of receiving channel history
(requires the chanhistory module).
O Allows server operators to opt-in to overriding
restrictions (requires the override module).
R Blocks private messages from unregistered users
(requires the account module).
S Strips formatting codes out of private messages
to the user (requires the stripcolor module).
W Receives notifications when a user uses WHOIS on them
(server operators only, requires the showwhois module).">
<helptopic key="chmodes" title="CHANNEL MODES" value="
v <nickname> Gives voice to <nickname>, allowing them to speak
while the channel is +m.
h <nickname> Gives halfop status to <nickname> (requires the
customprefix module).
o <nickname> Gives op status to <nickname>.
a <nickname> Gives protected status to <nickname>, preventing
them from being kicked (+q only, requires the
customprefix module).
q <nickname> Gives owner status to <nickname>, preventing them
from being kicked (Services or +q only, requires
the customprefix module).
b <hostmask> Bans <hostmask> from the channel.
e <hostmask> Excepts <hostmask> from bans (requires the
banexception module).
I <hostmask> Excepts <hostmask> from +i, allowing matching
users to join while the channel is invite-only
(requires the inviteexception module).
c Blocks messages that contain formatting codes
(requires the blockcolor module).
d <time> Blocks messages to a channel from new users
until they have been in the channel for <time>
seconds (requires the delaymsg module).
f [*]<lines>:<sec> Kicks on text flood equal to or above the
specified rate. With *, the user is banned
(requires the messageflood module).
g <mask> Blocks messages matching the given glob mask
(requires the chanfilter module).
i Makes the channel invite-only.
Users can only join if an operator
uses /INVITE to invite them.
j <joins>:<sec> Limits joins to the specified rate (requires
the joinflood module).
k <key> Set the channel key (password) to <key>.
l <limit> Set the maximum allowed users to <limit>.
m Enable moderation. Only users with +v, +h, or +o
can speak.
n Blocks users who are not members of the channel
from messaging it.
p Hides the channel in /WHOIS from people who are not a member.
You probably want the s (secret) channel mode rather than this.
r Marks the channel as registered with Services
(requires the account module).
s Hides the channel in /WHOIS and /LIST from people who are not a member.
t Prevents users without +h or +o from changing the
topic.
u Makes the channel an auditorium; normal users only
see themselves or themselves and the operators,
while operators see all the users (requires the
auditorium module).
w <flag>:<banmask> Adds basic channel access controls of <flag> to
<banmask>, via the +w listmode.
For example, +w o:R:Brain will op anyone identified
to the account 'Brain' on join.
(requires the autoop module)
z Blocks non-TLS clients from joining the channel
(requires the sslmodes module).
A Allows anyone to invite users to the channel
(normally only chanops can invite, requires
the allowinvite module).
B Blocks messages with too many capital letters,
as determined by the network configuration
(requires the blockcaps module).
C Blocks any CTCPs to the channel (requires the
noctcp module).
D Delays join messages from users until they message
the channel (requires the delayjoin module).
E [~|*]<lines>:<sec>[:<difference>][:<backlog>] Allows blocking of
similar messages (requires the repeat module).
Kicks as default, blocks with ~ and bans with *
The last two parameters are optional.
F <changes>:<sec> Blocks nick changes when they equal or exceed the
specified rate (requires the nickflood module).
H <num>:<duration> Displays the last <num> lines of chat to joining
users. <duration> is the maximum time to keep
lines in the history buffer (requires the
chanhistory module).
J <seconds> Prevents rejoin after kick for the specified
number of seconds. This prevents auto-rejoin
(requires the kicknorejoin module).
K Blocks /KNOCK on the channel (requires the
knock module).
L <channel> If the channel reaches its limit set by +l,
redirect users to <channel> (requires the
redirect module).
M Blocks unregistered users from speaking (requires
the account module).
N Prevents users on the channel from changing nick
(requires the nonicks module).
O Channel is server operators only (can only be set
by server operators, requires the operchans module).
P Makes the channel permanent; Bans, invites, the
topic, modes, and such will not be lost when it
empties (can only be set by server operators,
requires the permchannels module).
Q Only services servers and their users can kick
(requires the nokicks module).
R Blocks unregistered users from joining (requires
the account module).
S Strips formatting codes from messages to the
channel (requires the stripcolor module).
T Blocks /NOTICEs to the channel from users who are
not at least halfop (requires the nonotice module).
X <type>:<status> Makes users of <status> or higher exempt to the
specified restriction <type>. For example: flood:h
(requires the exemptchanops module).
Possible restriction types to exempt with +X are:
anticaps Channel mode +B
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
blockcolor Channel mode +c
filter Channel mode +g
flood Channel mode +f
nickflood Channel mode +F
noctcp Channel mode +C
nonick Channel mode +N
nonotice Channel mode +T
regmoderated Channel mode +M
repeat Channel mode +E
stripcolor Channel mode +S
topiclock Channel mode +t">
<helptopic key="stats" title="/STATS <symbol> [<servername>]" value="
e Show E-lines (global user@host ban exceptions)
g Show G-lines (global user@host bans)
k Show K-lines (local user@host bans)
q Show Q-lines (global nick bans)
R Show R-lines (global regular expression bans)
Z Show Z-lines (global IP mask bans)
s Show filters (global)
C Show channel bans (global)
H Show shuns (global)
c Show link blocks
d Show configured DNSBLs and related statistics
m Show command statistics, number of times commands have been used
o Show a list of all valid oper usernames and hostmasks
p Show open client ports, and the port type (tls, plaintext, etc)
u Show server uptime
z Show memory usage statistics
i Show connect class permissions
l Show all client connections with information (sendq, commands, bytes, time connected)
L Show all client connections with information and IP address
P Show online opers and their idle times
T Show bandwidth/socket statistics
U Show services servers
Y Show connection classes
O Show opertypes and the allowed user and channel modes it can set
E Show socket engine events
S Show currently held registered nicknames
G Show how many local users are connected from each country">
<helptopic key="snomasks" title="SNOMASKS" value="
a Allows receipt of local announcement messages.
A Allows receipt of remote announcement messages.
c Allows receipt of local connect messages.
C Allows receipt of remote connect messages.
d Allows receipt of local DNSBL messages (requires the dnsbl module).
D Allows receipt of remote DNSBL messages (requires the dnsbl module).
f Allows receipt of local filter messages (requires the filter module).
F Allows receipt of remote filter messages (requires the filter module).
g Allows receipt of globops (requires the globops module).
j Allows receipt of channel creation notices (requires the chancreate module).
J Allows receipt of remote channel creation notices (requires the chancreate module).
k Allows receipt of local kill messages.
K Allows receipt of remote kill messages.
l Allows receipt of local linking related messages.
L Allows receipt of remote linking related messages.
n Allows receipt of local nickname changes (requires the seenicks module).
N Allows receipt of remote nickname changes (requires the seenicks modules).
o Allows receipt of oper-up, oper-down, and oper-failure messages.
O Allows receipt of remote oper-up, oper-down, and oper-failure messages.
q Allows receipt of local quit messages.
Q Allows receipt of remote quit messages.
t Allows receipt of attempts to use /STATS (local and remote).
v Allows receipt of oper override notices (requires the override module).
x Allows receipt of local X-line notices (G/Z/Q/K/E/R/SHUN/CBan).
X Allows receipt of remote X-line notices (G/Z/Q/K/E/R/SHUN/CBan).
">
<helptopic key="extbans" title="EXTBANS" value="
---------------------
MATCHING
---------------------
a:<mask> Matches user with both a matching banmask and real name,
where <mask> is in the format nick!user@host+realname
(requires realnameban module).
j:<channel> Matches anyone in the given channel. Does not support
wildcards (requires the channelban module).
n:<class> Matches users in a matching connect class (requires
the classban module).
r:<realname> Matches users with a matching real name (requires the
realnameban module).
s:<server> Matches users on a matching server (requires the
serverban module).
z:<tlsfp> Matches users having the given TLS certificate
fingerprint (requires the sslmodes module).
w:<gateway> Matches users who are connecting via a WebIRC gateway that
matches <gateway>.
O:<opertype> Matches server operators of a matching type, mostly
useful as an invite exception (requires the
operchans module).
R:<account> Matches users logged into a matching account (requires
the account module).
U:<banmask> Matches unregistered users matching the given banmask.
(requires the account module).
--------------------
ACTING
--------------------
c:<banmask> Blocks any messages that contain formatting codes from
matching users (requires the blockcolor module).
m:<banmask> Blocks messages from matching users (requires the muteban
module). Users with +v or above are not affected.
A:<banmask> Blocks invites by matching users even when +A is set
(requires the allowinvite module).
B:<banmask> Blocks all capital or nearly all capital messages from
matching users (requires the blockcaps module).
C:<banmask> Blocks CTCPs from matching users (requires the noctcp
module).
N:<banmask> Blocks nick changes from matching users (requires
the nonicks module).
Q:<banmask> Blocks kicks by matching users (requires the nokicks
module).
S:<banmask> Strips formatting codes from messages from matching
users (requires the stripcolor module).
T:<banmask> Blocks notices from matching users (requires the
nonotice module).
--------------------
ADDITIONAL
--------------------
Redirect n!u@h#channel will redirect the banned user to #channel
when they try to join (requires the banredirect module).">

File diff suppressed because it is too large Load Diff

198
modules.conf Normal file
View File

@ -0,0 +1,198 @@
<module name="abbreviation">
<module name="alias">
<module name="allowinvite">
<module name="alltime">
<module name="anticaps">
<module name="antiknocker">
<module name="antisnoop">
<module name="argon2">
<module name="asn">
<module name="auditorium">
<module name="autoaway">
<module name="autodrop">
<module name="autokick">
<module name="autoop">
<module name="banexception">
<module name="banredirect">
<module name="bcrypt">
<module name="blockamsg">
<module name="blockhighlight">
<module name="blockcolor">
<module name="botmode">
<module name="callerid">
<module name="cap">
<module name="cban">
<module name="censor">
<module name="cgiirc">
<module name="chancreate">
<module name="chanfilter">
<module name="chanhistory">
<module name="chanlog">
<module name="channames">
<module name="channelban">
<module name="check">
<module name="chghost">
<module name="chgident">
<module name="chgname">
<module name="classban">
<module name="clearchan">
<module name="cloaking">
<module name="clones">
<module name="codepage">
<module name="commonchans">
<module name="complete">
<module name="connectban">
<module name="conn_join">
<module name="conn_umodes">
<module name="conn_waitpong">
<module name="custompenalty">
<module name="customprefix">
<module name="customtags">
<module name="customtitle">
<module name="cycle">
<module name="dccallow">
<module name="deaf">
<module name="defaulttopic">
<module name="delayjoin">
<module name="delaymsg">
<module name="denychans">
<module name="disable">
<module name="dnsbl">
<module name="exemptchanops">
<module name="exmode">
<module name="filter">
<module name="forceusername">
<module name="gecosban">
<module name="geocmd">
<module name="geoban">
<module name="geoclass">
<module name="geo_maxmind">
<module name="globalload">
<module name="globops">
<module name="haproxy">
<module name="helpop">
<module name="hidechans">
<module name="hidelist">
<module name="hidemode">
<module name="hideoper">
<module name="hostchange">
<module name="hostcycle">
<module name="httpd">
<module name="httpd_acl">
<module name="httpd_config">
<module name="httpd_stats">
<module name="ident">
<module name="inviteexception">
<module name="ircv3">
<module name="ircv3_accounttag">
<module name="ircv3_batch">
<module name="ircv3_capnotify">
<module name="ircv3_chghost">
<module name="ircv3_ctctags">
<module name="ircv3_echomessage">
<module name="ircv3_invitenotify">
<module name="ircv3_labeledresponse">
<module name="ircv3_msgid">
<module name="ircv3_servertime">
<module name="ircv3_sts">
<module name="joinflood">
<module name="kicknorejoin">
<module name="knock">
<module name="ldap">
<module name="ldapoper">
<module name="lockserv">
<module name="maphide">
<module name="md5">
<module name="messageflood">
<module name="messagesocket">
<module name="mlock">
<module name="modenotice">
<module name="monitor">
<module name="muteban">
<module name="mysql">
<module name="namedmodes">
<module name="namesx">
<module name="nickflood">
<module name="nicklock">
<module name="noctcp">
<module name="noidletyping">
<module name="nokicks">
<module name="nonicks">
<module name="nonotice">
<module name="nopartmsg">
<module name="noprivatemode">
<module name="ojoin">
<module name="operchans">
<module name="operjoin">
<module name="operlevels">
<module name="operlog">
<module name="opermodes">
<module name="opermotd">
<module name="operprefix">
<module name="override">
<module name="passforward">
<module name="password_hash">
<module name="pbkdf2">
<module name="permchannels">
<module name="pgsql">
<module name="protoctl">
<module name="qrcode">
<module name="redirect">
<module name="regex_glob">
<module name="regex_pcre2">
<module name="regex_posix">
<module name="regex_re2">
<module name="regex_stdlib">
<module name="regex_tre">
<module name="remove">
<module name="repeat">
<module name="restrictchans">
<module name="restrictmsg">
<module name="rline">
<module name="rmode">
<module name="sajoin">
<module name="sakick">
<module name="samode">
<module name="sanick">
<module name="sapart">
<module name="saquit">
<module name="sasl">
<module name="satopic">
<module name="securelist">
<module name="seenicks">
<module name="serverban">
<module name="services_account">
<module name="servprotect">
<module name="sethost">
<module name="setident">
<module name="setidle">
<module name="setname">
<module name="sha1">
<module name="sha256">
<module name="showfile">
<module name="showwhois">
<module name="shun">
<module name="silence">
<module name="spanningtree">
<module name="sqlite3">
<module name="ssl_gnutls">
<module name="sslinfo">
<module name="sslmodes">
<module name="sslrehashsignal">
<module name="starttls">
<module name="stats_unlinked">
<module name="stripcolor">
<module name="svshold">
<module name="swhois">
<module name="teams">
<module name="teststdrpl">
<module name="timedbans">
<module name="tline">
<module name="topiclock">
<module name="uhnames">
<module name="uninvite">
<module name="userip">
<module name="vhost">
<module name="watch">
<module name="websocket">
<module name="xline_db">

View File

@ -1 +0,0 @@
-