InspIRCd v4 is still early in development!

If you use this branch you may experience crashes, weird behaviour, and unannounced breaking changes.

You probably want to use InspIRCd v3 instead.

Module List

This is a complete list of all modules that ship with InspIRCd. If you have installed from source you can also install third-party modules which have been created by the InspIRCd community using the Module Manager.

Default Modules

These modules require no dependencies and will always be available.

Name Description
abbreviation Allows commands to be abbreviated by appending a full stop.
account Adds support for user accounts.
alias Allows the server administrator to define custom channel commands (e.g. !kick) and server commands (e.g. /OPERSERV).
allowinvite Adds channel mode A (allowinvite) which allows unprivileged users to use the /INVITE command and extended ban A: (blockinvite) which bans specific masks from using the /INVITE command.
alltime Adds the /ALLTIME command which allows server operators to see the current UTC time on all of the servers on the network.
anticaps Adds channel mode B (anticaps) which allows channels to block messages which are excessively capitalised.
auditorium Adds channel mode u (auditorium) which hides unprivileged users in a channel from each other.
autoop Adds channel mode w (autoop) which allows channel operators to define an access list which gives status ranks to users on join.
banexception Adds channel mode e (banexception) which allows channel operators to exempt user masks from channel mode b (ban).
banredirect Allows specifying a channel to redirect a banned user to in the ban mask.
bcrypt Allows other modules to generate bcrypt hashes.
blockamsg Blocks mass messages sent using the /AME and /AMSG commands that exist in clients such as mIRC and HexChat.
blockcolor Adds channel mode c (blockcolor) which allows channels to block messages which contain IRC formatting codes.
botmode Adds user mode B (bot) which marks users with it set as bots in their /WHOIS response.
callerid Provides user mode g (callerid) which allows users to require that other users are on their whitelist before messaging them.
cap Implements support for the IRCv3 Client Capability Negotiation extension.
cban Adds the /CBAN command which allows server operators to prevent channels matching a glob from being created.
chancreate Sends a notice to snomasks j (local) and J (remote) when a channel is created.
chanfilter Adds channel mode g (filter) which allows channel operators to define glob patterns for inappropriate phrases that are not allowed to be used in the channel.
chanhistory Adds channel mode H (history) which allows message history to be viewed on joining the channel.
chanlog Allows messages sent to snomasks to be logged to a channel.
channames Allows the server administrator to define what characters are allowed in channel names.
channelban Adds extended ban j: (channel) which checks whether users are in a channel matching the specified glob pattern.
check Adds the /CHECK command which allows server operators to look up details about a channel, user, IP address, or hostname.
chghost Adds the /CHGHOST command which allows server operators to change the displayed hostname of a user.
chgident Adds the /CHGIDENT command which allows server operators to change the username of a user.
chgname Adds the /CHGNAME command which allows server operators to change the real name of a user.
classban Adds extended ban n: (class) which check whether users are in a connect class matching the specified glob pattern.
clearchan Adds the /CLEARCHAN command which allows server operators to mass-punish the members of a channel.
cloak Adds user mode x (cloak) which allows user hostnames to be hidden.
cloak_md5 Adds the half and full cloaking methods for use with the cloak module.
cloak_sha256 Adds the hmac-sha256 and hmac-sha256-addr cloaking methods for use with the cloak module.
cloak_static Adds the static cloaking method for use with the cloak module.
cloak_user Adds the account, account-id, fingerprint, nickname, and username cloaking methods for use with the cloak module.
codepage Allows the server administrator to define what characters are allowed in nicknames and how characters should be compared in a case insensitive way.
commonchans Adds user mode c (deaf_commonchan) which requires users to have a common channel before they can privately message each other.
conn_join Allows the server administrator to force users to join one or more channels on connect.
conn_umodes Allows the server administrator to set user modes on connecting users.
conn_waitpong Requires all clients to respond to a PING request before they can fully connect.
connectban Z-lines IP addresses which make excessive connections to the server.
connflood Throttles excessive connections to the server.
customprefix Allows the server administrator to configure custom channel prefix modes.
customtitle Allows the server administrator to define accounts which can grant a custom title in /WHOIS and an optional virtual host.
cycle Allows channel members to part and rejoin a channel without needing to worry about channel modes such as +i (inviteonly) which might prevent rejoining.
dccallow Allows the server administrator to configure what files are allowed to be sent via DCC SEND and allows users to configure who can send them DCC CHAT and DCC SEND requests.
deaf Adds user modes d (deaf) and D (privdeaf) which prevents users from receiving channel (deaf) or private (privdeaf) messages.
delayjoin Adds channel mode D (delayjoin) which hides JOIN messages from users until they speak.
delaymsg Adds channel mode d (delaymsg) which prevents newly joined users from speaking until the specified number of seconds have passed.
denychans Allows the server administrator to prevent users from joining channels matching a glob.
disable Allows commands, channel modes, and user modes to be disabled.
dnsbl Allows the server administrator to check the IP address of connecting users against a DNSBL.
exemptchanops Adds channel mode X (exemptchanops) which allows channel operators to grant exemptions to various channel-level restrictions.
filter Adds the /FILTER command which allows server operators to define regex matches for inappropriate phrases that are not allowed to be used in channel messages, private messages, part messages, or quit messages.
gateway Adds the ability for IRC gateways to forward the real IP address of users connecting through them.
geoban Adds extended ban G: (country) which matches against two letter country codes.
geoclass Allows the server administrator to assign users to connect classes by the country they are connecting from.
globalload Adds the /GLOADMODULE, /GRELOADMODULE, and /GUNLOADMODULE commands which allows server operators to load, reload, and unload modules on remote servers.
globops Adds the /GLOBOPS command which allows server operators to send messages to all server operators with the g (globops) snomask.
haproxy Allows IRC connections to be made using reverse proxies that implement the HAProxy PROXY protocol.
help Adds the /HELPOP command which allows users to view help on various topics.
helpmode Adds user mode h (helpop) which marks a user as being available for help.
hidechans Adds user mode I (hidechans) which hides the channels users with it set are in from their /WHOIS response.
hidelist Allows list mode lists to be hidden from users without a prefix mode ranked equal to or higher than a defined level.
hidemode Allows mode changes to be hidden from users without a prefix mode ranked equal to or higher than a defined level.
hideoper Adds user mode H (hideoper) which hides the server operator status of a user from unprivileged users.
hostcycle Sends a fake disconnection and reconnection when a user's username or hostname changes to allow clients to update their internal caches.
httpd Allows the server administrator to serve various useful resources over HTTP.
httpd_acl Allows the server administrator to control who can access resources served over HTTP with the httpd module.
httpd_config Allows the server configuration to be viewed over HTTP via the /config path.
httpd_stats Provides XML-serialised statistics about the server, channels, and users over HTTP via the /stats path.
ident Allows the usernames of users to be looked up using the RFC 1413 Identification Protocol.
inviteexception Adds channel mode I (invex) which allows channel operators to exempt user masks from channel mode i (inviteonly).
ircv3 Provides the IRCv3 account-notify, away-notify, and extended-join client capabilities.
ircv3_accounttag Provides the IRCv3 account-tag client capability.
ircv3_batch Provides the IRCv3 batch client capability.
ircv3_capnotify Provides the IRCv3 cap-notify client capability.
ircv3_chghost Provides the IRCv3 chghost client capability.
ircv3_ctctags Provides the IRCv3 message-tags client capability.
ircv3_echomessage Provides the IRCv3 echo-message client capability.
ircv3_invitenotify Provides the IRCv3 invite-notify client capability.
ircv3_labeledresponse Provides support for the IRCv3 Labeled Response specification.
ircv3_msgid Provides support for the IRCv3 Message IDs specification.
ircv3_servertime Provides the IRCv3 server-time client capability.
ircv3_sts Adds support for the IRCv3 Strict Transport Security specification.
joinflood Adds channel mode j (joinflood) which helps protect against spammers which mass-join channels.
kicknorejoin Adds channel mode J (kicknorejoin) which prevents users from rejoining after being kicked from a channel.
knock Adds the /KNOCK command which allows users to request access to an invite-only channel and channel mode K (noknock) which allows channels to disable usage of this command.
ldapauth Allows connecting users to be authenticated against an LDAP database.
ldapoper Allows server operators to be authenticated against an LDAP database.
log_sql Provides the ability to log to an SQL database.
maphide Allows the server administrator to replace the output of a /MAP and /LINKS with an URL.
md5 Allows other modules to generate MD5 hashes.
messageflood Adds channel mode f (flood) which helps protect against spammers which mass-message channels.
monitor Adds the /MONITOR command which allows users to find out when their friends are connected to the server.
multiprefix Provides the IRCv3 multi-prefix client capability.
muteban Adds extended ban m: (mute) which bans specific masks from speaking in a channel.
namedmodes Provides support for adding and removing modes via their long names.
nickflood Adds channel mode F (nickflood) which helps protect against spammers which mass-change nicknames.
nicklock Adds the /NICKLOCK command which allows server operators to change a user's nickname and prevent them from changing it again until they disconnect.
noctcp Adds channel mode C (noctcp) which allows channels to block messages which contain CTCPs and user mode T (u_noctcp) which allows users to block private messages that contain CTCPs.
nokicks Adds channel mode Q (nokick) which prevents privileged users from using the /KICK command.
nonicks Adds channel mode N (nonick) which prevents users from changing their nickname whilst in the channel.
nonotice Adds channel mode T (nonotice) which allows channels to block messages sent with the /NOTICE command.
ojoin Adds the /OJOIN command which allows server operators to join a channel and receive the server operator-only Y (official-join) channel prefix mode.
operchans Adds channel mode O (operonly) which prevents non-server operators from joining the channel.
operjoin Allows the server administrator to force server operators to join one or more channels when logging into their server operator account.
operlevels Allows the server administrator to define ranks for server operators which prevent lower ranked server operators from using /KILL on higher ranked server operators.
operlog Allows the server administrator to make the server log when a server operator-only command is executed.
opermodes Allows the server administrator to set user modes on server operators when they log into their server operator account.
opermotd Adds the /OPERMOTD command which adds a special message of the day for server operators.
operprefix Adds the server operator-only y (operprefix) channel prefix mode.
opmoderated Adds channel mode U (opmoderated) which hides the messages of unprivileged users from other unprivileged users.
override Allows server operators to be given privileges that allow them to ignore various channel-level restrictions.
passforward Allows an account password to be forwarded to a services pseudoclient such as NickServ.
password_hash Allows passwords to be hashed and adds the /MKPASSWD command which allows the generation of hashed passwords for use in the server configuration.
pbkdf2 Allows other modules to generate PBKDF2 hashes.
permchannels Adds channel mode P (permanent) which prevents the channel from being deleted when the last user leaves.
randquote Allows random quotes to be sent to users when they connect to the server.
realnameban Adds extended bans a: (realmask) and r:(realname) which checks whether users have a real name matching the specified glob pattern.
redirect Allows users to be redirected to another channel when the user limit is reached.
regex_glob Provides the glob regular expression engine which uses the built-in glob matching system.
regex_stdlib Provides the stdregex regular expression engine which uses the C++11 std::regex regular expression matching system.
remove Adds the /REMOVE command which allows channel operators to force part users from a channel.
repeat Adds channel mode E (repeat) which helps protect against spammers which spam the same message repeatedly.
restrictchans Prevents unprivileged users from creating new channels.
restrictmsg Prevents users who are not server operators from messaging each other.
rline Adds the /RLINE command which allows server operators to prevent users matching a nickname!username@hostname+realname regular expression from connecting to the server.
rmode Allows removal of channel list modes using glob patterns.
sajoin Adds the /SAJOIN command which allows server operators to force users to join one or more channels.
sakick Adds the /SAKICK command which allows server operators to kick users from a channel without having any privileges in the channel.
samode Adds the /SAMODE command which allows server operators to change the modes of a target (channel, user) that they would not otherwise have the privileges to change.
sanick Adds the /SANICK command which allows server operators to change the nickname of a user.
sapart Adds the /SAPART command which allows server operators to force part users from one or more channels without having any privileges in these channels.
saquit Adds the /SAQUIT command which allows server operators to disconnect users from the server.
sasl Provides the IRCv3 sasl client capability.
satopic Adds the /SATOPIC command which allows server operators to change the topic of a channel that they would not otherwise have the privileges to change.
securelist Prevents users from using the /LIST command until a predefined period has passed.
seenicks Sends a notice to snomasks n (local) and N (remote) when a user changes their nickname.
serverban Adds extended ban s: (server) which check whether users are on a server matching the specified glob pattern.
services Provides support for integrating with a services server.
sethost Adds the /SETHOST command which allows server operators to change their displayed hostname.
setident Adds the /SETIDENT command which allows server operators to change their username.
setidle Adds the /SETIDLE command which allows server operators to change their idle time.
setname Adds the /SETNAME command which allows users to change their real name.
sha1 Allows other modules to generate SHA-1 hashes.
sha2 Allows other modules to generate SHA-2 hashes.
showfile Adds support for showing the contents of files to users when they execute a command.
showwhois Adds user mode W (showwhois) which allows users to be informed when someone does a /WHOIS query on their nick.
shun Adds the /SHUN command which allows server operators to prevent users from executing commands.
silence Adds the /SILENCE command which allows users to ignore other users on server-side.
spanningtree Allows linking multiple servers together as part of one network.
sqlauth Allows connecting users to be authenticated against an arbitrary SQL table.
sqloper Allows server operators to be authenticated against an SQL table.
sslinfo Adds user facing TLS information, various TLS configuration options, and the /SSLINFO command to look up TLS certificate information for other users.
sslmodes Adds channel mode z (sslonly) which prevents users who are not connecting using TLS from joining the channel and user mode z (sslqueries) to prevent messages from non-TLS users.
starttls Provides the IRCv3 tls client capability.
stripcolor Adds channel mode S (stripcolor) which allows channels to strip IRC formatting codes from messages.
swhois Adds the /SWHOIS command which adds custom lines to a user's WHOIS response.
timedbans Adds the /TBAN command which allows channel operators to add bans which will be expired after the specified period.
tline Adds the /TLINE command which allows server operators to determine how many users would be affected by an X-line on a specified pattern.
uhnames Provides the IRCv3 userhost-in-names client capability.
uninvite Adds the /UNINVITE command which allows users who have invited another user to a channel to withdraw their invite.
vhost Allows the server administrator to define accounts which can grant a custom virtual host.
watch Adds the /WATCH command which allows users to find out when their friends are connected to the server.
websocket Allows WebSocket clients to connect to the IRC server.
xline_db Allows X-lines to be saved and reloaded on restart.

Extra Modules

These modules require third-party dependencies to be installed and have to be enabled at compile time. See the specific module page for details on how to enable these.

Name Description
argon2 Allows other modules to generate Argon2 hashes.
geo_maxmind Allows the server to perform geolocation lookups on both IP addresses and users.
ldap Provides the ability for LDAP modules to query a LDAP directory.
log_json Provides the ability to log to a JSON file.
log_syslog Provides the ability to log to syslog.
mysql Provides the ability for SQL modules to query a MySQL database.
pgsql Provides the ability for SQL modules to query a PostgreSQL database.
regex_pcre Provides the pcre regular expression engine which uses the PCRE2 library.
regex_posix Provides the posix regular expression engine which uses the POSIX.2 regular expression matching system.
regex_re2 Provides the re2 regular expression engine which uses the RE2 library.
sqlite3 Provides the ability for SQL modules to query a SQLite 3 database.
ssl_gnutls Allows TLS encrypted connections using the GnuTLS library.
ssl_mbedtls Allows TLS encrypted connections using the mbedTLS library.
ssl_openssl Allows TLS encrypted connections using the OpenSSL library.
sslrehashsignal Allows the SIGUSR1 signal to be sent to the server to reload TLS certificates.