diff --git a/anope/.env b/anope/.env deleted file mode 120000 index bc48267..0000000 --- a/anope/.env +++ /dev/null @@ -1 +0,0 @@ -config.env \ No newline at end of file diff --git a/anope/.gitignore b/anope/.gitignore deleted file mode 100644 index 0c11540..0000000 --- a/anope/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -include.conf -config.env diff --git a/anope/Dockerfile b/anope/Dockerfile deleted file mode 100644 index fe585b4..0000000 --- a/anope/Dockerfile +++ /dev/null @@ -1,56 +0,0 @@ -FROM ubuntu:latest - -ARG BUILD_SERVER_NAME="services.lame-network.local" - -RUN apt -y update - -RUN apt -y install coreutils cmake perl git automake autoconf build-essential libpcre2-dev rapidjson-dev libcurl4-gnutls-dev libargon2-dev libmaxminddb-dev libldap2-dev rapidjson-dev libmysqlclient-dev libmysqlclient-dev default-libmysqlclient-dev libpq-dev libre2-dev gnutls-dev libsqlite3-dev libmbedtls-dev libqrencode-dev libpcre3-dev libtre-dev pkg-config libwww-perl libidn-dev libpasswdqc-dev libcrack2-dev libperl-dev libsodium-dev cracklib-runtime libcrypt-cracklib-perl sendmail - -RUN groupadd anope - -RUN useradd --system --shell /bin/bash anope -g anope - -WORKDIR /tmp - -RUN git clone https://github.com/anope/anope.git - -WORKDIR /tmp/anope/modules - -RUN ls -1 extra/*.cpp | xargs -i ln -s {} - -WORKDIR /tmp/anope - -RUN cmake -DINSTDIR:STRING=/usr/local -DRUNGROUP:STRING=anope -DDEFUMASK:STRING=007 -DCMAKE_BUILD_TYPE:STRING=RELEASE -B /tmp/anope/build /tmp/anope - -WORKDIR /tmp/anope/build - -RUN make -j$(nproc) - -RUN make install - -RUN mkdir -p /etc/anope -p /etc/ssl/anope -p /var/log/anope -p /var/lib/anope - -ADD anope.conf /etc/anope - -ADD include.default.conf /etc/anope/include.conf - -RUN openssl genrsa -out /etc/ssl/anope/server.key - -RUN openssl req -new -key /etc/ssl/anope/server.key -out /etc/ssl/anope/server.csr \ - -subj "/C=US/ST=Washington/L=Seattle/O=LameNetwork/OU=IT Department/CN=$BUILD_SERVER_NAME" - -RUN openssl x509 -req -days 365 -in /etc/ssl/anope/server.csr -signkey /etc/ssl/anope/server.key -out /etc/ssl/anope/server.crt - -RUN chown -R anope:anope /etc/anope /etc/ssl/anope /var/log/anope /var/lib/anope - -WORKDIR / - -VOLUME /var/lib/anope - -VOLUME /etc/ssl/anope - -VOLUME /var/log/anope - -USER anope - -ENTRYPOINT ["/usr/local/bin/anope", "--nofork", "--config=/etc/anope/anope.conf", "--dbdir=/var/lib/anope", "--logdir=/var/log/anope", "--moduledir=/usr/local/modules"] diff --git a/anope/anope.conf b/anope/anope.conf deleted file mode 100644 index 4e697b0..0000000 --- a/anope/anope.conf +++ /dev/null @@ -1,1534 +0,0 @@ -include -{ - type = "file" - name = "/etc/anope/include.conf" -} - -module { name = "inspircd" } - -options -{ - user = "anope" - group = "anope" - casemap = "ascii" - badpasslimit = 5 - badpasstimeout = 1m - updatetimeout = 2m - expiretimeout = 30m - readtimeout = 5s - timeoutcheck = 3s - servicealias = yes - hidestatso = no - retrywait = 60s - hideprivilegedcommands = yes - hideregisteredcommands = yes - didyoumeandifference = 4 - regexengine = "regex/stdlib" - languages = "de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 tr_TR.UTF-8" - defaultlanguage = "en_US.UTF-8" -} - -log -{ - target = "/var/log/anope/services.log #services" - bot = "GLOBAL" - logage = 7 - admin = "*" - override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*" - commands = "~operserv/* *" - servers = "*" - channels = "~mode *" - users = "connect disconnect nick" - other = "*" - rawio = no - debug = no -} - -log -{ - bot = "GLOBAL" - target = "globops" - admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop" - servers = "squit" - users = "oper" - other = "expire/* bados akill/*" -} - -opertype -{ - name = "Helper" - commands = "hostserv/*" -} - -opertype -{ - name = "Services Operator" - inherits = "Helper, Another Helper" - commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline" - privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm" -} - -opertype -{ - name = "Services Administrator" - inherits = "Services Operator" - commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/noop operserv/forbid global/*" - privs = "*" -} - -opertype -{ - name = "Services Root" - commands = "*" - privs = "*" -} - -module -{ - name = "enc_sha2" -} - -module -{ - name = "enc_argon2" -} - -module -{ - name = "enc_bcrypt" -} - -module { name = "enc_posix" } - -module { name = "help" } - -module -{ - ip = 127.53.127.53 - port = 53 - name = "dns" - nameserver = "/etc/resolv.conf" - timeout = 2 -} - -module -{ - name = "dnsbl" - check_on_connect = yes - check_on_netburst = yes - add_to_akill = yes - - blacklist - { - name = "rbl.efnetrbl.org" - time = 4h - reason = "You are listed in the EFnet RBL, visit https://rbl.efnetrbl.org/?i=%i for info" - - reply - { - code = 1 - reason = "Open Proxy" - } - - reply - { - code = 2 - reason = "spamtrap666" - } - - reply - { - code = 3 - reason = "spamtrap50" - } - - reply - { - code = 4 - reason = "TOR" - allow_account = yes - } - - reply - { - code = 5 - reason = "Drones / Flooding" - } - } - - blacklist - { - name = "dnsbl.dronebl.org" - time = 4h - reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N" - } - - exempt { ip = "127.0.0.0/8" } -} - -module -{ - name = "helpchan" - helpchannel = "#help" -} - -module { name = "regex_posix" } - -module -{ - name = "regex_stdlib" - syntax = "ecmascript" -} - -module { name = "regex_tre" } - -module { name = "rewrite" } - -command -{ - service = "CHANSERV"; - name = "CLEAR"; - command = "rewrite" - rewrite = true - rewrite_source = "CLEAR $ USERS" - rewrite_target = "KICK $1 *" - rewrite_description = "Clears all users from a channel" -} - -module { name = "sasl" } - -module -{ - name = "ssl_gnutls" - cert = "/etc/ssl/anope/server.crt" - key = "/etc/ssl/anope/server.key" -} - -service -{ - nick = "BOTSERV" - user = "_" - host = "services/_" - gecos = "Bot Service" - channels = "@#services" - alias = "BS" -} - -module -{ - name = "botserv" - client = "BOTSERV" - defaults = "greet fantasy" - minusers = 0 - smartjoin = yes - botmodes = "ao" -} - -command { service = "BOTSERV"; name = "HELP"; command = "generic/help"; } - -module { name = "bs_assign" } - -command { service = "BOTSERV"; name = "ASSIGN"; command = "botserv/assign"; } -command { service = "BOTSERV"; name = "UNASSIGN"; command = "botserv/unassign"; } -command { service = "BOTSERV"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; } - -module -{ - name = "bs_autoassign" - bot = "CHANSERV" -} - -module -{ - name = "bs_badwords" - badwordsmax = 1024 - casesensitive = yes -} - -command { service = "BOTSERV"; name = "BADWORDS"; command = "botserv/badwords"; } - -module { name = "bs_bot" } -command { service = "BOTSERV"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; } - -module { name = "bs_botlist" } -command { service = "BOTSERV"; name = "BOTLIST"; command = "botserv/botlist"; } - -module { name = "bs_control" } -command { service = "BOTSERV"; name = "ACT"; command = "botserv/act"; } -command { service = "BOTSERV"; name = "SAY"; command = "botserv/say"; } - -module { name = "bs_info" } -command { service = "BOTSERV"; name = "INFO"; command = "botserv/info"; } - -module -{ - name = "bs_kick" - keepdata = 10m - gentlebadwordreason = yes -} - -command { service = "BOTSERV"; name = "KICK"; command = "botserv/kick"; } -command { service = "BOTSERV"; name = "KICK AMSG"; command = "botserv/kick/amsg"; } -command { service = "BOTSERV"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; } -command { service = "BOTSERV"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; } -command { service = "BOTSERV"; name = "KICK CAPS"; command = "botserv/kick/caps"; } -command { service = "BOTSERV"; name = "KICK COLORS"; command = "botserv/kick/colors"; } -command { service = "BOTSERV"; name = "KICK FLOOD"; command = "botserv/kick/flood"; } -command { service = "BOTSERV"; name = "KICK ITALICS"; command = "botserv/kick/italics"; } -command { service = "BOTSERV"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; } -command { service = "BOTSERV"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; } -command { service = "BOTSERV"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; } - -command { service = "BOTSERV"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; } -command { service = "BOTSERV"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; } - - -module { name = "bs_set" } -command { service = "BOTSERV"; name = "SET"; command = "botserv/set"; } -command { service = "BOTSERV"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; } -command { service = "BOTSERV"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; } - -module { name = "greet" } -command { service = "BOTSERV"; name = "SET GREET"; command = "botserv/set/greet"; } -command { service = "NICKSERV"; name = "SET GREET"; command = "nickserv/set/greet"; } -command { service = "NICKSERV"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; } - -privilege -{ - name = "GREET" - desc = _("Greet message displayed on join") - rank = 40 - level = 5 - flag = "g" - xop = "AOP" -} - - -module -{ - name = "fantasy" - fantasycharacter = "?" -} - -command { service = "BOTSERV"; name = "SET FANTASY"; command = "botserv/set/fantasy"; } - -fantasy { name = "ACCESS"; command = "chanserv/access"; } -fantasy { name = "AKICK"; command = "chanserv/akick"; } -fantasy { name = "AOP"; command = "chanserv/xop"; } -fantasy { name = "BAN"; command = "chanserv/ban"; } -fantasy { name = "CLONE"; command = "chanserv/clone"; } -fantasy { name = "DEHALFOP"; command = "chanserv/modes"; } -fantasy { name = "DEOP"; command = "chanserv/modes"; } -fantasy { name = "DEOWNER"; command = "chanserv/modes"; } -fantasy { name = "DEPROTECT"; command = "chanserv/modes"; } -fantasy { name = "DEVOICE"; command = "chanserv/modes"; } -fantasy { name = "DOWN"; command = "chanserv/down"; } -fantasy { name = "ENFORCE"; command = "chanserv/enforce"; } -fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; } -fantasy { name = "FLAGS"; command = "chanserv/flags"; } -fantasy { name = "HALFOP"; command = "chanserv/modes"; } -fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; } -fantasy { name = "HOP"; command = "chanserv/xop"; } -fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; } -fantasy { name = "INVITE"; command = "chanserv/invite"; } -fantasy { name = "K"; command = "chanserv/kick"; } -fantasy { name = "KB"; command = "chanserv/ban"; } -fantasy { name = "KICK"; command = "chanserv/kick"; } -fantasy { name = "LEVELS"; command = "chanserv/levels"; } -fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; } -fantasy { name = "LOG"; command = "chanserv/log"; } -fantasy { name = "MODE"; command = "chanserv/mode"; } -fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; } -fantasy { name = "OP"; command = "chanserv/modes"; } -fantasy { name = "OWNER"; command = "chanserv/modes"; } -fantasy { name = "PROTECT"; command = "chanserv/modes"; } -fantasy { name = "QOP"; command = "chanserv/xop"; } -fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; } -fantasy { name = "SOP"; command = "chanserv/xop"; } -fantasy { name = "STATUS"; command = "chanserv/status"; } -fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; } -fantasy { name = "SYNC"; command = "chanserv/sync"; } -fantasy { name = "TOPIC"; command = "chanserv/topic"; } -fantasy { name = "UNBAN"; command = "chanserv/unban"; } -fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; } -fantasy { name = "UP"; command = "chanserv/up"; } -fantasy { name = "VOICE"; command = "chanserv/modes"; } -fantasy { name = "VOP"; command = "chanserv/xop"; } - -service -{ - nick = "CHANSERV" - user = "_" - host = "services/_" - gecos = "Channel Registration Service" - channels = "@#services" -} - -module -{ - name = "chanserv" - client = "CHANSERV" - defaults = "keeptopic peace securefounder signkick" - maxregistered = 20 - expire = 32y - accessmax = 1000 - inhabit = 1m - opersonly = no - nomlock = "P" - require = "r" - reasonmax = 200 - signkickformat = "%m (%n)" - disallow_hostmask_access = false - disallow_channel_access = false - always_lower_ts = false -} - -privilege -{ - name = "ACCESS_CHANGE" - desc = _("Allowed to modify the access list") - rank = 0 - level = 10 - flag = "f" - xop = "SOP" -} - -privilege -{ - name = "ACCESS_LIST" - desc = _("Allowed to view the access list") - rank = 10 - level = 3 - flag = "f" - xop = "VOP" -} - -privilege -{ - name = "AKICK" - desc = _("Allowed to use the AKICK command") - rank = 250 - level = 10 - flag = "K" - xop = "SOP" -} - -privilege -{ - name = "ASSIGN" - desc = _("Allowed to assign/unassign a bot") - rank = 270 - level = "founder" - flag = "s" - xop = "QOP" -} - -privilege -{ - name = "AUTOHALFOP" - desc = _("Automatic halfop upon join") - rank = 100 - level = 4 - flag = "H" - xop = "HOP" -} - -privilege -{ - name = "AUTOOP" - desc = _("Automatic channel operator status upon join") - rank = 210 - level = 5 - flag = "O" - xop = "AOP" -} - -privilege -{ - name = "AUTOOWNER" - desc = _("Automatic owner upon join") - rank = 330 - level = 9999 - flag = "Q" - xop = "QOP" -} - -privilege -{ - name = "AUTOPROTECT" - desc = _("Automatic protect upon join") - rank = 240 - level = 10 - flag = "A" - xop = "SOP" -} - -privilege -{ - name = "AUTOVOICE" - desc = _("Automatic voice on join") - rank = 50 - level = 3 - flag = "V" - xop = "VOP" -} - -privilege -{ - name = "BADWORDS" - desc = _("Allowed to modify channel badwords list") - rank = 260 - level = 10 - flag = "K" - xop = "SOP" -} - -privilege -{ - name = "BAN" - desc = _("Allowed to ban users") - rank = 150 - level = 4 - flag = "b" - xop = "HOP" -} - -privilege -{ - name = "FANTASY" - desc = _("Allowed to use fantasy commands") - rank = 30 - level = 3 - flag = "c" - xop = "VOP" -} - -privilege -{ - name = "FOUNDER" - desc = _("Allowed to issue commands restricted to channel founders") - rank = 360 - level = 10000 - flag = "F" - xop = "QOP" -} - -privilege -{ - name = "GETKEY" - desc = _("Allowed to use GETKEY command") - rank = 180 - level = 5 - flag = "G" - xop = "AOP" -} - -privilege -{ - name = "HALFOP" - desc = _("Allowed to (de)halfop users") - rank = 120 - level = 5 - flag = "h" - xop = "AOP" -} - -privilege -{ - name = "HALFOPME" - desc = _("Allowed to (de)halfop themself") - rank = 110 - level = 4 - flag = "h" - xop = "HOP" -} - -privilege -{ - name = "INFO" - desc = _("Allowed to get full INFO output") - rank = 80 - level = 9999 - flag = "I" - xop = "QOP" -} - -privilege -{ - name = "INVITE" - desc = _("Allowed to use the INVITE command") - rank = 190 - level = 5 - flag = "i" - xop = "AOP" -} - -privilege -{ - name = "KICK" - desc = _("Allowed to use the KICK command") - rank = 130 - level = 4 - flag = "k" - xop = "HOP" -} - -privilege -{ - name = "MEMO" - desc = _("Allowed to read channel memos") - rank = 280 - level = 10 - flag = "m" - xop = "SOP" -} - -privilege -{ - name = "MODE" - desc = _("Allowed to use the MODE command") - rank = 170 - level = 9999 - flag = "s" - xop = "QOP" -} - -privilege -{ - name = "NOKICK" - desc = _("Prevents users being kicked by services") - rank = 20 - level = 1 - flag = "N" - xop = "VOP" -} - -privilege -{ - name = "OP" - desc = _("Allowed to (de)op users") - rank = 230 - level = 5 - flag = "o" - xop = "SOP" -} - -privilege -{ - name = "OPME" - desc = _("Allowed to (de)op themself") - rank = 220 - level = 5 - flag = "o" - xop = "AOP" -} - -privilege -{ - name = "OWNER" - desc = _("Allowed to (de)owner users") - rank = 350 - level = "founder" - flag = "q" - xop = "QOP" -} - -privilege -{ - name = "OWNERME" - desc = _("Allowed to (de)owner themself") - rank = 340 - level = 9999 - flag = "q" - xop = "QOP" -} - -privilege -{ - name = "PROTECT" - desc = _("Allowed to (de)protect users") - rank = 310 - level = 9999 - flag = "a" - xop = "QOP" -} - -privilege -{ - name = "PROTECTME" - desc = _("Allowed to (de)protect themself") - rank = 300 - level = 10 - flag = "a" - xop = "SOP" -} - -privilege -{ - name = "SAY" - desc = _("Allowed to use SAY and ACT commands") - rank = 90 - level = 5 - flag = "B" - xop = "AOP" -} - -privilege -{ - name = "SET" - desc = _("Allowed to set channel settings") - rank = 320 - level = 9999 - flag = "s" - xop = "QOP" -} - -privilege -{ - name = "SIGNKICK" - desc = _("No signed kick when SIGNKICK LEVEL is used") - rank = 140 - level = 9999 - flag = "K" - xop = "QOP" -} - -privilege -{ - name = "TOPIC" - desc = _("Allowed to change channel topics") - rank = 160 - level = 5 - flag = "t" - xop = "AOP" -} - -privilege -{ - name = "UNBAN" - desc = _("Allowed to unban users") - rank = 200 - level = 4 - flag = "u" - xop = "HOP" -} - -privilege -{ - name = "UNBANME" - desc = _("Allowed to unban themself") - rank = 200 - level = 4 - flag = "U" - xop = "HOP" -} - -privilege -{ - name = "VOICE" - desc = _("Allowed to (de)voice users") - rank = 70 - level = 4 - flag = "v" - xop = "HOP" -} - -privilege -{ - name = "VOICEME" - desc = _("Allowed to (de)voice themself") - rank = 60 - level = 3 - flag = "v" - xop = "VOP" -} - -command_group -{ - name = "chanserv/access" - description = _("Used to manage the list of privileged users") -} - -command_group -{ - name = "chanserv/status" - description = _("Used to modify the channel status of you or other users") -} - -command_group -{ - name = "chanserv/management" - description = _("Used to manage channels") -} - -command_group -{ - name = "chanserv/admin" - description = _("Services Operator commands") -} - -command { service = "CHANSERV"; name = "HELP"; command = "generic/help"; } - -module { name = "cs_access" } -command { service = "CHANSERV"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; } -command { service = "CHANSERV"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; } - -module -{ - name = "cs_akick" - autokickmax = 50 - autokickreason = "User has been banned from the channel" -} - -command { service = "CHANSERV"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; } - -module { name = "cs_ban" } -command { service = "CHANSERV"; name = "BAN"; command = "chanserv/ban"; } - -module { name = "cs_clone" } -command { service = "CHANSERV"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; } - -module { name = "cs_drop" } -command { service = "CHANSERV"; name = "DROP"; command = "chanserv/drop"; } - - -module { name = "cs_enforce" } -command { service = "CHANSERV"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; } - -module -{ - name = "cs_entrymsg" - maxentries = 32 -} -command { service = "CHANSERV"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; } - -module { name = "cs_flags" } -command { service = "CHANSERV"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; } - -module { name = "cs_getkey" } -command { service = "CHANSERV"; name = "GETKEY"; command = "chanserv/getkey"; } - -module { name = "cs_info" } -command { service = "CHANSERV"; name = "INFO"; command = "chanserv/info"; } - -module { name = "cs_invite" } -command { service = "CHANSERV"; name = "INVITE"; command = "chanserv/invite"; } - -module { name = "cs_kick" } -command { service = "CHANSERV"; name = "KICK"; command = "chanserv/kick"; } - -module -{ - name = "cs_list" - listmax = 50 -} - -command { service = "CHANSERV"; name = "LIST"; command = "chanserv/list"; } - -command { service = "CHANSERV"; name = "SET PRIVATE"; command = "chanserv/set/private"; } - - -module -{ - name = "cs_log" - default - { - command = "chanserv/modes" - method = "MESSAGE @" - } - - default - { - service = "CHANSERV" - command = "ACCESS" - method = "MESSAGE @" - } - - default - { - command = "chanserv/xop" - method = "MESSAGE @" - } - - default - { - service = "CHANSERV" - command = "FLAGS" - method = "MESSAGE @" - } -} - -command { service = "CHANSERV"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; } - -module -{ - name = "cs_mode" - mlock = "+nt" - max = 50 -} - -command { service = "CHANSERV"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; } - -command { service = "CHANSERV"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" } -command { service = "CHANSERV"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" } - -command { service = "CHANSERV"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" } -command { service = "CHANSERV"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" } - -command { service = "CHANSERV"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" } -command { service = "CHANSERV"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" } - -command { service = "CHANSERV"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" } -command { service = "CHANSERV"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" } - -command { service = "CHANSERV"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" } -command { service = "CHANSERV"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" } - - -module { name = "cs_register" } -command { service = "CHANSERV"; name = "REGISTER"; command = "chanserv/register"; } - -module -{ - name = "cs_seen" - simple = false - purgetime = "30d" -} - -command { service = "OPERSERV"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; } -fantasy { name = "SEEN"; command = "operserv/seen"; prepend_channel = false; } - -module -{ - name = "cs_set" - defbantype = 2 - persist_lower_ts = true -} - -command { service = "CHANSERV"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; } -command { service = "CHANSERV"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; } -command { service = "CHANSERV"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; } -command { service = "CHANSERV"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; } -command { service = "CHANSERV"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; } -command { service = "CHANSERV"; name = "SET FOUNDER"; command = "chanserv/set/founder"; } -command { service = "CHANSERV"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; } -command { service = "CHANSERV"; name = "SET PEACE"; command = "chanserv/set/peace"; } -command { service = "CHANSERV"; name = "SET PERSIST"; command = "chanserv/set/persist"; } -command { service = "CHANSERV"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; } -command { service = "CHANSERV"; name = "SET SECURE"; command = "chanserv/set/secure"; } -command { service = "CHANSERV"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; } -command { service = "CHANSERV"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; } -command { service = "CHANSERV"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; } -command { service = "CHANSERV"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; } -command { service = "CHANSERV"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; } - -module { name = "cs_set_misc" } -command { service = "CHANSERV"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); } -command { service = "CHANSERV"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an email address with the channel"); } - -module { name = "cs_status" } -command { service = "CHANSERV"; name = "STATUS"; command = "chanserv/status"; } -command { service = "CHANSERV"; name = "WHY"; command = "chanserv/status"; hide = true; } - -module -{ - name = "cs_suspend" - suspendexpire = 90d - show = "suspended, by, reason, on, expires" -} - -command { service = "CHANSERV"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; } -command { service = "CHANSERV"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; } - -module { name = "cs_sync" } -command { service = "CHANSERV"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; } - -module { name = "cs_topic" } - -command { service = "CHANSERV"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; } -command { service = "CHANSERV"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; } - -module { name = "cs_unban" } -command { service = "CHANSERV"; name = "UNBAN"; command = "chanserv/unban"; } - -module { name = "cs_updown" } -command { service = "CHANSERV"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; } -command { service = "CHANSERV"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; } - -module { name = "cs_xop" } -command { service = "CHANSERV"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; } -command { service = "CHANSERV"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; } -command { service = "CHANSERV"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; } -command { service = "CHANSERV"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; } -command { service = "CHANSERV"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; } - -module { name = "cs_statusupdate" } - -service -{ - nick = "GLOBAL" - user = "_" - host = "services/_" - gecos = "Global Noticer" - channels = "@#services" -} - -module -{ - name = "global" - client = "GLOBAL" - globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone" - globaloncycleup = "Services are now back online - have a nice day" - anonymousglobal = no -} - -command { service = "GLOBAL"; name = "HELP"; command = "generic/help"; } - -module { name = "gl_global" } -command { service = "GLOBAL"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; } -fantasy { name = "GLOBAL"; command = "global/global"; prepend_channel = false; } - -module -{ - name = "gl_queue" - maxqueue = 10 -} - -command { service = "GLOBAL"; name = "QUEUE"; command = "global/queue"; permission = "global/queue"; } - -module { name = "gl_server" } -command { service = "GLOBAL"; name = "SERVER"; command = "global/server"; permission = "global/server"; } - -service -{ - nick = "HOSTSERV" - user = "_" - host = "services/_" - gecos = "vHost Service" - channels = "@#services" -} - -module -{ - name = "hostserv" - client = "HOSTSERV" - activate_on_set = false -} - -command { service = "HOSTSERV"; name = "HELP"; command = "generic/help"; } - -module { name = "hs_del" } -command { service = "HOSTSERV"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; } -command { service = "HOSTSERV"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; } - -module -{ - name = "hs_group" - syncongroup = true - synconset = true -} - -command { service = "HOSTSERV"; name = "GROUP"; command = "hostserv/group"; } - -module { name = "hs_list" } -command { service = "HOSTSERV"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; } - -module { name = "hs_off" } -command { service = "HOSTSERV"; name = "OFF"; command = "hostserv/off"; } - -module { name = "hs_on" } -command { service = "HOSTSERV"; name = "ON"; command = "hostserv/on"; } - -module -{ - name = "hs_request" - memouser = yes - memooper = yes -} - -command { service = "HOSTSERV"; name = "REQUEST"; command = "hostserv/request"; } -command { service = "HOSTSERV"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; } -command { service = "HOSTSERV"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; } -command { service = "HOSTSERV"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; } - -module { name = "hs_set" } -command { service = "HOSTSERV"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; } -command { service = "HOSTSERV"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; } - -service -{ - nick = "MEMOSERV" - user = "_" - host = "services/_" - gecos = "Memo Service" - channels = "@#services" -} - -module -{ - name = "memoserv" - client = "MEMOSERV" - maxmemos = 20 - senddelay = 30s -} - -command { service = "MEMOSERV"; name = "HELP"; command = "generic/help"; } - -module { name = "ms_cancel" } -command { service = "MEMOSERV"; name = "CANCEL"; command = "memoserv/cancel"; } - -module { name = "ms_check" } -command { service = "MEMOSERV"; name = "CHECK"; command = "memoserv/check"; } - -module { name = "ms_del" } -command { service = "MEMOSERV"; name = "DEL"; command = "memoserv/del"; } - -module -{ - name = "ms_ignore" - max = 50 -} - -command { service = "MEMOSERV"; name = "IGNORE"; command = "memoserv/ignore"; } - -module { name = "ms_info" } -command { service = "MEMOSERV"; name = "INFO"; command = "memoserv/info"; } - -module { name = "ms_list" } -command { service = "MEMOSERV"; name = "LIST"; command = "memoserv/list"; } - -module { name = "ms_read" } -command { service = "MEMOSERV"; name = "READ"; command = "memoserv/read"; } - -module -{ - name = "ms_rsend" - operonly = false -} - -command { service = "MEMOSERV"; name = "RSEND"; command = "memoserv/rsend"; } - -module { name = "ms_send" } -command { service = "MEMOSERV"; name = "SEND"; command = "memoserv/send"; } - -module { name = "ms_sendall" } -command { service = "MEMOSERV"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; } - -module { name = "ms_set" } -command { service = "MEMOSERV"; name = "SET"; command = "memoserv/set"; } - -module { name = "ms_staff" } -command { service = "MEMOSERV"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; } - -service -{ - nick = "NICKSERV" - user = "_" - host = "services/_" - gecos = "Nickname Registration Service" - channels = "@#services" -} - -module -{ - name = "nickserv" - client = "NICKSERV" - forceemail = no - confirmemailchanges = no - unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ HELP REGISTER" - defaults = "killprotect ns_private hide_email hide_mask memo_signon memo_receive autoop" - regdelay = 0m - expire = 32y - secureadmins = yes - modeonid = yes - hidenetsplitquit = no - killquick = 20s - kill = 60s - restrictopernicks = yes - enforceruser = "OPERSERV" - enforcerhost = "services/_" - releasetimeout = 1m - guestnickprefix = "`" - nonicknameownership = no - minpasslen = 4 - maxpasslen = 50 - preservedisplay = no -} - -command_group -{ - name = "nickserv/admin" - description = _("Services Operator commands") -} - -command { service = "NICKSERV"; name = "HELP"; command = "generic/help"; } - -module -{ - name = "ns_ajoin" - ajoinmax = 10 -} - -command { service = "NICKSERV"; name = "AJOIN"; command = "nickserv/ajoin"; } - -module { name = "ns_alist" } -command { service = "NICKSERV"; name = "ALIST"; command = "nickserv/alist"; } -command { service = "NICKSERV"; name = "ACCESS"; command = "nickserv/alist"; hide = true; } - -module -{ - name = "ns_cert" - automatic = yes - max = 5 -} - -command { service = "NICKSERV"; name = "CERT"; command = "nickserv/cert"; } - -module { name = "ns_drop" } -command { service = "NICKSERV"; name = "DROP"; command = "nickserv/drop"; } - -module { name = "ns_getemail" } -command { service = "NICKSERV"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; } - -module -{ - name = "ns_group" - maxaliases = 10 - nogroupchange = yes -} - -command { service = "NICKSERV"; name = "GLIST"; command = "nickserv/glist"; } -command { service = "NICKSERV"; name = "GROUP"; command = "nickserv/group"; } -command { service = "NICKSERV"; name = "UNGROUP"; command = "nickserv/ungroup"; } - -module -{ - name = "ns_identify" - maxlogins = 10 -} - -command { service = "NICKSERV"; name = "ID"; command = "nickserv/identify"; hide = true; } -command { service = "NICKSERV"; name = "IDENTIFY"; command = "nickserv/identify"; } - -module { name = "ns_info" } -command { service = "NICKSERV"; name = "INFO"; command = "nickserv/info"; } - -command { service = "NICKSERV"; name = "SET HIDE"; command = "nickserv/set/hide"; } -command { service = "NICKSERV"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; } - - -module -{ - name = "ns_list" - listmax = 50 -} - -command { service = "NICKSERV"; name = "LIST"; command = "nickserv/list"; } - -command { service = "NICKSERV"; name = "SET PRIVATE"; command = "nickserv/set/private"; } -command { service = "NICKSERV"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; } - -module { name = "ns_logout" } -command { service = "NICKSERV"; name = "LOGOUT"; command = "nickserv/logout"; } - -module -{ - name = "ns_recover" - restoreonrecover = yes -} - -command { service = "NICKSERV"; name = "RECOVER"; command = "nickserv/recover"; } - -command { service = "NICKSERV"; name = "GHOST"; command = "nickserv/recover"; hide = true; } -command { service = "NICKSERV"; name = "RELEASE"; command = "nickserv/recover"; hide = true; } - -module -{ - name = "ns_register" - registration = "none" - resenddelay = 90s - nickregdelay = 15s - unconfirmedexpire = 8m -} - -command { service = "NICKSERV"; name = "CONFIRM"; command = "nickserv/confirm"; } -command { service = "NICKSERV"; name = "REGISTER"; command = "nickserv/register"; } -command { service = "NICKSERV"; name = "RESEND"; command = "nickserv/resend"; } - -module { name = "ns_resetpass" } -command { service = "NICKSERV"; name = "RESETPASS"; command = "nickserv/resetpass"; } - -module -{ - name = "ns_set" - allowkillimmed = yes -} - -command { service = "NICKSERV"; name = "SET"; command = "nickserv/set"; } -command { service = "NICKSERV"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; } - -command { service = "NICKSERV"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; } -command { service = "NICKSERV"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; } - -command { service = "NICKSERV"; name = "SET DISPLAY"; command = "nickserv/set/display"; } -command { service = "NICKSERV"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; } - -command { service = "NICKSERV"; name = "SET EMAIL"; command = "nickserv/set/email"; } -command { service = "NICKSERV"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; } - -command { service = "NICKSERV"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; } -command { service = "NICKSERV"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; } - -command { service = "NICKSERV"; name = "SET KILL"; command = "nickserv/set/kill"; } -command { service = "NICKSERV"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; } - -command { service = "NICKSERV"; name = "SET PASSWORD"; command = "nickserv/set/password"; } -command { service = "NICKSERV"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; } - -command { service = "NICKSERV"; name = "SET NEVEROP"; command = "nickserv/set/neverop"; } -command { service = "NICKSERV"; name = "SASET NEVEROP"; command = "nickserv/saset/neverop"; permission = "nickserv/saset/neverop"; } - -command { service = "NICKSERV"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; } - -module { name = "ns_set_language" } -command { service = "NICKSERV"; name = "SET LANGUAGE"; command = "nickserv/set/language"; } -command { service = "NICKSERV"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; } - -module { name = "ns_set_message" } -command { service = "NICKSERV"; name = "SET MESSAGE"; command = "nickserv/set/message"; } -command { service = "NICKSERV"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; } - -module { name = "ns_set_misc" } -command { service = "NICKSERV"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); } -command { service = "NICKSERV"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; } -command { service = "NICKSERV"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); } -command { service = "NICKSERV"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; } -command { service = "NICKSERV"; name = "SET MASTODON"; command = "nickserv/set/misc"; misc_description = _("Associate a Mastodon account with your account"); } -command { service = "NICKSERV"; name = "SASET MASTODON"; command = "nickserv/saset/misc"; misc_description = _("Associate a Mastodon account with this account"); permission = "nickserv/saset/mastodon"; group = "nickserv/admin"; } -command { service = "NICKSERV"; name = "SET TIMEZONE"; command = "nickserv/set/misc"; misc_description = _("Associate a time zone with your account"); } -command { service = "NICKSERV"; name = "SASET TIMEZONE"; command = "nickserv/saset/misc"; misc_description = _("Associate a time zone with this account"); permission = "nickserv/saset/timezone"; group = "nickserv/admin"; } - -module -{ - name = "ns_suspend" - suspendexpire = 90d - show = "suspended, by, reason, on, expires" -} - -command { service = "NICKSERV"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; } -command { service = "NICKSERV"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; } - -module { name = "ns_update" } -command { service = "NICKSERV"; name = "UPDATE"; command = "nickserv/update"; } - -module -{ - name = "ns_maxemail" - maxemails = 1 -} - -service -{ - nick = "OPERSERV" - user = "_" - host = "services/_" - gecos = "Operator Service" - channels = "@#services" -} - -module -{ - name = "operserv" - client = "OPERSERV" - autokillexpiry = 30d - chankillexpiry = 30d - snlineexpiry = 30d - sqlineexpiry = 30d - akillonadd = yes - killonsnline = yes - killonsqline = yes - addakiller = yes - akillids = yes - opersonly = yes -} - -command { service = "OPERSERV"; name = "HELP"; command = "generic/help"; } - -module { name = "os_akill" } -command { service = "OPERSERV"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; } -fantasy { name = "AKILL"; command = "operserv/akill"; prepend_channel = false; } - -module { name = "os_chankill" } -command { service = "OPERSERV"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; } - -module -{ - name = "os_defcon" - defaultlevel = 5 - level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions" - level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions" - level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly" - level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients" - sessionlimit = 1024 - akillexpire = 8m - chanmodes = "+R" - timeout = 86400s - globalondefcon = yes - globalondefconmore = yes - message = "Server locking down" - offmessage = "Services are now back to normal, sorry for any inconvenience" - akillreason = "This network is currently not accepting connections, please try again later." -} - -command { service = "OPERSERV"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; } -fantasy { name = "DEFCON"; command = "operserv/defcon"; prepend_channel = false; } - -module -{ - name = "os_dns" - ttl = 1m - user_drop_mark = 50 - user_drop_time = 1m - user_drop_readd_time = 5m - remove_split_servers = yes - readd_connected_servers = no -} - -command { service = "OPERSERV"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; } - -module { name = "os_config" } -command { service = "OPERSERV"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; } - -module { name = "os_forbid" } -command { service = "OPERSERV"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; } - -module { name = "os_ignore" } -command { service = "OPERSERV"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; } - -module { name = "os_info" } -command { service = "OPERSERV"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; } - -module { name = "os_jupe" } -command { service = "OPERSERV"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; } -fantasy { name = "JUPE"; command = "operserv/jupe"; prepend_channel = false; } - -module { name = "os_kick" } -command { service = "OPERSERV"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; } - -module { name = "os_kill" } -command { service = "OPERSERV"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; } - -module { name = "os_list" } -command { service = "OPERSERV"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; } -command { service = "OPERSERV"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; } - -module { name = "os_login" } -command { service = "OPERSERV"; name = "LOGIN"; command = "operserv/login"; } -command { service = "OPERSERV"; name = "LOGOUT"; command = "operserv/logout"; } - -module -{ - name = "os_logsearch" - logname = "/var/log/anope/services.log" -} - -command { service = "OPERSERV"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; } -fantasy { name = "LOGSEARCH"; command = "operserv/LOGSEARCH"; prepend_channel = false; } - -module { name = "os_mode" } - -command { service = "OPERSERV"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; } -command { service = "OPERSERV"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; } -fantasy { name = "MODESET"; command = "operserv/mode"; prepend_channel = false; } - -module { name = "os_modinfo" } - -command { service = "OPERSERV"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; } -command { service = "OPERSERV"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; } - -module { name = "os_module" } - -command { service = "OPERSERV"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; } -command { service = "OPERSERV"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; } -command { service = "OPERSERV"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; } - -module -{ - name = "os_news" - announcer = "GLOBAL" - oper_announcer = "OPERSERV" - newscount = 8 -} - -command { service = "OPERSERV"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; } -fantasy { name = "LOGONNEWS"; command = "operserv/logonnews"; prepend_channel = false; } -command { service = "OPERSERV"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; } -fantasy { name = "OPERNEWS"; command = "operserv/opernews"; prepend_channel = false; } -command { service = "OPERSERV"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; } -fantasy { name = "RANDOMNEWS"; command = "operserv/randomnews"; prepend_channel = false; } - -module { name = "os_noop" } -command { service = "OPERSERV"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; } -fantasy { name = "NOOP"; command = "operserv/noop"; prepend_channel = false; } - -module { name = "os_oper" } -command { service = "OPERSERV"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; } - -module { name = "os_reload" } -command { service = "OPERSERV"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; } - -module -{ - name = "os_session" - defaultsessionlimit = 5 - maxsessionlimit = 100 - exceptionexpiry = 1d - sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded." - sessionlimitdetailsloc = "Contact admin about session limits." - maxsessionkill = 15 - sessionautokillexpiry = 30m - session_ipv4_cidr = 32 - session_ipv6_cidr = 128 -} - -command { service = "OPERSERV"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; } -fantasy { name = "EXCEPTION"; command = "operserv/exception"; prepend_channel = false; } -command { service = "OPERSERV"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; } -fantasy { name = "SESSION"; command = "operserv/session"; prepend_channel = false; } - -module -{ - name = "os_set" - superadmin = yes -} - -command { service = "OPERSERV"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; } -fantasy { name = "SET"; command = "operserv/set"; prepend_channel = false; } - -module { name = "os_shutdown" } - -command { service = "OPERSERV"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; } -command { service = "OPERSERV"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; } -command { service = "OPERSERV"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; } - -module { name = "os_stats" } -command { service = "OPERSERV"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; } -fantasy { name = "AKILL"; command = "operserv/akill"; prepend_channel = false; } - -module { name = "os_svs" } -command { service = "OPERSERV"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; } -fantasy { name = "SVSNICK"; command = "operserv/svsnick"; prepend_channel = false; } -command { service = "OPERSERV"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; } -fantasy { name = "SVSJOIN"; command = "operserv/svsjoin"; prepend_channel = false; } -command { service = "OPERSERV"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; } -fantasy { name = "SVSPART"; command = "operserv/svspart"; prepend_channel = false; } - -module { name = "os_sxline" } -command { service = "OPERSERV"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; } -fantasy { name = "SNLINE"; command = "operserv/snline"; prepend_channel = false; } -command { service = "OPERSERV"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; } -fantasy { name = "SQLINE"; command = "operserv/sqline"; prepend_channel = false; } - - -module { name = "os_update" } -command { service = "OPERSERV"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; } diff --git a/anope/config.env.example b/anope/config.env.example deleted file mode 100644 index 3321caf..0000000 --- a/anope/config.env.example +++ /dev/null @@ -1 +0,0 @@ -SERVER_NAME="services.lame-network.local" diff --git a/anope/docker-compose.yml b/anope/docker-compose.yml deleted file mode 100644 index 97a6638..0000000 --- a/anope/docker-compose.yml +++ /dev/null @@ -1,21 +0,0 @@ -services: - anope: - build: - context: . - args: - BUILD_SERVER_NAME: ${SERVER_NAME} - image: anope - network_mode: "host" - env_file: "config.env" - volumes: - - data:/var/lib/anope - - ./include.conf:/etc/anope/include.conf:ro - - ssl:/etc/ssl/anope - - log:/var/log/anope -volumes: - data: - name: anope_data - ssl: - name: anope_ssl - log: - name: anope_log diff --git a/anope/include.default.conf b/anope/include.default.conf deleted file mode 100644 index cd1e458..0000000 --- a/anope/include.default.conf +++ /dev/null @@ -1,97 +0,0 @@ -uplink -{ - host = 127.0.0.1 - protocol = "ipv4" - ssl = yes - port = "7000" - password = changeme -} - -serverinfo -{ - name = services.lame-network.local - description = "IRC Services" - localhost = 127.0.0.1 - id = 10X - pid = "/tmp/anope.pid" - motd = "/etc/anope/motd.txt" -} - -networkinfo -{ - networkname = "NetcraveIRC" - nicklen = 31 - userlen = 10 - hostlen = 64 - chanlen = 32 - modelistsize = 256 - nick_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" - vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" - allow_undotted_vhosts = true - disallow_start_or_end = ".-" -} - -mail -{ - usemail = no - sendmailpath = "/usr/sbin/sendmail -it" - sendfrom = "no-reply@lame-network.local" - delay = 5m - dontquoteaddresses = no - content_type = "text/plain; charset=UTF-8" - registration_subject = "Nickname registration for %n" - registration_message = "Hi, - - You have requested to register the nickname %n on %N. - Please type \" /msg NickServ CONFIRM %c \" to complete registration. - - If you don't know why this mail was sent to you, please ignore it silently. - - %N administrators." - - reset_subject = "Reset password request for %n" - reset_message = "Hi, - - You have requested to have the password for %n reset. - To reset your password, type \" /msg NickServ CONFIRM %n %c \" - - If you don't know why this mail was sent to you, please ignore it silently. - - %N administrators." - - emailchange_subject = "Email confirmation" - emailchange_message = "Hi, - - You have requested to change your email address from %e to %E. - Please type \" /msg NickServ CONFIRM %c \" to confirm this change. - - If you don't know why this mail was sent to you, please ignore it silently. - - %N administrators." - - memo_subject = "New memo" - memo_message = "Hi %n, - - You've just received a new memo from %s. This is memo number %d. - - Memo text: - - %t" -} - -oper -{ - name = "admin" - type = "Services Root" - require_oper = yes -} - -module -{ - name = "db_flatfile" - database = "/var/lib/anope/anope.db" - fork = no - nobackupokay = yes - keepbackups = 3 -} - diff --git a/atheme/.env b/atheme/.env deleted file mode 120000 index bc48267..0000000 --- a/atheme/.env +++ /dev/null @@ -1 +0,0 @@ -config.env \ No newline at end of file diff --git a/atheme/.gitignore b/atheme/.gitignore deleted file mode 100644 index 0c11540..0000000 --- a/atheme/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -include.conf -config.env diff --git a/atheme/Dockerfile b/atheme/Dockerfile deleted file mode 100644 index a681442..0000000 --- a/atheme/Dockerfile +++ /dev/null @@ -1,58 +0,0 @@ -FROM ubuntu:latest - -ARG BUILD_SERVER_NAME="services.lame-network.local" - -RUN apt -y update - -RUN apt -y install coreutils perl git automake autoconf build-essential libpcre2-dev rapidjson-dev libcurl4-gnutls-dev libargon2-dev libmaxminddb-dev libldap2-dev rapidjson-dev libmysqlclient-dev libmysqlclient-dev default-libmysqlclient-dev libpq-dev libre2-dev gnutls-dev libsqlite3-dev libmbedtls-dev libqrencode-dev libpcre3-dev libtre-dev pkg-config libwww-perl libidn-dev libpasswdqc-dev libcrack2-dev libperl-dev libsodium-dev cracklib-runtime libcrypt-cracklib-perl sendmail - -RUN groupadd atheme - -RUN useradd --system --shell /bin/bash atheme -g atheme - -WORKDIR /tmp - -RUN git clone https://github.com/paigeadelethompson/atheme.git -b inspircd - -WORKDIR /tmp/atheme - -RUN git submodule update --init --recursive - -RUN ./configure --prefix=/usr/local --enable-large-net --enable-contrib --enable-legacy-pwcrypto - -RUN make -j$(nproc) - -RUN make install - -RUN mkdir -p /etc/atheme -p /etc/ssl/atheme -p /var/log/atheme - -RUN mv /usr/local/etc /usr/local/etc_old - -RUN ln -sf /etc/atheme /usr/local/etc - -ADD atheme.conf /etc/atheme - -ADD include.default.conf /etc/atheme/include.conf - -RUN openssl genrsa -out /etc/ssl/atheme/server.key - -RUN openssl req -new -key /etc/ssl/atheme/server.key -out /etc/ssl/atheme/server.csr \ - -subj "/C=US/ST=Washington/L=Seattle/O=LameNetwork/OU=IT Department/CN=$BUILD_SERVER_NAME" - -RUN openssl x509 -req -days 365 -in /etc/ssl/atheme/server.csr -signkey /etc/ssl/atheme/server.key -out /etc/ssl/atheme/server.crt - -RUN chown -R atheme:atheme /etc/atheme /etc/ssl/atheme /var/log/atheme - -WORKDIR / - -USER atheme - -RUN /usr/local/bin/atheme-services -b ; true - -VOLUME /etc/atheme - -VOLUME /etc/ssl/atheme - -VOLUME /var/log/atheme - -ENTRYPOINT ["/usr/local/bin/atheme-services", "-p", "/tmp/atheme.pid", "-n", "-d"] diff --git a/atheme/README.md b/atheme/README.md deleted file mode 100644 index 7a8b803..0000000 --- a/atheme/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# Instructions - -## docker-compose - -- Copy `config.env.example` to `config.env` and edit -- Copy `include.default.conf` to `include.conf` and edit -- `docker-compose up -d` - -## include.conf - -``` -serverinfo { - name = "services.netcrave.network"; - desc = "IRC Services"; - numeric = "00A"; - recontime = 10; - netname = "LameNet"; - hidehostsuffix = "users.misconfigured"; - adminname = "admin"; - adminemail = "no-reply@services.netcrave.network"; - registeremail = "no-reply@services.netcrave.network"; - hidden; - mta = "/usr/sbin/sendmail"; - loglevel = { admin; error; info; network; wallops; }; - maxcertfp = 0; - maxlogins = 5; - maxusers = 5; - mdlimit = 30; - emaillimit = 10; - emailtime = 300; - auth = none; - casemapping = rfc1459; -}; - -uplink "irc.netcrave.network" { - host = "127.0.0.1"; - port = 7001; - send_password = "changeme"; - receive_password = "changeme"; -}; - -operator "admin" { - operclass = "sra"; - password = "changeme"; -}; - -general { - permissive_mode; - helpchan = "#help"; - helpurl = "https://www.netcrave.network"; - verbose_wallops; - join_chans; - leave_chans; - secure; - uflags = { hidemail; }; - cflags = { guard; verbose; }; - raw; - flood_msgs = 7; - flood_time = 10; - ratelimit_uses = 5; - ratelimit_period = 60; - vhost_change = 30; - kline_time = 7; - kline_with_ident; - kline_verified_ident; - clone_time = 0; - commit_interval = 5; - db_save_blocking; - operstring = "is an IRC Operator"; - servicestring = "is a Network Service"; - default_clone_allowed = 5; - default_clone_warn = 4; - clone_identified_increase_limit; - uplink_sendq_limit = 1048576; - language = "en"; - - exempts { - }; - - allow_taint; - immune_level = immune; - show_entity_id; - load_database_mdeps; - hide_opers; - match_masks_through_vhost; - default_password_length = 16; -}; - -``` diff --git a/atheme/atheme.conf b/atheme/atheme.conf deleted file mode 100644 index 878967b..0000000 --- a/atheme/atheme.conf +++ /dev/null @@ -1,668 +0,0 @@ -include "/etc/atheme/include.conf"; - -#loadmodule "security/cmdperm"; -loadmodule "protocol/inspircd"; -#loadmodule "protocol/mixin_nohalfops"; -#loadmodule "protocol/mixin_noholdnick"; -#loadmodule "protocol/mixin_noprotect"; -#loadmodule "protocol/mixin_noowner"; -loadmodule "backend/opensex"; -#loadmodule "crypto/argon2"; -#loadmodule "crypto/scrypt"; -#loadmodule "crypto/pbkdf2v2"; -#loadmodule "crypto/bcrypt"; -#loadmodule "crypto/pbkdf2"; -#loadmodule "crypto/crypt3-sha2-512"; -#loadmodule "crypto/crypt3-sha2-256"; -#loadmodule "crypto/crypt3-md5"; -#loadmodule "crypto/rawsha2-512"; -#loadmodule "crypto/rawsha2-256"; -#loadmodule "crypto/anope-enc-sha256"; -#loadmodule "crypto/rawsha1"; -#loadmodule "crypto/rawmd5"; -#loadmodule "crypto/ircservices"; -#loadmodule "crypto/crypt3-des"; -#loadmodule "crypto/base64"; -#loadmodule "auth/ldap"; -loadmodule "nickserv/main"; -#loadmodule "nickserv/access"; -loadmodule "nickserv/badmail"; -loadmodule "nickserv/cert"; -loadmodule "nickserv/drop"; -loadmodule "nickserv/enforce"; -loadmodule "nickserv/ghost"; -loadmodule "nickserv/group"; -loadmodule "nickserv/help"; -loadmodule "nickserv/hold"; -loadmodule "nickserv/identify"; -loadmodule "nickserv/info"; -loadmodule "nickserv/info_lastquit"; -loadmodule "nickserv/list"; -loadmodule "nickserv/listlogins"; -loadmodule "nickserv/listmail"; -loadmodule "nickserv/listownmail"; -loadmodule "nickserv/login"; -loadmodule "nickserv/loginnolimit"; -loadmodule "nickserv/logout"; -loadmodule "nickserv/mark"; -loadmodule "nickserv/pwquality"; -loadmodule "nickserv/freeze"; -loadmodule "nickserv/listchans"; -loadmodule "nickserv/listgroups"; -loadmodule "nickserv/register"; -loadmodule "nickserv/regnolimit"; -loadmodule "nickserv/resetpass"; -loadmodule "nickserv/restrict"; -loadmodule "nickserv/return"; -loadmodule "nickserv/setpass"; -loadmodule "nickserv/sendpass"; -loadmodule "nickserv/sendpass_user"; -loadmodule "nickserv/set_accountname"; -loadmodule "nickserv/set_badpasswdmsg"; -loadmodule "nickserv/set_email"; -loadmodule "nickserv/set_emailmemos"; -loadmodule "nickserv/set_enforcetime"; -loadmodule "nickserv/set_hidemail"; -loadmodule "nickserv/set_language"; -loadmodule "nickserv/set_nevergroup"; -loadmodule "nickserv/set_neverop"; -loadmodule "nickserv/set_nogreet"; -loadmodule "nickserv/set_nomemo"; -loadmodule "nickserv/set_noop"; -loadmodule "nickserv/set_nopassword"; -loadmodule "nickserv/set_password"; -loadmodule "nickserv/set_privmsg"; -loadmodule "nickserv/set_private"; -loadmodule "nickserv/set_property"; -loadmodule "nickserv/set_pubkey"; -loadmodule "nickserv/set_quietchg"; -loadmodule "nickserv/status"; -loadmodule "nickserv/taxonomy"; -loadmodule "nickserv/vacation"; -loadmodule "nickserv/verify"; -loadmodule "nickserv/vhost"; -loadmodule "nickserv/waitreg"; -loadmodule "chanserv/main"; -loadmodule "chanserv/access"; -loadmodule "chanserv/akick"; -loadmodule "chanserv/ban"; -loadmodule "chanserv/unban_self"; -loadmodule "chanserv/bansearch"; -loadmodule "chanserv/clone"; -loadmodule "chanserv/close"; -loadmodule "chanserv/clear"; -loadmodule "chanserv/clear_akicks"; -loadmodule "chanserv/clear_bans"; -loadmodule "chanserv/clear_flags"; -loadmodule "chanserv/clear_users"; -loadmodule "chanserv/count"; -loadmodule "chanserv/drop"; -loadmodule "chanserv/fflags"; -loadmodule "chanserv/flags"; -loadmodule "chanserv/ftransfer"; -loadmodule "chanserv/getkey"; -loadmodule "chanserv/halfop"; -loadmodule "chanserv/help"; -loadmodule "chanserv/hold"; -loadmodule "chanserv/info"; -loadmodule "chanserv/invite"; -loadmodule "chanserv/kick"; -loadmodule "chanserv/list"; -loadmodule "chanserv/mark"; -loadmodule "chanserv/moderate"; -loadmodule "chanserv/op"; -loadmodule "chanserv/owner"; -loadmodule "chanserv/protect"; -loadmodule "chanserv/quiet"; -loadmodule "chanserv/recover"; -loadmodule "chanserv/register"; -loadmodule "chanserv/set_email"; -loadmodule "chanserv/set_entrymsg"; -loadmodule "chanserv/set_fantasy"; -loadmodule "chanserv/set_gameserv"; -loadmodule "chanserv/set_guard"; -loadmodule "chanserv/set_keeptopic"; -loadmodule "chanserv/set_limitflags"; -loadmodule "chanserv/set_mlock"; -loadmodule "chanserv/set_prefix"; -loadmodule "chanserv/set_private"; -loadmodule "chanserv/set_property"; -loadmodule "chanserv/set_pubacl"; -loadmodule "chanserv/set_restricted"; -loadmodule "chanserv/set_secure"; -loadmodule "chanserv/set_topiclock"; -loadmodule "chanserv/set_url"; -loadmodule "chanserv/set_verbose"; -loadmodule "chanserv/status"; -loadmodule "chanserv/sync"; -loadmodule "chanserv/successor_acl"; -loadmodule "chanserv/taxonomy"; -loadmodule "chanserv/template"; -loadmodule "chanserv/topic"; -loadmodule "chanserv/voice"; -loadmodule "chanserv/why"; -loadmodule "chanserv/xop"; -loadmodule "chanserv/antiflood"; -loadmodule "chanfix/main"; -loadmodule "operserv/akill"; -loadmodule "operserv/clearchan"; -loadmodule "operserv/clones"; -loadmodule "operserv/compare"; -loadmodule "operserv/genhash"; -loadmodule "operserv/greplog"; -loadmodule "operserv/help"; -loadmodule "operserv/identify"; -loadmodule "operserv/ignore"; -loadmodule "operserv/info"; -loadmodule "operserv/joinrate"; -loadmodule "operserv/jupe"; -loadmodule "operserv/mode"; -loadmodule "operserv/modlist"; -loadmodule "operserv/modmanager"; -loadmodule "operserv/noop"; -loadmodule "operserv/rakill"; -loadmodule "operserv/readonly"; -loadmodule "operserv/rehash"; -loadmodule "operserv/restart"; -loadmodule "operserv/rmatch"; -loadmodule "operserv/rnc"; -loadmodule "operserv/rwatch"; -loadmodule "operserv/set"; -loadmodule "operserv/sgline"; -loadmodule "operserv/shutdown"; -loadmodule "operserv/soper"; -loadmodule "operserv/specs"; -loadmodule "operserv/sqline"; -loadmodule "operserv/update"; -loadmodule "operserv/uptime"; -loadmodule "memoserv/help"; -loadmodule "memoserv/send"; -loadmodule "memoserv/sendops"; -loadmodule "memoserv/sendgroup"; -loadmodule "memoserv/list"; -loadmodule "memoserv/read"; -loadmodule "memoserv/forward"; -loadmodule "memoserv/delete"; -loadmodule "memoserv/ignore"; -loadmodule "global/main"; -loadmodule "infoserv/main"; -loadmodule "saslserv/authcookie"; -loadmodule "saslserv/ecdh-x25519-challenge"; -loadmodule "saslserv/ecdsa-nist256p-challenge"; -loadmodule "saslserv/external"; -loadmodule "saslserv/plain"; -loadmodule "saslserv/scram"; -loadmodule "gameserv/dice"; -loadmodule "gameserv/eightball"; -loadmodule "gameserv/gamecalc"; -loadmodule "gameserv/help"; -loadmodule "gameserv/lottery"; -loadmodule "gameserv/namegen"; -loadmodule "gameserv/rps"; -loadmodule "rpgserv/enable"; -loadmodule "rpgserv/help"; -loadmodule "rpgserv/info"; -loadmodule "rpgserv/list"; -loadmodule "rpgserv/search"; -loadmodule "rpgserv/set"; -loadmodule "botserv/main"; -loadmodule "botserv/help"; -loadmodule "botserv/info"; -loadmodule "botserv/bottalk"; -loadmodule "botserv/set_fantasy"; -loadmodule "botserv/set_nobot"; -loadmodule "botserv/set_private"; -loadmodule "botserv/set_saycaller"; -loadmodule "hostserv/help"; -loadmodule "hostserv/onoff"; -loadmodule "hostserv/offer"; -loadmodule "hostserv/request"; -loadmodule "hostserv/vhost"; -loadmodule "hostserv/vhostnick"; -loadmodule "hostserv/group"; -loadmodule "hostserv/drop"; -loadmodule "helpserv/helpme"; -loadmodule "helpserv/ticket"; -loadmodule "helpserv/services"; -loadmodule "alis/main"; -loadmodule "statserv/channel"; -loadmodule "statserv/netsplit"; -loadmodule "statserv/server"; -loadmodule "groupserv/main"; -loadmodule "groupserv/acsnolimit"; -loadmodule "groupserv/drop"; -loadmodule "groupserv/fflags"; -loadmodule "groupserv/flags"; -loadmodule "groupserv/help"; -loadmodule "groupserv/info"; -loadmodule "groupserv/join"; -loadmodule "groupserv/list"; -loadmodule "groupserv/listchans"; -loadmodule "groupserv/register"; -loadmodule "groupserv/regnolimit"; -loadmodule "groupserv/invite"; -loadmodule "groupserv/set"; -loadmodule "groupserv/set_channel"; -loadmodule "groupserv/set_description"; -loadmodule "groupserv/set_email"; -loadmodule "groupserv/set_groupname"; -loadmodule "groupserv/set_joinflags"; -loadmodule "groupserv/set_open"; -loadmodule "groupserv/set_public"; -loadmodule "groupserv/set_url"; -#loadmodule "misc/httpd"; -#loadmodule "misc/login_throttling"; -#loadmodule "transport/xmlrpc"; -#loadmodule "exttarget/oper"; -#loadmodule "exttarget/registered"; -#loadmodule "exttarget/channel"; -#loadmodule "exttarget/chanacs"; -#loadmodule "exttarget/server"; -#loadmodule "proxyscan/dnsbl"; - -crypto { -# argon2_type = "argon2id"; -# argon2_memcost = 16; -# argon2_timecost = 3; -# argon2_threads = 1; -# argon2_saltlen = 16; -# argon2_hashlen = 64; -# scrypt_memlimit = 14; -# scrypt_opslimit = 524288; -# pbkdf2v2_digest = "SHA2-512"; -# pbkdf2v2_rounds = 64000; -# pbkdf2v2_saltlen = 32; -# scram_mechanisms = "SCRAM-SHA-1,SCRAM-SHA-256,SCRAM-SHA-512"; -# bcrypt_cost = 7; -# crypt3_sha2_256_rounds = 5000; -# crypt3_sha2_512_rounds = 5000; -}; - -nickserv { - - nick = "NICKSERV"; - user = "NICKSERV"; - host = "services/-"; - real = "Nickname Services"; - spam; - no_nick_ownership; - maxnicks = 5; - expire = 30; - enforce_expire = 14; - enforce_delay = 30; - enforce_prefix = "`"; - waitreg_time = 0; - pwquality_warn_only; - show_custom_metadata; - shorthelp = ""; - listownmail_canon; - bad_password_message; -}; - -chanserv { - - nick = "CHANSERV"; - user = "CHANSERV"; - host = "services/-"; - real = "Channel Services"; - - aliases { - }; - - access { - }; - - reggroup = "!Services-Team"; - maxchans = 5; - fantasy; - hide_xop; - hide_flags_akicks; - hide_pubacl_akicks; - - templates { - vop = "+AV"; - hop = "+AHehitrv"; - aop = "+AOehiortv"; - sop = "+AOaefhiorstv"; - founder = "+AFORaefhioqrstv"; - member = "+Ai"; - op = "+AOiortv"; - }; - - deftemplates = "MEMBER=+Ai OP=+AOeiortv"; - changets; - trigger = "!"; - expire = 30; - maxchanacs = 0; - maxfounders = 4; - founder_flags = "AFORefiorstv"; - default_mlock = "+nt"; - akick_time = 10; - antiflood_enforce_method = quiet; - show_custom_metadata; - shorthelp = ""; -}; - -chanfix { - - nick = "CHANFIX"; - user = "CHANFIX"; - host = "services/-"; - real = "Channel Fixing Service"; - - aliases { - }; - - access { - }; - - autofix; -}; - -global { - - nick = "GLOBAL"; - user = "GLOBAL"; - host = "services/-"; - real = "Network Announcements"; - - aliases { - }; - - access { - }; -}; - -infoserv { - - nick = "INFOSERV"; - user = "INFOSERV"; - host = "services/-"; - real = "Information Service"; - - aliases { - }; - - access { - }; - - logoninfo_count = 3; - logoninfo_reverse; - logoninfo_show_metadata; -}; - -operserv { - - nick = "OPERSERV"; - user = "OPERSERV"; - host = "services/-"; - real = "Operator Services"; - - aliases { - }; - - access { - }; - - modinspect_use_colors; -}; - -saslserv { - - nick = "SASLSERV"; - user = "SASLSERV"; - host = "services/-"; - real = "SASL Authentication Agent"; - hide_server_names; -}; - -memoserv { - - nick = "MEMOSERV"; - user = "MEMOSERV"; - host = "services/-"; - real = "Memo Services"; - - aliases { - }; - - access { - }; - - maxmemos = 30; -}; - -gameserv { - - nick = "GAMESERV"; - user = "GAMESERV"; - host = "services/-"; - real = "Game Services"; - - aliases { - }; - - access { - }; -}; - -rpgserv { - - nick = "RPGSERV"; - user = "RPGSERV"; - host = "services/-"; - real = "RPG Finding Services"; - - aliases { - }; - - access { - }; -}; - -botserv { - - nick = "BOTSERV"; - user = "BOTSERV"; - host = "services/-"; - real = "Bot Services"; - - aliases { - }; - - access { - }; - - min_users = 0; -}; - -groupserv { - - nick = "GROUPSERV"; - user = "GROUPSERV"; - host = "services/-"; - real = "Group Management Services"; - - aliases { - }; - - access { - }; - - maxgroups = 5; - maxgroupacs = 100; - enable_open_groups; - join_flags = "+"; -}; - -hostserv { - - nick = "HOSTSERV"; - user = "HOSTSERV"; - host = "services/-"; - real = "Host Management Services"; - - aliases { - "APPROVE" = "ACTIVATE"; - "DENY" = "REJECT"; - }; - - access { - }; - - reggroup = "!Services-Team"; - no_subsequent_requests; - request_per_nick; -}; - -helpserv { - - nick = "HELPSERV"; - user = "HELPSERV"; - host = "services/-"; - real = "Help Services"; - - aliases { - }; - - access { - }; -}; - -statserv { - - nick = "STATSERV"; - user = "STATSERV"; - host = "services/-"; - real = "Statistics Services"; - - aliases { - }; - - access { - }; -}; - -alis { - - nick = "ALIS"; - user = "ALIS"; - host = "services/-"; - real = "Channel Directory"; - - aliases { - }; - - access { - }; - - maxmatches = 64; -}; - -proxyscan { - - nick = "PROXYSCAN"; - user = "PROXYSCAN"; - host = "services/-"; - real = "Proxyscan Service"; - - aliases { - }; - - access { - }; - - blacklists { - "dnsbl.dronebl.org"; - "rbl.efnetrbl.org"; - "tor.efnet.org"; - }; - - dnsbl_action = kline; -}; - -httpd { - host = "0.0.0.0"; - host = "::"; - www_root = "/var/www"; - port = 8080; -}; - -throttle { - address_burst = 5; - address_replenish = 1; - address_account_burst = 2; - address_account_replenish = 2; -}; - -logfile "/var/log/atheme/account.log" { register; set; }; -logfile "/var/log/atheme/commands.log" { commands; }; -logfile "/var/log/atheme/audit.log" { denycmd; }; -logfile "#services" { admin; denycmd; error; info; register; request; }; -logfile "!snotices" { denycmd; error; info; request; }; - -operclass "user" { }; - -operclass "ircop" { - privs { - special:ircop; - }; - - privs { - user:auspex; - user:admin; - user:sendpass; - user:vhost; - user:mark; - }; - - privs { - chan:auspex; - chan:admin; - chan:cmodes; - chan:joinstaffonly; - }; - - privs { - general:auspex; - general:helper; - general:viewprivs; - general:flood; - }; - - privs { - operserv:omode; - operserv:akill; - operserv:jupe; - operserv:global; - }; - - privs { - group:auspex; - group:admin; - }; -}; - -operclass "sra" { - extends "ircop"; - - privs { - user:exceedlimits; - user:hold; - user:regnolimit; - }; - - privs { - general:metadata; - general:admin; - }; - - privs { - #operserv:massakill; - #operserv:akill-anymask; - operserv:noop; - operserv:grant; - }; - - needoper; -}; diff --git a/atheme/config.env.example b/atheme/config.env.example deleted file mode 100644 index 3321caf..0000000 --- a/atheme/config.env.example +++ /dev/null @@ -1 +0,0 @@ -SERVER_NAME="services.lame-network.local" diff --git a/atheme/docker-compose.yml b/atheme/docker-compose.yml deleted file mode 100644 index d7a6431..0000000 --- a/atheme/docker-compose.yml +++ /dev/null @@ -1,22 +0,0 @@ -services: - atheme: - build: - context: . - args: - BUILD_SERVER_NAME: ${SERVER_NAME} - image: atheme - network_mode: "host" - env_file: "config.env" - volumes: - - data:/etc/atheme - - ./include.conf:/etc/atheme/include.conf:ro - - ./atheme.conf:/etc/atheme/atheme.conf:ro - - ssl:/etc/ssl/atheme - - log:/var/log/atheme -volumes: - data: - name: atheme_data - ssl: - name: atheme_ssl - log: - name: atheme_log diff --git a/atheme/include.default.conf b/atheme/include.default.conf deleted file mode 100644 index 8c60447..0000000 --- a/atheme/include.default.conf +++ /dev/null @@ -1,76 +0,0 @@ -serverinfo { - name = "lame-network.local"; - desc = "IRC Services"; - numeric = "00A"; - recontime = 10; - netname = "LameNet"; - hidehostsuffix = "users.misconfigured"; - adminname = "admin"; - adminemail = "no-reply@lame-network.local"; - registeremail = "no-reply@lame-network.local"; - hidden; - mta = "/usr/sbin/sendmail"; - loglevel = { admin; error; info; network; wallops; }; - maxcertfp = 0; - maxlogins = 5; - maxusers = 5; - mdlimit = 30; - emaillimit = 10; - emailtime = 300; - auth = none; - casemapping = rfc1459; -}; - -uplink "irc.lame-network.local" { - host = "127.0.0.1"; - port = 7001; - send_password = "changeme"; - receive_password = "changeme"; -}; - -operator "admin" { - operclass = "sra"; - password = "changeme"; -}; - -general { - permissive_mode; - helpchan = "#help"; - helpurl = "https://www.lame-network.local"; - verbose_wallops; - join_chans; - leave_chans; - secure; - uflags = { hidemail; }; - cflags = { guard; verbose; }; - raw; - flood_msgs = 7; - flood_time = 10; - ratelimit_uses = 5; - ratelimit_period = 60; - vhost_change = 30; - kline_time = 7; - kline_with_ident; - kline_verified_ident; - clone_time = 0; - commit_interval = 5; - db_save_blocking; - operstring = "is an IRC Operator"; - servicestring = "is a Network Service"; - default_clone_allowed = 5; - default_clone_warn = 4; - clone_identified_increase_limit; - uplink_sendq_limit = 1048576; - language = "en"; - - exempts { - }; - - allow_taint; - immune_level = immune; - show_entity_id; - load_database_mdeps; - hide_opers; - match_masks_through_vhost; - default_password_length = 16; -};