From 0a394bb3eb6896c06510ac60ce19e3bd693ed9b8 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 31 Oct 2024 13:21:32 +0300 Subject: [PATCH] updates --- Dockerfile | 246 +++++++++++++++++- config.env.example | 121 +++++++++ docker-compose.linked.yml | 4 +- include.default.conf | 85 ++++++ inspircd.conf | 533 +++++++++++++------------------------- motd.txt | 1 + oper.motd.txt | 1 + services/atheme.conf | 8 +- 8 files changed, 633 insertions(+), 366 deletions(-) create mode 100644 motd.txt create mode 100644 oper.motd.txt diff --git a/Dockerfile b/Dockerfile index 97605b8..6895dd5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -182,6 +182,248 @@ ENV LINK_SEND_PASSWORD="changeme" ENV LINK_TIMEOUT=3600 +ENV CLOAK_KEY="changeme" + +ENV CLOAK_IGNORE_CASE="no" + +ENV CLOAK_MODE="full" + +ENV CLOAK_PREFIX="cloak/" + +ENV CLOAK_SUFFIX=".hidden" + +ENV BLOCK_AMSG_ACTION="killopers" + +ENV BLOCK_AMSG_DELAY="3" + +ENV BLOCK_HL_IGNORE_EXT_MESSAGE="yes" + +ENV BLOCK_HL_MIN_LEN="50" + +ENV BLOCK_HL_MIN_USER_NUM="10" + +ENV BLOCK_HL_STRIP_COLOR="yes" + +ENV BOT_MODE_FORCE_NOTICE="no" + +ENV CHAN_FILTER_HIDE_MASK="yes" + +ENV CHAN_FILTER_MAX_LEN="512" + +ENV CHAN_FILTER_NOTIFY_USER="yes" + +ENV CALLER_ID_COOL_DOWN="4m" + +ENV CALLER_ID_MAX_ACCEPTS="256" + +ENV CALLER_ID_TRACK_NICK="yes" + +ENV CBAN_GLOB="yes" + +ENV CHAN_HISTORY_BOTS="yes" + +ENV CHAN_HISTORY_ENABLE_UMODE="yes" + +ENV CHAN_HISTORY_MAX_LINES="64" + +ENV CHAN_HISTORY_PREFIX_MSG="yes" + +ENV OPER_CHANNEL_SNOMASK="DdRrtXxLlkKvgfFoO" + +ENV CHAN_NAMES_ALLOW_RANGE="35,45-46" + +ENV CHAN_NAMES_DENY_RANGE="1-47,58-64,91-96,123-255" + +ENV CHANNELS_OPERS="4294967295" + +ENV CHANNELS_USERS="4294967295" + +ENV CODE_PAGE="ascii" + +ENV CONNECT_BAN_BOOT_WAIT="128" + +ENV CONNECT_BAN_DURATION="64" + +ENV CONNECT_BAN_V4_PREFIX_LEN="32" + +ENV CONNECT_BAN_v6_PREFIX_LEN="128" + +ENV CONNECT_BAN_SPLIT_WAIT="128" + +ENV CONNECT_BAN_THRESHOLD="32" + +ENV CTC_TAGS_ALLOW_CLIENT_ONLY_TAGS="no" + +ENV DEAF_BYPASS_CHARS="" + +ENV DEAF_BYPASS_CHARS_ULINE="!" + +ENV DEAF_ENABLE_PRIV_DEAF="" + +ENV DEAF_PRIV_DEAF_ULINE="" + +ENV DELAY_MSG_ALLOW_NOTICE="yes" + +ENV DISABLE_CHMODES="" + +ENV DISABLE_COMMANDS="" + +ENV DISABLE_FAKENONEXISTANT="no" + +ENV DISABLE_USERMODES="w" + +ENV HIDECHANS_AFFECTS_OPERS="yes" + +ENV HOSTNAME_CHAR_MAP="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789," + +ENV HTTPD_TIMEOUT="8s" + +ENV IDENT_PREFIX_UNQUERIED="yes" + +ENV IDENT_TIMEOUT="2s" + +ENV INSANE_HOSTMASKS="no" + +ENV INSANE_IPMASKS="no" + +ENV INSANE_NICKMASKS="no" + +ENV INSANE_TRIGGER="95.5" + +ENV INVITE_EXCEPTION_BYPASS_KEY="yes" + +ENV IRCV3_ACCOUNT_NOTIFY="yes" + +ENV IRCV3_AWAY_NOTIFY="yes" + +ENV IRCV3_EXTENDED_JOIN="yes" + +ENV JOIN_FLOOD_BOOT_WAIT="32s" + +ENV JOIN_FLOOD_DURATION="2m" + +ENV JOIN_FLOOD_SPLIT_WAIT="32s" + +ENV KNOCK_NOTIFY="both" + +ENV LIST_MAX_SIZE="512" + +ENV LIST_NORMAL_SIZE="256" + +ENV MESSAGE_FLOOD_NOTICE="1.0" + +ENV MESSAGE_FLOOD_PRIVMSG="1.0" + +ENV MESSAGE_FLOOD_TAG_MSG="0.2" + +ENV MONITOR_MAX_ENTRIES="256" + +ENV MUTE_BAN_NOTIFY_USER="yes" + +ENV NICK_DELAY="4s" + +ENV NICK_DELAY_HINT="yes" + +ENV NICK_FLOOD_DURATION="64s" + +ENV NO_CTCP_ENABLE_UMODE="yes" + +ENV OJOIN_NOTICE="yes" + +ENV OJOIN_OP="yes" + +ENV OJOIN_PREFIX="!" + +ENV OPER_PREFIX="*" + +ENV OPER_TO_SNOMASK="on" + +ENV OVERRIDE_ENABLE_UMODE="yes" + +ENV OVERRIDE_NOISY="yes" + +ENV OVERRIDE_REQUIRE_KEY="yes" + +ENV REMOVE_SUPPORT_NO_KICKS="yes" + +ENV REPEAT_MAX_BACK_LOG="20" + +ENV REPEAT_MAX_DISTANCE="50" + +ENV REPEAT_MAX_LINES="20" + +ENV REPEAT_MAX_TIME="0" + +ENV REPEAT_MAX_SIZE="512" + +ENV RLINE_ENGINE="pcre" + +ENV RLINE_MATCH_ON_NICK_CHANGE="yes" + +ENV RLINE_ZLINE_ON_MATCH="no" + +ENV RESTRICT_CHANS_ALLOW_REGISTERED="no" + +ENV SECURE_LIST_EXEMPT_REGISTERED="yes" + +ENV SECURE_LIST_SHOW_MSG="yes" + +ENV SECURE_LIST_WAIT_TIME="8s" + +ENV SHOW_WHOIS_OPER_ONLY="no" + +ENV SHOW_WHOIS_FROM_OPERS="yes" + +ENV SHUN_AFFECT_OPERS="no" + +ENV SHUN_ALLOW_CONNECT="no" + +ENV SHUN_ALLOW_TAGS="no" + +ENV SHUN_CLEANED_COMMANDS="AWAY PART QUIT" + +ENV SHUN_ENABLED_COMMANDS="ADMIN OPER PING PONG QUIT PART JOIN" + +ENV SHUN_NOTIFY_USER="yes" + +ENV SILENCE_EXEMPT_ULINE="yes" + +ENV SILENCE_MAX_ENTRIES="256" + +ENV SSL_INFO_OPER_ONLY="" + +ENV SSL_ENABLE_UMODE="no" + +ENV SVS_HOLD_SILENT="no" + +ENV TIMED_BANS_SEND_NOTICE="yes" + +ENV WAIT_PONG_KILL_ON_BAD_REPLY="yes" + +ENV WAIT_PONG_SEND_NOTICE="yes" + +ENV WATCH_MAX="256" + +ENV WHOWAS_GROUP_SIZE="10" + +ENV WHOWAS_MAX_GROUPS="10000" + +ENV WHOWAS_MAX_KEEP="32y" + +ENV ZOMBIE_CLEAN_SPLIT="no" + +ENV ZOMBIE_DIRTY_SPLIT="yes" + +ENV ZOMBIE_MAX="100" + +ENV ZOMBIE_SERVER_TIME="5m" + +ENV AUDITORIUM_OP_CAN_SEE="no" + +ENV AUDITORIUM_OPER_CAN_SEE="yes" + +ENV AUDITORIUM_OP_VISIBLE="no" + 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 @@ -210,9 +452,9 @@ ADD include.default.conf /etc/inspircd/include.conf ADD GeoLite2-Country.mmdb /etc/inspircd -RUN touch /etc/inspircd/motd.txt +ADD motd.txt /etc/inspircd/motd.txt -RUN touch /etc/inspircd/oper.motd.txt +ADD oper.motd.txt /etc/inspircd/oper.motd.txt RUN openssl genrsa -out /etc/ssl/inspircd/server.key diff --git a/config.env.example b/config.env.example index 1362907..59d3001 100644 --- a/config.env.example +++ b/config.env.example @@ -88,3 +88,124 @@ DEFAULT_BLOCK_HOST_MASK="nothing" LINK_RECV_PASSWORD="changeme" LINK_SEND_PASSWORD="changeme" LINK_TIMEOUT=32 +CLOAK_KEY="BP4qa616oRTJLnUMYZfdcllopx1mere0OlyyLtsicNh2NRyywd529cmvtZnlbNLCbsIkY7Efk6Dp170u" +CLOAK_IGNORE_CASE="no" +CLOAK_MODE="full" +CLOAK_PREFIX="cloak/" +CLOAK_SUFFIX=".hidden" +BLOCK_AMSG_ACTION="killopers" +BLOCK_AMSG_DELAY="3" +BLOCK_HL_IGNORE_EXT_MESSAGE="yes" +BLOCK_HL_MIN_LEN="50" +BLOCK_HL_MIN_USER_NUM="10" +BLOCK_HL_STRIP_COLOR="yes" +BOT_MODE_FORCE_NOTICE="no" +CHAN_FILTER_HIDE_MASK="yes" +CHAN_FILTER_MAX_LEN="512" +CHAN_FILTER_NOTIFY_USER="yes" +CALLER_ID_COOL_DOWN="4m" +CALLER_ID_MAX_ACCEPTS="256" +CALLER_ID_TRACK_NICK="yes" +CBAN_GLOB="yes" +CHAN_HISTORY_BOTS="yes" +CHAN_HISTORY_ENABLE_UMODE="yes" +CHAN_HISTORY_MAX_LINES="64" +CHAN_HISTORY_PREFIX_MSG="yes" +OPER_CHANNEL_SNOMASK="DdRrtXxLlkKvgfFoO" +CHAN_NAMES_ALLOW_RANGE="35,45-46" +CHAN_NAMES_DENY_RANGE="1-47,58-64,91-96,123-255" +CHANNELS_OPERS="4294967295" +CHANNELS_USERS="4294967295" +CODE_PAGE="ascii" +CONNECT_BAN_BOOT_WAIT="128" +CONNECT_BAN_DURATION="64" +CONNECT_BAN_V4_PREFIX_LEN="32" +CONNECT_BAN_v6_PREFIX_LEN="128" +CONNECT_BAN_SPLIT_WAIT="128" +CONNECT_BAN_THRESHOLD="32" +CTC_TAGS_ALLOW_CLIENT_ONLY_TAGS="no" +DEAF_BYPASS_CHARS="" +DEAF_BYPASS_CHARS_ULINE="!" +DEAF_ENABLE_PRIV_DEAF="" +DEAF_PRIV_DEAF_ULINE="" +DELAY_MSG_ALLOW_NOTICE="yes" +DISABLE_CHMODES="" +DISABLE_COMMANDS="" +DISABLE_FAKENONEXISTANT="no" +DISABLE_USERMODES="w" +HIDECHANS_AFFECTS_OPERS="yes" +HOSTNAME_CHAR_MAP="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_/0123456789," +HTTPD_TIMEOUT="8s" +IDENT_PREFIX_UNQUERIED="yes" +IDENT_TIMEOUT="2s" +INSANE_HOSTMASKS="no" +INSANE_IPMASKS="no" +INSANE_NICKMASKS="no" +INSANE_TRIGGER="95.5" +INVITE_EXCEPTION_BYPASS_KEY="yes" +IRCV3_ACCOUNT_NOTIFY="yes" +IRCV3_AWAY_NOTIFY="yes" +IRCV3_EXTENDED_JOIN="yes" +JOIN_FLOOD_BOOT_WAIT="32s" +JOIN_FLOOD_DURATION="2m" +JOIN_FLOOD_SPLIT_WAIT="32s" +KNOCK_NOTIFY="both" +LIST_MAX_SIZE="512" +LIST_NORMAL_SIZE="256" +MESSAGE_FLOOD_NOTICE="1.0" +MESSAGE_FLOOD_PRIVMSG="1.0" +MESSAGE_FLOOD_TAG_MSG="0.2" +MONITOR_MAX_ENTRIES="256" +MUTE_BAN_NOTIFY_USER="yes" +NICK_DELAY="4s" +NICK_DELAY_HINT="yes" +NICK_FLOOD_DURATION="64s" +NO_CTCP_ENABLE_UMODE="yes" +OJOIN_NOTICE="yes" +OJOIN_OP="yes" +OJOIN_PREFIX="!" +OPER_PREFIX="*" +OPER_TO_SNOMASK="on" +OVERRIDE_ENABLE_UMODE="yes" +OVERRIDE_NOISY="yes" +OVERRIDE_REQUIRE_KEY="yes" +REMOVE_SUPPORT_NO_KICKS="yes" +REPEAT_MAX_BACK_LOG="20" +REPEAT_MAX_DISTANCE="50" +REPEAT_MAX_LINES="20" +REPEAT_MAX_TIME="0" +REPEAT_MAX_SIZE="512" +RLINE_ENGINE="pcre" +RLINE_MATCH_ON_NICK_CHANGE="yes" +RLINE_ZLINE_ON_MATCH="no" +RESTRICT_CHANS_ALLOW_REGISTERED="no" +SECURE_LIST_EXEMPT_REGISTERED="yes" +SECURE_LIST_SHOW_MSG="yes" +SECURE_LIST_WAIT_TIME="8s" +SHOW_WHOIS_OPER_ONLY="no" +SHOW_WHOIS_FROM_OPERS="yes" +SHUN_AFFECT_OPERS="no" +SHUN_ALLOW_CONNECT="no" +SHUN_ALLOW_TAGS="no" +SHUN_CLEANED_COMMANDS="AWAY PART QUIT" +SHUN_ENABLED_COMMANDS="ADMIN OPER PING PONG QUIT PART JOIN" +SHUN_NOTIFY_USER="yes" +SILENCE_EXEMPT_ULINE="yes" +SILENCE_MAX_ENTRIES="256" +SSL_INFO_OPER_ONLY="" +SSL_ENABLE_UMODE="no" +SVS_HOLD_SILENT="no" +TIMED_BANS_SEND_NOTICE="yes" +WAIT_PONG_KILL_ON_BAD_REPLY="yes" +WAIT_PONG_SEND_NOTICE="yes" +WATCH_MAX="256" +WHOWAS_GROUP_SIZE="10" +WHOWAS_MAX_GROUPS="10000" +WHOWAS_MAX_KEEP="32y" +ZOMBIE_CLEAN_SPLIT="no" +ZOMBIE_DIRTY_SPLIT="yes" +ZOMBIE_MAX="100" +ZOMBIE_SERVER_TIME="5m" +AUDITORIUM_OP_CAN_SEE="no" +AUDITORIUM_OPER_CAN_SEE="yes" +AUDITORIUM_OP_VISIBLE="no" diff --git a/docker-compose.linked.yml b/docker-compose.linked.yml index 3b254a8..eeb3ca7 100644 --- a/docker-compose.linked.yml +++ b/docker-compose.linked.yml @@ -7,8 +7,10 @@ services: image: inspi4 network_mode: "host" env_file: "config.env" - command: /usr/local/bin/inspircd -c /etc/inspircd/inspircd.conf -F -d + command: /usr/local/bin/inspircd -c /etc/inspircd/inspircd.conf -F volumes: + - ./motd.txt:/etc/inspircd/motd.txt:ro + - ./oper.motd.txt:/etc/inspircd/oper.motd.txt:ro - ./include.conf:/etc/inspircd/include.conf:ro - ssl:/etc/ssl/inspircd - data:/var/lib/inspircd diff --git a/include.default.conf b/include.default.conf index 81022aa..8398f18 100644 --- a/include.default.conf +++ b/include.default.conf @@ -28,3 +28,88 @@ name="admin" password="&env.ADMIN_PASSWORD;" type="NetAdmin"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/inspircd.conf b/inspircd.conf index d50b84d..f6a29ce 100644 --- a/inspircd.conf +++ b/inspircd.conf @@ -1,6 +1,9 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -333,114 +262,93 @@ - - - - - - - - - - - - - - - - - - - - - + reason="Reserved For Services"> + reason="Reserved For Services"> - + + reason="Reserved For Services"> + + + + + reason="Reserved For Services"> + + + reason="Reserved For Services"> + + + + + + + reason="Reserved For Services"> + reason="Reserved For Services"> + reason="Reserved For Services"> - - - + - + - + stripcolor="&env.BLOCK_HL_STRIP_COLOR;"> - + - + - + - + - - - + + snomasks="&env.OPER_CHANNEL_SNOMASK;"> - + - + - + - + - - - - + bootwait="&env.CONNECT_BAN_BOOT_WAIT;" + duration="&env.CONNECT_BAN_DURATION;" + ipv4cidr="&env.CONNECT_BAN_V4_PREFIX_LEN;" + ipv6cidr="&env.CONNECT_BAN_v6_PREFIX_LEN;" + splitwait="&env.CONNECT_BAN_SPLIT_WAIT;" + threshold="&env.CONNECT_BAN_THRESHOLD;"> @@ -610,7 +508,7 @@ - + - + - + - - - + - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + @@ -744,48 +629,29 @@ - + - + - + - + - + - + - + - - - - - - - - - + + limit="&env.LIST_NORMAL_SIZE;"> - + @@ -839,8 +705,6 @@ - - @@ -899,8 +763,6 @@ - - @@ -1217,8 +1079,6 @@ - - @@ -1227,31 +1087,27 @@ - + - + - + - + - + - + - - - + - + - + - - + supportnokicks="&env.REMOVE_SUPPORT_NO_KICKS;"> - + - + - - - - - + - + - + - + - + - + - - - - - - - + - + - - - - - + - + - + - + - + diff --git a/motd.txt b/motd.txt new file mode 100644 index 0000000..39cdd0d --- /dev/null +++ b/motd.txt @@ -0,0 +1 @@ +- diff --git a/oper.motd.txt b/oper.motd.txt new file mode 100644 index 0000000..39cdd0d --- /dev/null +++ b/oper.motd.txt @@ -0,0 +1 @@ +- diff --git a/services/atheme.conf b/services/atheme.conf index 0659755..db80c94 100644 --- a/services/atheme.conf +++ b/services/atheme.conf @@ -23,9 +23,9 @@ loadmodule "crypto/rawmd5"; loadmodule "crypto/ircservices"; loadmodule "crypto/crypt3-des"; loadmodule "crypto/base64"; -loadmodule "auth/ldap"; +#loadmodule "auth/ldap"; loadmodule "nickserv/main"; -loadmodule "nickserv/access"; +#loadmodule "nickserv/access"; loadmodule "nickserv/badmail"; loadmodule "nickserv/cert"; loadmodule "nickserv/drop"; @@ -500,8 +500,8 @@ botserv { groupserv { - nick = "GROYPSERV"; - user = "GROYPSERV"; + nick = "GROUPSERV"; + user = "GROUPSERV"; host = "services/-"; real = "Group Management Services";