238 lines
8.9 KiB
Plaintext
238 lines
8.9 KiB
Plaintext
/* This file will load (nearly) all modules available on UnrealIRCd.
|
|
* So all commands, channel modes, user modes, etc..
|
|
*
|
|
* If you want to have all UnrealIRCd functionality, then include this
|
|
* file from your unrealircd.conf by using:
|
|
* include "modules.default.conf";
|
|
*
|
|
* DO NOT EDIT THIS FILE! IT WILL BE OVERWRITTEN DURING NEXT UPGRADE!!
|
|
* If you want to customize the modules to load you have two options:
|
|
* 1) Keep the include for modules.default.conf as usual and make use
|
|
* of blacklist-module "xyz"; to selectively disable modules.
|
|
* See https://www.unrealircd.org/docs/Blacklist-module_directive
|
|
* 2) OR, make a copy of this file (eg: name it modules.custom.conf)
|
|
* and edit it. Then include that file from your unrealircd.conf
|
|
* instead of this one.
|
|
* The downside of option #2 is that you will need to track changes
|
|
* in the original modules.default.conf with each new UnrealIRCd
|
|
* release to make sure you don't miss any new functionality (as new
|
|
* important modules may be added you need to add them to your conf).
|
|
* You don't have this problem with option #1.
|
|
*/
|
|
|
|
/*** Cloaking (for user mode +x) ***/
|
|
loadmodule "cloak";
|
|
|
|
|
|
/*** Commands ***/
|
|
|
|
// User commands (MINIMAL)
|
|
// These provide just the minimal set of IRC commands that are
|
|
// required by RFC1459 along with WATCH and MAP.
|
|
loadmodule "admin";
|
|
loadmodule "away";
|
|
loadmodule "invite";
|
|
loadmodule "ison";
|
|
loadmodule "join";
|
|
loadmodule "kick";
|
|
loadmodule "links";
|
|
loadmodule "list";
|
|
loadmodule "lusers";
|
|
loadmodule "map";
|
|
loadmodule "message";
|
|
loadmodule "mode";
|
|
loadmodule "motd";
|
|
loadmodule "names";
|
|
loadmodule "nick";
|
|
loadmodule "part";
|
|
loadmodule "pass";
|
|
loadmodule "pingpong";
|
|
loadmodule "protoctl";
|
|
loadmodule "quit";
|
|
loadmodule "rules";
|
|
loadmodule "topic";
|
|
loadmodule "user";
|
|
loadmodule "userhost";
|
|
loadmodule "watch";
|
|
loadmodule "whox";
|
|
loadmodule "whois";
|
|
loadmodule "whowas";
|
|
|
|
// User commands (EXTENDED)
|
|
// These are commands that provide extended functionality.
|
|
loadmodule "botmotd";
|
|
loadmodule "cap";
|
|
loadmodule "cycle";
|
|
loadmodule "dccallow";
|
|
loadmodule "help";
|
|
loadmodule "knock";
|
|
loadmodule "lag";
|
|
loadmodule "sasl";
|
|
loadmodule "setname";
|
|
loadmodule "silence";
|
|
loadmodule "starttls";
|
|
loadmodule "time";
|
|
loadmodule "userip";
|
|
loadmodule "vhost";
|
|
loadmodule "history";
|
|
|
|
// IRC Operator commands
|
|
// Note: several of these like kill are also server-to-server commands
|
|
// which are required if you link to other servers.
|
|
loadmodule "addmotd";
|
|
loadmodule "addomotd";
|
|
loadmodule "chghost";
|
|
loadmodule "chgident";
|
|
loadmodule "chgname";
|
|
loadmodule "close";
|
|
loadmodule "connect";
|
|
loadmodule "squit";
|
|
loadmodule "dccdeny";
|
|
loadmodule "globops";
|
|
loadmodule "kill"; /* also server-to-server */
|
|
loadmodule "locops";
|
|
loadmodule "mkpasswd";
|
|
loadmodule "oper";
|
|
loadmodule "opermotd";
|
|
loadmodule "sajoin";
|
|
loadmodule "samode";
|
|
loadmodule "sapart";
|
|
loadmodule "sdesc";
|
|
loadmodule "sethost";
|
|
loadmodule "setident";
|
|
loadmodule "stats";
|
|
loadmodule "tkl"; /* also server-to-server */
|
|
loadmodule "trace";
|
|
loadmodule "tsctl";
|
|
loadmodule "unsqline";
|
|
loadmodule "wallops";
|
|
loadmodule "jumpserver";
|
|
|
|
// Server-to-server commands
|
|
// Don't remove these, unless you never link to other servers.
|
|
loadmodule "eos";
|
|
loadmodule "md";
|
|
loadmodule "netinfo";
|
|
loadmodule "server";
|
|
loadmodule "sjoin";
|
|
loadmodule "sqline";
|
|
loadmodule "swhois";
|
|
loadmodule "umode2";
|
|
loadmodule "sinfo";
|
|
loadmodule "require-module";
|
|
|
|
// Services commands
|
|
// You could disable these if you don't use Services
|
|
// https://www.unrealircd.org/docs/Services
|
|
loadmodule "sendsno";
|
|
loadmodule "sendumode";
|
|
loadmodule "svsjoin";
|
|
loadmodule "svskill";
|
|
loadmodule "svslusers";
|
|
loadmodule "svsmode";
|
|
loadmodule "svsmotd";
|
|
loadmodule "svsnick";
|
|
loadmodule "svsnline";
|
|
loadmodule "svsnolag";
|
|
loadmodule "svsnoop";
|
|
loadmodule "svspart";
|
|
loadmodule "svssilence";
|
|
loadmodule "svssno";
|
|
loadmodule "svswatch";
|
|
|
|
|
|
/*** Channel modes ***/
|
|
loadmodule "chanmodes/floodprot"; /* +f */
|
|
loadmodule "chanmodes/nocolor"; /* +c */
|
|
loadmodule "chanmodes/noctcp"; /* +C */
|
|
loadmodule "chanmodes/stripcolor"; /* +S */
|
|
loadmodule "chanmodes/issecure"; /* +Z */
|
|
loadmodule "chanmodes/permanent"; /* +P */
|
|
loadmodule "chanmodes/link"; /* +L */
|
|
loadmodule "chanmodes/censor"; /* +G */
|
|
loadmodule "chanmodes/delayjoin"; /* +D */
|
|
loadmodule "chanmodes/noknock"; /* +K */
|
|
loadmodule "chanmodes/noinvite"; /* +V */
|
|
loadmodule "chanmodes/operonly"; /* +O */
|
|
loadmodule "chanmodes/nonotice"; /* +T */
|
|
loadmodule "chanmodes/regonly"; /* +R */
|
|
loadmodule "chanmodes/nonickchange"; /* +N */
|
|
loadmodule "chanmodes/nokick"; /* +Q */
|
|
loadmodule "chanmodes/regonlyspeak"; /* +M */
|
|
loadmodule "chanmodes/secureonly"; /* +z */
|
|
loadmodule "chanmodes/history"; /* +H */
|
|
|
|
|
|
/*** User modes ***/
|
|
loadmodule "usermodes/bot"; /* +B (mark yourself as a bot) */
|
|
loadmodule "usermodes/servicebot"; /* +S (service bot) */
|
|
loadmodule "usermodes/noctcp"; /* +T (block CTCP's) */
|
|
loadmodule "usermodes/censor"; /* +G (censor bad words) */
|
|
loadmodule "usermodes/showwhois"; /* +W (show if someone does /WHOIS) */
|
|
loadmodule "usermodes/privacy"; /* +p (privacy, hide channels in /WHOIS) */
|
|
loadmodule "usermodes/nokick"; /* +q (unkickable oper) */
|
|
loadmodule "usermodes/regonlymsg"; /* +R (only registered users may private message you) */
|
|
loadmodule "usermodes/secureonlymsg"; /* +Z (only SSL/TLS users may private message you) */
|
|
loadmodule "usermodes/privdeaf"; /* +D (don't let other user PM you) */
|
|
|
|
|
|
/*** Server notice masks */
|
|
loadmodule "snomasks/dccreject"; /* +D (rejected DCC's) */
|
|
|
|
|
|
/*** Extended Bans ***/
|
|
loadmodule "extbans/join"; /* +b ~j (prevent only joins) */
|
|
loadmodule "extbans/quiet"; /* +b ~q (prevent only messaging) */
|
|
loadmodule "extbans/nickchange"; /* +b ~n (prevent only nick changes) */
|
|
loadmodule "extbans/realname"; /* +b ~r (ban by real name) */
|
|
loadmodule "extbans/account"; /* +b ~a (ban/exempt if logged in with services account) */
|
|
loadmodule "extbans/inchannel"; /* +b ~c (ban/exempt if in channel) */
|
|
loadmodule "extbans/operclass"; /* +b ~O (ban/exempt by operclass) */
|
|
loadmodule "extbans/certfp"; /* +b ~S (ban/exempt by certfp) */
|
|
loadmodule "extbans/textban"; /* +b ~T (censor or block text) */
|
|
loadmodule "extbans/msgbypass"; /* +e ~m (bypass message restrictions) */
|
|
loadmodule "extbans/timedban"; /* +b ~t (timed bans / temporary bans) */
|
|
loadmodule "extbans/partmsg"; /* +b ~p (hide part/quit message) */
|
|
loadmodule "extbans/securitygroup"; /* +b ~G (security group) */
|
|
|
|
|
|
/** IRCv3 extensions */
|
|
loadmodule "account-notify"; /* send ACCOUNT message upon services account login */
|
|
loadmodule "message-tags"; /* add tags to messages, required for various IRCv3 features */
|
|
loadmodule "batch"; /* also required for several IRCv3 features */
|
|
loadmodule "server-time"; /* adds server timestamp to various messages */
|
|
loadmodule "message-ids"; /* adds unique msgid to various messages */
|
|
loadmodule "account-tag"; /* adds services account information to messages */
|
|
loadmodule "echo-message"; /* shows clients if their messages are altered/filtered */
|
|
loadmodule "labeled-response"; /* correlate requests and responses easily */
|
|
loadmodule "bot-tag"; /* indicate the message comes from a bot (draft/bot) */
|
|
loadmodule "typing-indicator"; /* typing indicator in PM and channels (+typing) */
|
|
loadmodule "reply-tag"; /* indicate to which message you are responding (+draft/reply) */
|
|
loadmodule "clienttagdeny"; /* informs clients about supported client-only message tags */
|
|
loadmodule "sts"; /* strict transport policy (set::tls::sts-policy) */
|
|
loadmodule "link-security"; /* link-security announce */
|
|
loadmodule "plaintext-policy"; /* plaintext-policy announce */
|
|
loadmodule "chathistory"; /* CHATHISTORY client command, 005 and a CAP (draft) */
|
|
|
|
|
|
/*** Other ***/
|
|
// These are modules that don't fit in any of the previous sections
|
|
loadmodule "ident_lookup"; /* Ident lookups if set::options::identd-check is set*/
|
|
loadmodule "certfp"; /* SSL/TLS certificate fingerprint in /WHOIS (& more) */
|
|
loadmodule "tls_antidos"; /* prevent TLS DoS (renegotiate floods) */
|
|
loadmodule "webirc"; /* WEBIRC command. See webirc block. */
|
|
loadmodule "blacklist"; /* Blacklist support (DNSBL). See blacklist block. */
|
|
loadmodule "jointhrottle"; /* set::anti-flood::join-flood (previously chanmode +j) */
|
|
loadmodule "charsys"; /* Provides set::allowed-nickchars (must always be loaded!) */
|
|
loadmodule "authprompt"; /* Authentication prompt, see set::authentication-prompt */
|
|
loadmodule "history_backend_mem"; /* History storage backend (used by chanmodes/history) */
|
|
loadmodule "tkldb"; /* Write TKLines to .db file */
|
|
loadmodule "channeldb"; /* Write channel settings to .db file (+P channels only) */
|
|
loadmodule "rmtkl"; /* Easily remove *-Lines in bulk with /RMTKL */
|
|
loadmodule "restrict-commands"; /* Provides set::restrict-commands settings */
|
|
loadmodule "reputation"; /* used by Connthrottle and others, see next */
|
|
loadmodule "connthrottle"; /* see https://www.unrealircd.org/docs/Connthrottle */
|
|
loadmodule "userip-tag"; /* unrealircd.org/userip tag for ircops */
|
|
loadmodule "userhost-tag"; /* unrealircd.org/userhost tag for ircops */
|
|
loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
|