dn42-ansible/solanum/conf.j2

192 lines
3.7 KiB
Django/Jinja

loadmodule "extensions/chm_nonotice";
loadmodule "extensions/chm_operpeace";
#loadmodule "extensions/createauthonly";
loadmodule "extensions/extb_account";
loadmodule "extensions/extb_canjoin";
loadmodule "extensions/extb_channel";
loadmodule "extensions/extb_combi";
loadmodule "extensions/extb_extgecos";
loadmodule "extensions/extb_hostmask";
loadmodule "extensions/extb_oper";
loadmodule "extensions/extb_realname";
loadmodule "extensions/extb_server";
loadmodule "extensions/extb_ssl";
loadmodule "extensions/extb_usermode";
#loadmodule "extensions/hurt";
loadmodule "extensions/m_extendchans";
loadmodule "extensions/m_findforwards";
loadmodule "extensions/m_identify";
loadmodule "extensions/m_locops";
#loadmodule "extensions/no_oper_invis";
loadmodule "extensions/sno_farconnect";
loadmodule "extensions/sno_globalnickchange";
loadmodule "extensions/sno_globaloper";
loadmodule "extensions/override";
#loadmodule "extensions/no_kill_services";
loadmodule "extensions/ip_cloaking_4.0";
serverinfo {
name = "{{ inventory_hostname }}";
sid = "{{ solanum_sid }}";
description = "an IRC server run by AS4242422002";
network_name = "ReplIRC";
ssl_cert = "etc/cert.pem";
ssl_private_key = "etc/key.pem";
# ssl_dh_params = "etc/dh.pem";
ssld_count = 1;
default_max_clients = 1024;
nicklen = 30;
};
admin {
name = "9pfs (h)";
description = "AS4242422002";
email = "h+irc@9pfs.dn42";
};
class "users" {
ping_time = 2 minutes;
number_per_ident = 10;
number_per_ip = 10;
number_per_ip_global = 50;
cidr_ipv4_bitlen = 24;
cidr_ipv6_bitlen = 64;
number_per_cidr = 200;
max_number = 3000;
sendq = 400 kbytes;
};
class "opers" {
ping_time = 5 minutes;
max_number = 1000;
sendq = 1 megabyte;
};
class "server" {
ping_time = 5 minutes;
connectfreq = 30 seconds;
max_number = 10;
max_autoconn = 1;
sendq = 4 megabytes;
};
listen {
defer_accept = yes;
port = 6667;
sslport = 6697;
};
# My own dn42 network should be exempt from klines
auth {
user = "*@172.22.161.0/27";
flags = kline_exempt;
class = "users";
};
auth {
user = "*@fd32:6b0:70a6::/48";
flags = kline_exempt;
class = "users";
};
auth {
user = "*@*";
class = "users";
};
privset "local_op" {
privs = oper:general, oper:privs, oper:testline, oper:kill, oper:operwall, oper:message,
usermode:servnotice, auspex:oper, auspex:hostname, auspex:umodes, auspex:cmodes;
};
privset "server_bot" {
extends = "local_op";
privs = oper:kline, oper:remoteban, snomask:nick_changes;
};
privset "global_op" {
extends = "local_op";
privs = oper:routing, oper:kline, oper:unkline,oper:xline,
oper:resv, oper:cmodes, oper:mass_notice, oper:wallops,
oper:remoteban;
};
privset "admin" {
extends = "global_op";
privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:grant;
};
{% include 'connect.j2' %}
service {
name = "services.solanum.repl";
};
cluster {
name = "*";
flags = kline, tkline, unkline, xline, txline, unxline, resv, tresv, unresv;
};
secure {
ip = "127.0.0.1";
};
exempt {
ip = "127.0.0.1";
};
{% include 'channel.j2' %}
serverhide {
flatten_links = no;
links_delay = 5 minutes;
hidden = no;
disable_hidden = no;
};
dnsbl {
host = "rbl.efnetrbl.org";
type = ipv4;
reject_reason = "${nick}, your IP (${ip}) is listed in EFnet's RBL. For assistance, see http://efnetrbl.org/?i=${ip}";
};
alias "NickServ" {
target = "NickServ";
};
alias "ChanServ" {
target = "ChanServ";
};
alias "OperServ" {
target = "OperServ";
};
alias "MemoServ" {
target = "MemoServ";
};
alias "NS" {
target = "NickServ";
};
alias "CS" {
target = "ChanServ";
};
alias "OS" {
target = "OperServ";
};
alias "MS" {
target = "MemoServ";
};
{% include 'general.j2' %}
modules {
path = "modules";
path = "modules/autoload";
};