X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/4606e8fc6c29342fe831541ea5fcd6617e4e372f..ef07b59ac8b60bec3cb532137921b7703494766d:/doc/example.conf diff --git a/doc/example.conf b/doc/example.conf index b00a29f..d2153ae 100755 --- a/doc/example.conf +++ b/doc/example.conf @@ -10,34 +10,49 @@ */ /* Extensions */ +#loadmodule "extensions/chm_adminonly.so"; +loadmodule "extensions/chm_operonly.so"; +#loadmodule "extensions/chm_sslonly.so"; #loadmodule "extensions/chm_operonly_compat.so"; #loadmodule "extensions/chm_quietunreg_compat.so"; #loadmodule "extensions/chm_sslonly_compat.so"; #loadmodule "extensions/createauthonly.so"; -#loadmodule "extensions/extb_account.so"; -#loadmodule "extensions/extb_canjoin.so"; -#loadmodule "extensions/extb_channel.so"; -#loadmodule "extensions/extb_extgecos.so"; -#loadmodule "extensions/extb_oper.so"; -#loadmodule "extensions/extb_realname.so"; +loadmodule "extensions/extb_account.so"; +loadmodule "extensions/extb_canjoin.so"; +loadmodule "extensions/extb_channel.so"; +loadmodule "extensions/extb_extgecos.so"; +loadmodule "extensions/extb_oper.so"; +loadmodule "extensions/extb_realname.so"; #loadmodule "extensions/extb_server.so"; #loadmodule "extensions/extb_ssl.so"; #loadmodule "extensions/hurt.so"; -#loadmodule "extensions/ip_cloaking.so"; +loadmodule "extensions/ip_cloaking.so"; #loadmodule "extensions/m_findforwards.so"; -#loadmodule "extensions/m_identify.so"; +loadmodule "extensions/m_identify.so"; +loadmodule "extensions/m_mkpasswd.so"; +loadmodule "extensions/m_webirc.so"; +#loadmodule "extensions/m_cycle.so"; +#loadmodule "extensions/m_oaccept.so"; +#loadmodule "extensions/m_opme.so"; +#loadmodule "extensions/m_ojoin.so"; +#loadmodule "extensions/m_omode.so"; +#loadmodule "extensions/m_olist.so"; +#loadmodule "extensions/m_okick.so"; +#loadmodule "extensions/m_force.so"; #loadmodule "extensions/no_oper_invis.so"; -#loadmodule "extensions/sno_farconnect.so"; -#loadmodule "extensions/sno_globalkline.so"; -#loadmodule "extensions/sno_globaloper.so"; +loadmodule "extensions/sno_farconnect.so"; +loadmodule "extensions/sno_globalkline.so"; +loadmodule "extensions/sno_globaloper.so"; #loadmodule "extensions/sno_whois.so"; serverinfo { name = "hades.arpa"; sid = "42X"; - description = "charybdis test server"; + description = "shadowircd test server"; network_name = "AthemeNET"; network_desc = "Your IRC network."; + helpchan = "#help"; + helpurl = "http://www.mynet.net/help"; hub = yes; /* On multi-homed hosts you may need the following. These define @@ -160,6 +175,17 @@ auth { */ spoof = "I.still.hate.packets"; + /* autojoin: Channel (or channels, comma-seperated) to join users + * in this auth block to on connect. Note that this won't join + * the user through any bans or otherwise restrictive chmodes. + */ + autojoin = "#shadowircd,#test"; + + /* autojoin_opers : Channel (or channels, comma-seperated) to join + * opers to on oper-up. + */ + autojoin_opers = "#opers,#help"; + /* Possible flags in auth: * * encrypted | password is encrypted with mkpasswd @@ -185,6 +211,24 @@ auth { class = "opers"; }; +/* Example WEBIRC authblock */ +auth { + /* user: webirc@IP.OF.YOUR.WEBIRC . the webirc@ part is required */ + user = "webirc@192.168.1.1"; + + /* password: password the webirc client sends in the WEBIRC command. + * You can use a encrypted password here (see above auth block). + */ + password = ""; + + /* spoof: This is required to keep it what it is currently if you + * want the webirc client to show the users' real host as their + * host on IRC. + */ + spoof = "webirc."; + class = "users"; +}; + auth { user = "*@*"; class = "users"; @@ -210,7 +254,7 @@ privset "global_op" { privset "admin" { extends = "global_op"; - privs = oper:admin, oper:die, oper:rehash, oper:spy; + privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:override; }; operator "god" { @@ -240,11 +284,34 @@ operator "god" { */ #umodes = locops, servnotice, operwall, wallop; + /* fingerprint: if specified, the oper's client certificate + * fingerprint will be checked against the specified fingerprint + * below. + */ + #fingerprint = "c77106576abf7f9f90cca0f63874a60f2e40a64b"; + /* snomask: specific server notice mask on oper up. * If this is specified an oper will not be given oper_snomask. */ snomask = "+Zbfkrsuy"; + /* vhost: defines the vhost that this oper will get on oper up. + * this must be a valid hostmask. If this is specified the oper + * will not be given default_operhost. + */ + vhost = "is.an.oper"; + + /* swhois: defines an additional line that will be displayed + * whenever someone does /whois on the oper in question. + */ + swhois = "is wearing pants."; + + /* operstring: defines a custom operstring for this oper, + * which will be shown in whois instead of default_operstring + * or default_adminstring. + */ + operstring = "is a lazy IRC Operator"; + /* flags: misc options for the operator. You may prefix an option * with ~ to disable it, e.g. ~encrypted. * @@ -296,7 +363,7 @@ cluster { shared { oper = "*@*", "*"; - flags = all, rehash; + flags = all; }; /* exempt {}: IPs that are exempt from Dlines and rejectcache. (OLD d:) */ @@ -305,10 +372,15 @@ exempt { }; channel { + autochanmodes = "nt"; + exemptchanops = "NT"; + use_halfop = yes; + use_admin = yes; use_invex = yes; use_except = yes; use_knock = yes; use_forward = yes; + use_local_channels = yes; knock_delay = 5 minutes; knock_delay_channel = 1 minute; max_chans_per_user = 15; @@ -321,7 +393,10 @@ channel { burst_topicwho = yes; kick_on_split_riding = no; only_ascii_channels = no; + cycle_host_change = yes; + host_in_topic = yes; resv_forcepart = yes; + kick_no_rejoin_time = 30 seconds; }; serverhide { @@ -381,6 +456,14 @@ alias "MemoServ" { target = "MemoServ"; }; +alias "HostServ" { + target = "HostServ"; +}; + +alias "BotServ" { + target = "BotServ"; +}; + alias "NS" { target = "NickServ"; }; @@ -397,20 +480,30 @@ alias "MS" { target = "MemoServ"; }; +alias "HS" { + target = "HostServ"; +}; + +alias "BS" { + target = "BotServ"; +}; + general { hide_error_messages = opers; hide_spoof_ips = yes; /* - * default_umodes: umodes to enable on connect. - * If you have enabled the ip_cloaking module, and you want - * to make use of it, add +h to this option, i.e.: - * default_umodes = "+ih"; + * default umodes: umodes to set upon connection + * If you have enabled the ip_cloaking extension, and you wish for + * incoming clients to be cloaked upon connection, +x must be in + * the umode string below. */ - default_umodes = "+i"; + default_umodes = "+ix"; default_operstring = "is an IRC Operator"; default_adminstring = "is a Server Administrator"; + default_operhost = "staff.testnet.net"; + #static_quit = "I like turtles!"; servicestring = "is a Network Service"; disable_fake_channels = no; tkline_expire_notices = no; @@ -425,6 +518,7 @@ general { max_nick_time = 20 seconds; max_nick_changes = 5; anti_spam_exit_message_time = 5 minutes; + use_part_messages = yes; ts_warn_delta = 30 seconds; ts_max_delta = 5 minutes; client_exit = yes; @@ -438,6 +532,7 @@ general { identify_command = "IDENTIFY"; non_redundant_klines = yes; warn_no_nline = yes; + use_propagated_bans = yes; stats_e_disabled = no; stats_c_oper_only=no; stats_h_oper_only=no; @@ -449,6 +544,7 @@ general { map_oper_only = no; operspy_admin_only = no; operspy_dont_care_user_info = no; + secret_channels_in_whois = no; caller_id_wait = 1 minute; pace_wait_simple = 1 second; pace_wait = 10 seconds; @@ -457,6 +553,7 @@ general { connect_timeout = 30 seconds; disable_auth = no; no_oper_flood = yes; + true_no_oper_flood = no; max_targets = 4; client_flood = 20; use_whois_actually = no; @@ -470,6 +567,7 @@ general { reject_duration = 5 minutes; throttle_duration = 60; throttle_count = 4; + expire_override_time = 5 minutes; }; modules {