mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-01 14:46:38 +02:00
5ebd096f16
This also includes buffer modifications to have a larger read buffer and IRCv3 implementations (partial or not) for: labeled-response, msgid, server-time, batch and account-tag. As said, it is the initial and partial implementation. There are still various FIXME's and TODO's, the API of various functions may still change (actually that is true for the next months, even) and some stuff is currently in the core that will be moved to modules.
220 lines
7.4 KiB
Plaintext
220 lines
7.4 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 "m_admin";
|
|
loadmodule "m_away";
|
|
loadmodule "m_invite";
|
|
loadmodule "m_ison";
|
|
loadmodule "m_join";
|
|
loadmodule "m_kick";
|
|
loadmodule "m_links";
|
|
loadmodule "m_list";
|
|
loadmodule "m_lusers";
|
|
loadmodule "m_map";
|
|
loadmodule "m_message";
|
|
loadmodule "m_mode";
|
|
loadmodule "m_motd";
|
|
loadmodule "m_names";
|
|
loadmodule "m_nick";
|
|
loadmodule "m_part";
|
|
loadmodule "m_pass";
|
|
loadmodule "m_pingpong";
|
|
loadmodule "m_protoctl";
|
|
loadmodule "m_quit";
|
|
loadmodule "m_rules";
|
|
loadmodule "m_topic";
|
|
loadmodule "m_user";
|
|
loadmodule "m_userhost";
|
|
loadmodule "m_watch";
|
|
loadmodule "m_who";
|
|
loadmodule "m_whois";
|
|
loadmodule "m_whowas";
|
|
|
|
// User commands (EXTENDED)
|
|
// These are commands that provide extended functionality.
|
|
loadmodule "m_botmotd";
|
|
loadmodule "m_cap";
|
|
loadmodule "m_cycle";
|
|
loadmodule "m_dccallow";
|
|
loadmodule "m_help";
|
|
loadmodule "m_knock";
|
|
loadmodule "m_lag";
|
|
loadmodule "m_sasl";
|
|
loadmodule "m_setname";
|
|
loadmodule "m_silence";
|
|
loadmodule "m_starttls";
|
|
loadmodule "m_time";
|
|
loadmodule "m_userip";
|
|
loadmodule "m_vhost";
|
|
|
|
// IRC Operator commands
|
|
// Note: several of these like m_kill are also server-to-server commands
|
|
// which are required if you link to other servers.
|
|
loadmodule "m_addmotd";
|
|
loadmodule "m_addomotd";
|
|
loadmodule "m_chghost";
|
|
loadmodule "m_chgident";
|
|
loadmodule "m_chgname";
|
|
loadmodule "m_close";
|
|
loadmodule "m_connect";
|
|
loadmodule "m_squit";
|
|
loadmodule "m_dccdeny";
|
|
loadmodule "m_globops";
|
|
loadmodule "m_kill"; /* also server-to-server */
|
|
loadmodule "m_locops";
|
|
loadmodule "m_mkpasswd";
|
|
loadmodule "m_oper";
|
|
loadmodule "m_opermotd";
|
|
loadmodule "m_sajoin";
|
|
loadmodule "m_samode";
|
|
loadmodule "m_sapart";
|
|
loadmodule "m_sdesc";
|
|
loadmodule "m_sethost";
|
|
loadmodule "m_setident";
|
|
loadmodule "m_stats";
|
|
loadmodule "m_tkl"; /* also server-to-server */
|
|
loadmodule "m_trace";
|
|
loadmodule "m_tsctl";
|
|
loadmodule "m_undccdeny";
|
|
loadmodule "m_unsqline";
|
|
loadmodule "m_wallops";
|
|
loadmodule "jumpserver";
|
|
|
|
// Server-to-server commands
|
|
// Don't remove these, unless you never link to other servers.
|
|
loadmodule "m_eos";
|
|
loadmodule "m_md";
|
|
loadmodule "m_netinfo";
|
|
loadmodule "m_server";
|
|
loadmodule "m_sjoin";
|
|
loadmodule "m_sqline";
|
|
loadmodule "m_swhois";
|
|
loadmodule "m_umode2";
|
|
loadmodule "m_sinfo";
|
|
|
|
// Services commands
|
|
// You could disable these if you don't use Services
|
|
// https://www.unrealircd.org/docs/Services
|
|
loadmodule "m_sendsno";
|
|
loadmodule "m_sendumode";
|
|
loadmodule "m_svsfline";
|
|
loadmodule "m_svsjoin";
|
|
loadmodule "m_svskill";
|
|
loadmodule "m_svslusers";
|
|
loadmodule "m_svsmode";
|
|
loadmodule "m_svsmotd";
|
|
loadmodule "m_svsnick";
|
|
loadmodule "m_svsnline";
|
|
loadmodule "m_svsnolag";
|
|
loadmodule "m_svsnoop";
|
|
loadmodule "m_svspart";
|
|
loadmodule "m_svssilence";
|
|
loadmodule "m_svssno";
|
|
loadmodule "m_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 */
|
|
|
|
|
|
/*** 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/regnick"; /* +b ~R (ban/exempt if using registered nick) */
|
|
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) */
|
|
|
|
|
|
/*** CAP modules ***/
|
|
loadmodule "cap/sts"; /* strict transport policy (set::ssl::sts-policy) */
|
|
loadmodule "cap/plaintext-policy"; /* plaintext-policy announce */
|
|
loadmodule "cap/link-security"; /* link-security announce */
|
|
|
|
/*** Other ***/
|
|
// These are modules that don't fit in any of the previous sections
|
|
|
|
loadmodule "certfp"; /* SSL certificate fingerprint in /WHOIS (& more) */
|
|
loadmodule "ssl_antidos"; /* prevent SSL DoS (renegotiate floods) */
|
|
loadmodule "m_nopost"; /* Block POST commands (Firefox XPS IRC Attack) */
|
|
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!) */
|
|
|
|
/* TODO: FIXME: should we load these by default? */
|
|
loadmodule "cap/account-tag";
|
|
loadmodule "cap/batch";
|
|
loadmodule "cap/labeled-response";
|
|
loadmodule "cap/message-tags";
|
|
loadmodule "cap/msgid";
|
|
loadmodule "cap/server-time";
|