Compare commits

..

52 Commits
V0.1 ... main

Author SHA1 Message Date
Mario Fetka
c0dca57051 Fixed #1 Add Ubuntu support 2024-07-13 16:55:36 +02:00
Mario Fetka
b544d0e81e Add Ubuntu support 2024-07-13 16:48:15 +02:00
Mario Fetka
ffaa0d83de Adding logging closes #1 2024-07-06 16:31:51 +02:00
Mario Fetka
111edfe060 add logging 2024-07-06 16:25:11 +02:00
Mario Fetka
cab937085b add logging 2024-07-06 15:56:19 +02:00
Mario Fetka
a7ebef3a3a add logging 2024-07-06 15:53:08 +02:00
Mario Fetka
7b1b5d6dae add logging 2024-07-06 15:50:43 +02:00
Mario Fetka
b833d938b4 add logging 2024-07-06 15:47:18 +02:00
Mario Fetka
aaf05c1e12 add logging 2024-07-06 15:45:22 +02:00
Mario Fetka
74d6291522 add logging 2024-07-06 15:44:23 +02:00
Mario Fetka
34a6606065 add logging 2024-07-06 15:27:38 +02:00
Mario Fetka
734b4d5a58 add logging 2024-07-06 15:25:59 +02:00
Mario Fetka
874f3cd48c add logging 2024-07-06 15:18:47 +02:00
Mario Fetka
775cf27a57 add logging 2024-07-06 15:17:17 +02:00
Mario Fetka
659e3b4edb add logging 2024-07-06 15:14:55 +02:00
Mario Fetka
16905e5043 add logging 2024-07-06 15:12:46 +02:00
Mario Fetka
b83d80ef90 add logging 2024-07-06 15:06:52 +02:00
Mario Fetka
17199a5a30 Release new script 2024-05-16 18:33:06 +02:00
Mario Fetka
0452a021c2 Add dosbox for i386 2024-05-16 17:02:36 +02:00
Mario Fetka
43db2a1ae1 Add dosbox for i386 2024-05-16 15:48:33 +02:00
Mario Fetka
ffadccaed3 Add dosbox for i386 2024-05-16 15:39:36 +02:00
Mario Fetka
f07c3a31ec Add dosbox for i386 2024-05-16 15:28:43 +02:00
Mario Fetka
a23591094f Add dosbox for i386 2024-05-16 15:04:43 +02:00
Mario Fetka
50f20128a1 release verison v0.5 2024-05-11 12:54:05 +02:00
Mario Fetka
1eed5a6b1f get python ver also on python2 2024-05-11 11:39:51 +02:00
Mario Fetka
92535047da get python ver also on python2 2024-05-11 11:27:02 +02:00
Mario Fetka
bbdcb91d99 get python ver 2024-05-11 11:14:58 +02:00
Mario Fetka
4ed08e88f3 get python ver 2024-05-11 11:12:46 +02:00
Mario Fetka
c1ba8bf635 no dosemu2 on 32bit systems 2024-05-11 10:27:47 +02:00
Mario Fetka
a2937292fa add vscode config 2024-05-11 08:46:10 +02:00
Mario Fetka
90245ee2d6 add more infos for the install 2024-05-11 08:09:45 +02:00
Mario Fetka
fabdcc02fa add mir info to the install 2024-05-10 21:29:52 +02:00
Mario Fetka
dbdd91af9c update verison 2024-05-10 21:16:18 +02:00
Mario Fetka
184130d1ca add workaround for rar on arm 2024-05-10 21:08:51 +02:00
Mario Fetka
cbcf4d4820 debug rar 2024-05-10 20:44:39 +02:00
Mario Fetka
5332c84781 debug wget 2024-05-10 20:28:29 +02:00
Mario Fetka
2e569cd221 debug wget 2024-05-10 20:25:01 +02:00
Mario Fetka
1fbe46d98e add neede deependency 2024-05-10 20:17:18 +02:00
Mario Fetka
e56a898286 Remove pemtrans 2024-05-10 20:09:16 +02:00
Mario Fetka
e95f8c4651 add tempfile.d file 2024-04-25 19:33:16 +02:00
Mario Fetka
d95a2904b3 change way the mrc server log is created 2024-04-25 18:24:17 +02:00
Mario Fetka
b90d94828e Update cron and banscript and config 2024-04-22 13:35:29 +02:00
Mario Fetka
301d6ab00d Prepare v0.3 and make 0.2 stable 2024-04-21 11:40:19 +02:00
Mario Fetka
0d7c3da24e Prepare v0.3 and make 0.2 stable 2024-04-21 11:35:52 +02:00
Mario Fetka
7835988725 add lha build 2024-04-21 10:41:32 +02:00
Mario Fetka
376596a7ca add lha build 2024-04-21 10:35:27 +02:00
Mario Fetka
31eeda36b1 add lha build 2024-04-21 10:33:12 +02:00
Mario Fetka
6dd8264dc4 add lha build 2024-04-21 10:28:08 +02:00
Mario Fetka
25084d40ee add lha build 2024-04-21 10:25:34 +02:00
Mario Fetka
688d5976b0 add lha build 2024-04-21 10:22:18 +02:00
Mario Fetka
dfa97845fb add lha build 2024-04-21 10:19:02 +02:00
Mario Fetka
c2c83c2e6f Prepare V0.2 2024-04-21 07:45:51 +02:00
103 changed files with 950 additions and 150 deletions

View File

@ -1,4 +1,4 @@
DBP MYSTIC INSTALLER SCRIPT v0.1 DBP MYSTIC INSTALLER SCRIPT v0.7
This Script will help you install the Mystic This Script will help you install the Mystic
BBS System on Debian Linux. It also Compiles BBS System on Debian Linux. It also Compiles
Cryptlib, Adds Fail2ban, Logmanagent, Multi Cryptlib, Adds Fail2ban, Logmanagent, Multi

View File

@ -2,13 +2,10 @@
Installscript / Systemd Files / Themes German&English Installscript / Systemd Files / Themes German&English
bash -c "$(wget -qLO - https://gitea.disconnected-by-peer.at/geos_one/mystic/raw/branch/main/install.sh)" bash -c "$(wget -qLO - https://gitea.disconnected-by-peer.at/geos_one/mystic/raw/branch/main/install.sh)"
Thankyou Thankyou
https://vswitchzero.com/mystic-systemd/ for the initial systemd scripts for mis and mrc https://vswitchzero.com/mystic-systemd/ for the initial systemd scripts for mis and mrc
https://tteck.github.io/Proxmox/ for the layout of the install script and the cool error tracker. https://tteck.github.io/Proxmox/ for the layout of the install script and the cool error tracker.
https://www.youtube.com/@MysticGuyBBS for the inspiration for creating the script. https://www.youtube.com/@MysticGuyBBS for the inspiration for creating the script.

View File

@ -2,9 +2,6 @@ if [ $CRYPT = "Yes" ]; then
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "Mystic SSL Support" >> ${DBP_INFO} echo "Mystic SSL Support" >> ${DBP_INFO}
echo "with the libcl support you can now activate ssl in the Mystic system" >> ${DBP_INFO} echo "with the libcl support you can now activate ssl in the Mystic system" >> ${DBP_INFO}
echo "also with the Cryptlib support a tool called pemtrans has been istalled" >> ${DBP_INFO}
echo "with it you can import your ssl certs like LetsEncrypt into the Mystic system" >> ${DBP_INFO}
echo "./pemtrans <key> <cert> <out> <label> <secret>" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO} echo "==============================================================================================================" >> ${DBP_INFO}
fi fi

7
cryptlib/info-v7.sh Normal file
View File

@ -0,0 +1,7 @@
if [ $CRYPT = "Yes" ]; then
echo "" >> ${DBP_INFO}
echo "Mystic SSL Support" >> ${DBP_INFO}
echo "with the libcl support you can now activate ssl in the Mystic system" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

View File

@ -22,40 +22,10 @@ ln -sf libcl.so.3.4.5 ${LIBDIR}/libcl.so.3.4 &>/dev/null
ln -sf libcl.so.3.4 ${LIBDIR}/libcl.so.3 &>/dev/null ln -sf libcl.so.3.4 ${LIBDIR}/libcl.so.3 &>/dev/null
ln -sf libcl.so.3 ${LIBDIR}/libcl.so &>/dev/null ln -sf libcl.so.3 ${LIBDIR}/libcl.so &>/dev/null
popd &>/dev/null popd &>/dev/null
msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
msg_info "Setting up ${APP} pemtrans (be patient compiling pemtrans)"
SSLDEV=$(apt-cache madison libssl-dev | grep 1.0.1 | awk '{print $3}')
apt install -y --allow-downgrades libssl1.0.0 libssl-dev=${SSLDEV} &>/dev/null
wget -N https://github.com/amenonsen/pemtrans/archive/refs/heads/master.zip -O $MSTEMPDIR/pemtrans.zip &>/dev/null
rm -rf $MSTEMPDIR/pemtrans-master &>/dev/null
pushd $MSTEMPDIR/ &>/dev/null
unzip pemtrans.zip &>/dev/null
popd &>/dev/null
cat << 'EOF' > $MSTEMPDIR/pemtrans-master/Makefile
## Tell the compiler where to find <openssl/pem.h> and <cryptlib.h>
## Cryptlib is usually linked with these libraries:
EXTRA_LIBS = -lresolv -lpthread
## Remember to change theese to suit your environment!!
INCLUDES = -I../cryptlib-3.4.5
pemtrans: pemtrans.c
gcc $(INCLUDES) $(LIBS) -o pemtrans pemtrans.c $(CRYPTLIB) \
-lcrypto -lssl -lcl $(EXTRA_LIBS)
EOF
pushd $MSTEMPDIR/pemtrans-master &>/dev/null
make &>/dev/null
cp pemtrans ${MYSTIC_DIR}/
cp pemtrans.1 ${MYSTIC_DIR}/docs/
cp README ${MYSTIC_DIR}/docs/pemtrans_README
popd &>/dev/null
apt purge -y gcc g++ cpp &>/dev/null apt purge -y gcc g++ cpp &>/dev/null
apt install -y gcc g++ cpp &>/dev/null apt install -y gcc g++ cpp &>/dev/null
msg_ok "Setting up ${APP} pemtrans (be patient compiling pemtrans)" msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
fi fi

31
cryptlib/install-v7.sh Normal file
View File

@ -0,0 +1,31 @@
if [ $CRYPT = "Yes" ]; then
msg_info "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
cmd_exec apt install -y build-essential &>>$INSTALLLOG
cmd_exec apt install -y gcc-9 g++-9 cpp-9 gcc g++ cpp &>>$INSTALLLOG
cmd_exec apt install -y patch &>>$INSTALLLOG
cmd_exec apt install -y dos2unix &>>$INSTALLLOG
cmd_exec wget -N http://www.mysticbbs.com/downloads/cl345.zip -O $MSTEMPDIR/cryptlib345.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/cryptlib-3.4.5 &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/cryptlib-3.4.5 &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/cryptlib-3.4.5 &>>$INSTALLLOG
cmd_exec unzip ../cryptlib345.zip &>>$INSTALLLOG
cmd_exec dos2unix tools/* &>>$INSTALLLOG
cmd_exec dos2unix kernel/* &>>$INSTALLLOG
cmd_exec patch -p1 -i $MSTEMPDIR/mystic/cryptlib/patches/gccversion-345.patch &>>$INSTALLLOG
cmd_exec patch -p0 -i $MSTEMPDIR/mystic/cryptlib/patches/cl-linux-yield.patch &>>$INSTALLLOG
cmd_exec ln -sf gcc-9 /usr/bin/gcc &>>$INSTALLLOG
cmd_exec ln -sf g++-9 /usr/bin/g++ &>>$INSTALLLOG
cmd_exec ln -sf cpp-9 /usr/bin/cpp &>>$INSTALLLOG
cmd_exec make shared &>>$INSTALLLOG
cmd_exec cp libcl.so.3.4.5 ${LIBDIR}/ &>>$INSTALLLOG
cmd_exec ln -sf libcl.so.3.4.5 ${LIBDIR}/libcl.so.3.4 &>>$INSTALLLOG
cmd_exec ln -sf libcl.so.3.4 ${LIBDIR}/libcl.so.3 &>>$INSTALLLOG
cmd_exec ln -sf libcl.so.3 ${LIBDIR}/libcl.so &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
cmd_exec apt purge -y gcc g++ cpp &>>$INSTALLLOG
cmd_exec apt install -y gcc g++ cpp &>>$INSTALLLOG
msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
fi

8
cryptlib/prompt-v7.sh Normal file
View File

@ -0,0 +1,8 @@
CRYPT=$(whiptail --title "SSL SSH Support for Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add ssl Support" ON \
"No" "Don't add ssl Support" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add ssl Support: ${BGN}$CRYPT${CL}"
fi

5
cryptlib/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

View File

@ -27,7 +27,7 @@ fi
MYSTIC_DIR="@MYSTIC_DIR@" MYSTIC_DIR="@MYSTIC_DIR@"
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
BAN_UNBAN_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k BanUnbanIP --silent` BAN_UNBAN_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k BanUnbanIP --silent`
BAN_UNBAN_SERVICE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S BanUnbanIP -k BanningService --silent` BAN_UNBAN_SERVICE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S BanUnbanIP -k BanningService --silent`
BAN_UNBAN_MYSTIC=`${MYSTIC_DIR}/inimod r ${INIFILE} -S BanUnbanIP -k UnbanInMystic --silent` BAN_UNBAN_MYSTIC=`${MYSTIC_DIR}/inimod r ${INIFILE} -S BanUnbanIP -k UnbanInMystic --silent`

View File

@ -21,30 +21,30 @@ fi
MYSTIC_DIR="@MYSTIC_DIR@" MYSTIC_DIR="@MYSTIC_DIR@"
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
MIS_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k MisLog --silent` MIS_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k MisLog --silent`
MIS_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MisLog -k RetentionTime --silent` MIS_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MisLog -k RetentionTime --silent`
POLL_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k PollLog --silent` POLL_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k PollLog --silent`
POLL_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S PollLog -k RetentionTime --silent` POLL_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S PollLog -k RetentionTime --silent`
MUTIL_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k MutilLog --silent` MUTIL_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k MutilLog --silent`
MUTIL_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MutilLog -k RetentionTime --silent` MUTIL_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MutilLog -k RetentionTime --silent`
ERROR_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k ErrorLog --silent` ERROR_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k ErrorLog --silent`
ERROR_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S ErrorLog -k RetentionTime --silent` ERROR_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S ErrorLog -k RetentionTime --silent`
MRCCHAT_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k MrcChatLog --silent` MRCCHAT_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k MrcChatLog --silent`
MRCCHAT_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MrcChatLog -k RetentionTime --silent` MRCCHAT_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MrcChatLog -k RetentionTime --silent`
MRCSERVER_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k MrcServerLog --silent` MRCSERVER_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k MrcServerLog --silent`
MRCSERVER_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MrcServerLog -k RetentionTime --silent` MRCSERVER_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S MrcServerLog -k RetentionTime --silent`
NODE_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k NodeLog --silent` NODE_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k NodeLog --silent`
NODE_COUNT=`${MYSTIC_DIR}/inimod r ${INIFILE} -S NodeLog -k MaxNodes --silent` NODE_COUNT=`${MYSTIC_DIR}/inimod r ${INIFILE} -S NodeLog -k MaxNodes --silent`
NODE_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S NodeLog -k RetentionTime --silent` NODE_KEEP=`${MYSTIC_DIR}/inimod r ${INIFILE} -S NodeLog -k RetentionTime --silent`
NODE_START=1 NODE_START=0
IP2L_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S GeneralDbP -k Ip2Location --silent` IP2L_ENABLE=`${MYSTIC_DIR}/inimod r ${INIFILE} -S General -k Ip2Location --silent`
IP2L_TOKEN=`${MYSTIC_DIR}/inimod r ${INIFILE} -S Ip2Location -k Token --silent` IP2L_TOKEN=`${MYSTIC_DIR}/inimod r ${INIFILE} -S Ip2Location -k Token --silent`
IP2L_DB=`${MYSTIC_DIR}/inimod r ${INIFILE} -S Ip2Location -k Database --silent` IP2L_DB=`${MYSTIC_DIR}/inimod r ${INIFILE} -S Ip2Location -k Database --silent`

View File

@ -1,4 +1,4 @@
[GeneralDbP] [General]
Ip2Location=false Ip2Location=false
MisLog=false MisLog=false
@ -12,13 +12,13 @@ BanUnbanIP=false
BaseDir=@MYSTIC_DIR@ BaseDir=@MYSTIC_DIR@
; Logfielformat not inplemented at the moment ist hardcoded to YYYYMMDD ; Logfile Format not implemented at the moment ist hardcoded to YYYYMMDD
LogFileFormat=YYYY-MM-DD LogFileFormat=YYYY-MM-DD
[Ip2Location] [Ip2Location]
; Pleas Create an Free Account at https://lite.ip2location.com/ and fill in the Token ; Pleas Create an Free Account at https://lite.ip2location.com/ and fill in the Token
; if you Buy the the Service you can CHange the Database to reflect your purchase. ; if you Buy the the Service you can CHange the Database to reflect your purchase.
; But chose the BIN Veriosn for the download ; But chose the BIN Version for the download
Token=PleasePutTokenHere Token=PleasePutTokenHere
Database=DB1LITEBIN Database=DB1LITEBIN

View File

@ -1,18 +0,0 @@
echo "" >> ${DBP_INFO}
echo "To activate the Disconnected-by-peer scripts for Mystic" >> ${DBP_INFO}
echo "you have to activate it in the Mystic Event Editor" >> ${DBP_INFO}
echo "Below is a suggested configuration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Active | Description | Event Type | Exec Hour:Min | Shell | Prefix | Semaphore | Kill-After | Warning | SMTWTFS" >> ${DBP_INFO}
echo "-------+--------------------------------+------------+---------------+--------------------------------------------------+--------+--------------------------+--------------------------+---------+--------" >> ${DBP_INFO}
echo "Yes | Daily Tasks | Shell | 00:00 | cron -f dbp.ini | Yes | | | 0 | SMTWTFS" >> ${DBP_INFO}
echo "Yes | Nightly Maintenance | Shell | 04:00 | mutil maint.ini | Yes | | | 0 | SMTWTFS" >> ${DBP_INFO}
echo "Yes | Firewall Ban | IP Blocked | 00:00 | banunban -f dbp.ini -d banip -i @IP@ | Yes | | | 0 | -------" >> ${DBP_INFO}
echo "Yes | Sending Outbound Echo/Net Mail | Semaphore | 00:00 | mutil mailout.ini|mis poll send|mutil mailin.ini | Yes | echomail.out|netmail.out | echomail.out|netmail.out | 0 | -------" >> ${DBP_INFO}
echo "Yes | Toss Incomming Echo/Net Mail | Semaphore | 00:00 | mutil mailin.ini | Yes | echomail.in|netmail.in | echomail.in|netmail.in | 0 | -------" >> ${DBP_INFO}
echo "Yes | Poll Echomail | Inteval | 01:05 | mis poll forced|mutil mailin.ini | Yes | | | | SMTWTFS" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Bevore activating any services you have to configure the ${MYSTIC_DIR}/dbp.ini file to your needs and installed services" >> ${DBP_INFO}
echo "then you can start the ./cron -f dbp.ini as the mystic user" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}

18
dbp/info-v6.sh Normal file
View File

@ -0,0 +1,18 @@
echo "" >> ${DBP_INFO}
echo "To activate the Disconnected-by-peer scripts for Mystic" >> ${DBP_INFO}
echo "you have to activate it in the Mystic Event Editor" >> ${DBP_INFO}
echo "Below is a suggested configuration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Active | Description | Event Type | Exec Hh:Mm | Shell | Prefix | Semaphore | Kill-After | Warning | SMTWTFS" >> ${DBP_INFO}
echo "-------+---------------------------+------------+------------+------------------------------------------+--------+--------------------------+--------------------------+---------+--------" >> ${DBP_INFO}
echo "Yes | Daily Tasks | Shell | 00:00 | cron -f dbp.ini | Yes | | | 0 | SMTWTFS" >> ${DBP_INFO}
echo "Yes | Nightly Maintenance | Shell | 04:00 | mutil maint | Yes | | | 0 | SMTWTFS" >> ${DBP_INFO}
echo "Yes | Firewall Ban | IP Blocked | 00:00 | banunban -f dbp.ini -d banip -i @IP@ | Yes | | | 0 | -------" >> ${DBP_INFO}
echo "Yes | Sending Out Echo/Net Mail | Semaphore | 00:00 | mutil mailout|mis poll send|mutil mailin | Yes | echomail.out|netmail.out | echomail.out|netmail.out | 0 | -------" >> ${DBP_INFO}
echo "Yes | Toss Incom Echo/Net Mail | Semaphore | 00:00 | mutil mailin | Yes | echomail.in|netmail.in | echomail.in|netmail.in | 0 | -------" >> ${DBP_INFO}
echo "Yes | Poll Echomail | Inteval | 01:05 | mis poll forced|mutil mailin | Yes | | | | SMTWTFS" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Before activating any services you have to configure the ${MYSTIC_DIR}/dbp.ini file to your needs and installed services" >> ${DBP_INFO}
echo "then you can start the ./cron -f dbp.ini as the mystic user" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}

18
dbp/info-v7.sh Normal file
View File

@ -0,0 +1,18 @@
echo "" >> ${DBP_INFO}
echo "To activate the Disconnected-by-peer scripts for Mystic" >> ${DBP_INFO}
echo "you have to activate it in the Mystic Event Editor" >> ${DBP_INFO}
echo "Below is a suggested configuration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Active | Description | Event Type | Exec Hh:Mm | Shell | Prefix | Semaphore | Kill-After | Warning | SMTWTFS" >> ${DBP_INFO}
echo "-------+---------------------------+------------+------------+------------------------------------------+--------+--------------------------+--------------------------+---------+--------" >> ${DBP_INFO}
echo "Yes | Daily Tasks | Shell | 00:00 | cron -f dbp.ini | Yes | | | 0 | SMTWTFS" >> ${DBP_INFO}
echo "Yes | Nightly Maintenance | Shell | 04:00 | mutil maint | Yes | | | 0 | SMTWTFS" >> ${DBP_INFO}
echo "Yes | Firewall Ban | IP Blocked | 00:00 | banunban -f dbp.ini -d banip -i @IP@ | Yes | | | 0 | -------" >> ${DBP_INFO}
echo "Yes | Sending Out Echo/Net Mail | Semaphore | 00:00 | mutil mailout|mis poll send|mutil mailin | Yes | echomail.out|netmail.out | echomail.out|netmail.out | 0 | -------" >> ${DBP_INFO}
echo "Yes | Toss Incom Echo/Net Mail | Semaphore | 00:00 | mutil mailin | Yes | echomail.in|netmail.in | echomail.in|netmail.in | 0 | -------" >> ${DBP_INFO}
echo "Yes | Poll Echomail | Inteval | 01:05 | mis poll forced|mutil mailin | Yes | | | | SMTWTFS" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Before activating any services you have to configure the ${MYSTIC_DIR}/dbp.ini file to your needs and installed services" >> ${DBP_INFO}
echo "then you can start the ./cron -f dbp.ini as the mystic user" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}

24
dbp/install-v7.sh Normal file
View File

@ -0,0 +1,24 @@
if [ $DBPSCRIPTS = "Yes" ]; then
msg_info "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
cmd_exec wget -N https://ftp.disconnected-by-peer.at/IniMod/IniMod_linux_${INIMOD_ARCH}.zip -O $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH}.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>>$INSTALLLOG
cmd_exec unzip ../IniMod_linux_${INIMOD_ARCH}.zip &>>$INSTALLLOG
cmd_exec cp inimod ${MYSTIC_DIR} &>>$INSTALLLOG
cmd_exec chmod +x ${MYSTIC_DIR}/inimod &>>$INSTALLLOG
cmd_exec cp README.txt ${MYSTIC_DIR}/docs/inimod_README.txt &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
msg_ok "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
msg_info "Installing DbP Cron/banip/unbanip Scripts"
cmd_exec pushd $MSTEMPDIR/mystic/dbp &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" cron.sh > ${MYSTIC_DIR}/cron
cmd_exec chmod +x ${MYSTIC_DIR}/cron &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" banunban.sh > ${MYSTIC_DIR}/banunban
cmd_exec chmod +x ${MYSTIC_DIR}/banunban &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" dbp.ini > ${MYSTIC_DIR}/dbp.ini
cmd_exec popd &>>$INSTALLLOG
msg_ok "Installing DbP Cron/banip/unbanip Scripts"
fi

8
dbp/prompt-v7.sh Normal file
View File

@ -0,0 +1,8 @@
DBPSCRIPTS=$(whiptail --title "Add The Disconnected by Peer Support Script" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add DbP Script" ON \
"No" "Don't add DbP Script" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add DbP Support Script: ${BGN}$DBPSCRIPTS${CL}"
fi

5
dbp/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

View File

@ -1,8 +0,0 @@
if [ $DOSEMU = "Yes" ]; then
echo "" >> ${DBP_INFO}
echo "DosEmu2 Integration with Mystic" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "For the correct DosEmu2 integration follow the Mystic Doors doc ${MYSTIC_DIR}/docs/unix.install.txt" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

21
dosemu2/info-v6.sh Normal file
View File

@ -0,0 +1,21 @@
if [ "${DOSEMU}" = "Yes" ]; then
if [ "${DOSEMUVER}" = "dosemu2" ]; then
echo "" >> ${DBP_INFO}
echo "DosEmu2 Integration with Mystic" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "For the correct DosEmu2 integration follow the Mystic Doors doc ${MYSTIC_DIR}/docs/unix.install.txt" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi
if [ "${DOSEMUVER}" = "dosemu" ]; then
echo "" >> ${DBP_INFO}
echo "DosEmu Integration with Mystic" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "For the correct DosEmu integration follow the Mystic Doors doc ${MYSTIC_DIR}/docs/unix.install.txt" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi
fi

21
dosemu2/info-v7.sh Normal file
View File

@ -0,0 +1,21 @@
if [ "${DOSEMU}" = "Yes" ]; then
if [ "${DOSEMUVER}" = "dosemu2" ]; then
echo "" >> ${DBP_INFO}
echo "DosEmu2 Integration with Mystic" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "For the correct DosEmu2 integration follow the Mystic Doors doc ${MYSTIC_DIR}/docs/unix.install.txt" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi
if [ "${DOSEMUVER}" = "dosemu" ]; then
echo "" >> ${DBP_INFO}
echo "DosEmu Integration with Mystic" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "For the correct DosEmu integration follow the Mystic Doors doc ${MYSTIC_DIR}/docs/unix.install.txt" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi
fi

View File

@ -1,12 +0,0 @@
if [ $DOSEMU = "Yes" ]; then
msg_info "Installing DosEmu2 Dependencies for ${APP}"
pushd $MSTEMPDIR &>/dev/null
curl 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6d9cd73b401a130336ed0a56ebe1b5ded2ad45d6' | tee /etc/apt/trusted.gpg.d/code.launchpad.net-dosemu2.asc &>/dev/null
echo "deb https://ppa.launchpadcontent.net/dosemu2/ppa/ubuntu $UBUNTU main" | tee /etc/apt/sources.list.d/dosemu2.list &>/dev/null
apt update &>/dev/null
apt install -y dosemu2 &>/dev/null
#apt install -y install-otherdos &>/dev/null
msg_ok "Installing DosEmu2 Dependencies for ${APP}"
fi

28
dosemu2/install-v6.sh Normal file
View File

@ -0,0 +1,28 @@
if [ "${DOSEMU}" = "Yes" ]; then
if [ "${DOSEMUVER}" = "dosemu2" ]; then
msg_info "Installing DosEmu2 Dependencies for ${APP}"
pushd $MSTEMPDIR &>/dev/null
curl 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6d9cd73b401a130336ed0a56ebe1b5ded2ad45d6' | tee /etc/apt/trusted.gpg.d/code.launchpad.net-dosemu2.asc &>/dev/null
echo "deb https://ppa.launchpadcontent.net/dosemu2/ppa/ubuntu $UBUNTU main" | tee /etc/apt/sources.list.d/dosemu2.list &>/dev/null
apt update &>/dev/null
apt install -y dosemu2 &>/dev/null
#apt install -y install-otherdos &>/dev/null
msg_ok "Installing DosEmu2 Dependencies for ${APP}"
fi
if [ "${DOSEMUVER}" = "dosemu" ]; then
msg_info "Installing DosEmu Dependencies for ${APP}"
pushd $MSTEMPDIR &>/dev/null
curl 'https://deb.freexian.com/extended-lts/archive-key.gpg' | tee /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg &>/dev/null
echo "deb http://deb.freexian.com/extended-lts stretch main contrib" | tee /etc/apt/sources.list.d/stretch.list &>/dev/null
apt update &>/dev/null
apt install -y dosemu &>/dev/null
#apt install -y install-otherdos &>/dev/null
msg_ok "Installing DosEmu Dependencies for ${APP}"
fi
fi

28
dosemu2/install-v7.sh Normal file
View File

@ -0,0 +1,28 @@
if [ "${DOSEMU}" = "Yes" ]; then
if [ "${DOSEMUVER}" = "dosemu2" ]; then
msg_info "Installing DosEmu2 Dependencies for ${APP}"
cmd_exec pushd $MSTEMPDIR &>>$INSTALLLOG
curl 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x6d9cd73b401a130336ed0a56ebe1b5ded2ad45d6' | tee /etc/apt/trusted.gpg.d/code.launchpad.net-dosemu2.asc &>>$INSTALLLOG
echo "deb https://ppa.launchpadcontent.net/dosemu2/ppa/ubuntu $UBUNTU main" | tee /etc/apt/sources.list.d/dosemu2.list &>>$INSTALLLOG
cmd_exec apt update &>>$INSTALLLOG
cmd_exec apt install -y dosemu2 &>>$INSTALLLOG
#cmd_exec apt install -y install-otherdos &>>$INSTALLLOG
msg_ok "Installing DosEmu2 Dependencies for ${APP}"
fi
if [ "${DOSEMUVER}" = "dosemu" ]; then
msg_info "Installing DosEmu Dependencies for ${APP}"
cmd_exec pushd $MSTEMPDIR &>>$INSTALLLOG
curl 'https://deb.freexian.com/extended-lts/archive-key.gpg' | tee /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg &>>$INSTALLLOG
echo "deb http://deb.freexian.com/extended-lts stretch main contrib" | tee /etc/apt/sources.list.d/stretch.list &>>$INSTALLLOG
cmd_exec apt update &>>$INSTALLLOG
cmd_exec apt install -y dosemu &>>$INSTALLLOG
#cmd_exec apt install -y install-otherdos &>>$INSTALLLOG
msg_ok "Installing DosEmu Dependencies for ${APP}"
fi
fi

View File

@ -1,8 +0,0 @@
DOSEMU=$(whiptail --title "Add DosEmu2 to Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add DosEmu2 Script" ON \
"No" "Don't add DosEmu2 Script" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add DbP Script: ${BGN}$DOSEMU${CL}"
fi

8
dosemu2/prompt-v6.sh Normal file
View File

@ -0,0 +1,8 @@
DOSEMU=$(whiptail --title "Add DosEmu2/DosEmu to Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add DosEmu2/DosEmu Support" ON \
"No" "Don't add DosEmu2/DosEmu Support" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add DosEmu2/DosEmu Support: ${BGN}$DOSEMU${CL}"
fi

8
dosemu2/prompt-v7.sh Normal file
View File

@ -0,0 +1,8 @@
DOSEMU=$(whiptail --title "Add DosEmu2/DosEmu to Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add DosEmu2/DosEmu Support" ON \
"No" "Don't add DosEmu2/DosEmu Support" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add DosEmu2/DosEmu Support: ${BGN}$DOSEMU${CL}"
fi

5
dosemu2/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

View File

@ -4,7 +4,7 @@ echo "Fail2Ban Mystic integration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "A Fail2ban Systemd service override has been installed so tha the unprivileged user mystic can add and remove " >> ${DBP_INFO} echo "A Fail2ban Systemd service override has been installed so tha the unprivileged user mystic can add and remove " >> ${DBP_INFO}
echo "IP's to the fail2ban system" >> ${DBP_INFO} echo "IP's to the fail2ban system" >> ${DBP_INFO}
echo "to activate the fail2ban integration you will have to enabel it in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO} echo "to activate the fail2ban integration you will have to enable it in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO}
echo " for this to work correctly you wil have to change the firewall Line in the Event Editor to the suggested" >> ${DBP_INFO} echo " for this to work correctly you wil have to change the firewall Line in the Event Editor to the suggested" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO} echo "==============================================================================================================" >> ${DBP_INFO}

21
fail2ban/info-v7.sh Normal file
View File

@ -0,0 +1,21 @@
if [ $BANUNBAN = "fail2ban" ]; then
echo "" >> ${DBP_INFO}
echo "Fail2Ban Mystic integration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "A Fail2ban Systemd service override has been installed so tha the unprivileged user mystic can add and remove " >> ${DBP_INFO}
echo "IP's to the fail2ban system" >> ${DBP_INFO}
echo "to activate the fail2ban integration you will have to enable it in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO}
echo " for this to work correctly you wil have to change the firewall Line in the Event Editor to the suggested" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi
if [ $BANUNBAN = "ipban" ]; then
echo "" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

53
fail2ban/install-v7.sh Normal file
View File

@ -0,0 +1,53 @@
if [ $BANUNBAN = "fail2ban" ]; then
msg_info "Installing Fail2Ban Dependencies for ${APP}"
cmd_exec apt install -y fail2ban &>>$INSTALLLOG
cmd_exec apt install -y iptables &>>$INSTALLLOG
cmd_exec apt install -y ipset &>>$INSTALLLOG
if [ -z "${FAIL2BAN_GROUP}" ]; then
cmd_exec groupadd fail2ban &>>$INSTALLLOG
fi
cmd_exec usermod --append --groups fail2ban mystic &>>$INSTALLLOG
msg_ok "Installing Fail2Ban Dependencies for ${APP}"
msg_info "Installing Fail2Ban Scripts for ${APP}"
cmd_exec pushd $MSTEMPDIR/mystic/fail2ban &>>$INSTALLLOG
cmd_exec sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" action.d/mysticbbs.conf > /etc/fail2ban/action.d/mysticbbs.conf
cmd_exec sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" filter.d/mysticbbs.conf > /etc/fail2ban/filter.d/mysticbbs.conf
cmd_exec sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" jail.d/mysticbbs.conf > /etc/fail2ban/jail.d/mysticbbs.conf
cmd_exec mkdir -p /etc/systemd/system/fail2ban.service.d
cmd_exec cp systemd/override.conf /etc/systemd/system/fail2ban.service.d/override.conf
cmd_exec popd &>>$INSTALLLOG
msg_ok "Installing Fail2Ban Scripts for ${APP}"
fi
if [ $BANUNBAN = "ipban" ]; then
msg_info "Installing IpBan Dependencies for ${APP}"
cmd_exec pushd $MSTEMPDIR &>>$INSTALLLOG
cmd_exec wget -N https://github.com/DigitalRuby/IPBan/raw/master/IPBanCore/Linux/Scripts/Install.sh -O $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
cmd_exec apt install -y fail2ban &>>$INSTALLLOG
cmd_exec apt install -y iptables &>>$INSTALLLOG
cmd_exec apt install -y ipset &>>$INSTALLLOG
cmd_exec apt install -y xmlstarlet &>>$INSTALLLOG
cmd_exec sed -i '/yum/d' $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
cmd_exec sed -i '/systemctl/d' $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
cmd_exec sed -e 's!sudo !!g' -i $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
cmd_exec sed -e 's!-qq!-qqo!g' -i $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
cmd_exec sed -i '/nano/d' $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
cmd_exec bash $MSTEMPDIR/ipban-install.sh &>>$INSTALLLOG
if [ -z "${IPBAN_GROUP}" ]; then
cmd_exec groupadd ipban &>>$INSTALLLOG
fi
cmd_exec usermod --append --groups ipban mystic &>>$INSTALLLOG
cmd_exec chown -R root:ipban /opt/ipban &>>$INSTALLLOG
cmd_exec chmod 775 /opt/ipban/ &>>$INSTALLLOG
cmd_exec dos2unix /opt/ipban/*.{config,xml,md} &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
msg_ok "Installing IpBan Dependencies for ${APP}"
fi

9
fail2ban/prompt-v7.sh Normal file
View File

@ -0,0 +1,9 @@
BANUNBAN=$(whiptail --title "Add Ban / Unban to Mystic" --radiolist --cancel-button Exit-Script "Choose Fail2Ban IpBan No" 12 58 5 \
"fail2ban" "Add Fail2Ban" ON \
"ipban" "Add IpBan" OFF \
"No" "Don't add IP Banning" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add Fail2Ban: ${BGN}$BANUNBAN${CL}"
fi

5
fail2ban/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

View File

@ -12,8 +12,9 @@ CM="${GN}✓${CL}"
APP="Mystic BBS" APP="Mystic BBS"
MSDIR="/opt/mystic" MSDIR="/opt/mystic"
MSTEMPDIR="/usr/local/src/mystic" MSTEMPDIR="/usr/local/src/mystic"
INSTALLLOG=$MSTEMPDIR/install.log
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
SCRIPT_VER="v1" SCRIPT_VER="v7"
GROUP=$(getent group mystic) GROUP=$(getent group mystic)
USER=$(getent shadow mystic) USER=$(getent shadow mystic)
@ -39,6 +40,13 @@ function error_exit() {
exit $EXIT exit $EXIT
} }
function cmd_exec() {
{
printf "$(date '+%Y-%m-%d %H:%M:%S') %s\n" "$*"
"$@"
} >> $INSTALLLOG
}
if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi
while true; do while true; do
read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn
@ -60,9 +68,11 @@ function msg_ok() {
echo -e "${BFR} ${CM} ${GN}${msg}${CL}" echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
} }
mkdir -p $MSTEMPDIR &>/dev/null
msg_info "Installing needed base packages" msg_info "Installing needed base packages"
apt update &>/dev/null cmd_exec apt update &>>$INSTALLLOG
apt install lsb-release dpkg-dev wget curl figlet lolcat unzip -y &>/dev/null cmd_exec apt install lsb-release dpkg-dev wget curl figlet lolcat unzip whiptail dialog -y &>>$INSTALLLOG
msg_ok "Installing needed base packages" msg_ok "Installing needed base packages"
function header_info { function header_info {
@ -82,24 +92,34 @@ if [ "${ARCH}" = "x86_64-linux-gnu" ]; then
INIMOD_ARCH="amd64" INIMOD_ARCH="amd64"
MYSTIC_ARCH="l64" MYSTIC_ARCH="l64"
MYSTIC_EXT="rar" MYSTIC_EXT="rar"
RARLAB="rar"
DOSEMUVER="dosemu2"
elif [ "${ARCH}" = "i386-linux-gnu" ]; then elif [ "${ARCH}" = "i386-linux-gnu" ]; then
INIMOD_ARCH="amd32" INIMOD_ARCH="amd32"
MYSTIC_ARCH="l32" MYSTIC_ARCH="l32"
MYSTIC_EXT="rar" MYSTIC_EXT="rar"
RARLAB="rar"
DOSEMUVER="dosemu"
elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then
INIMOD_ARCH="arm64" INIMOD_ARCH="arm64"
MYSTIC_ARCH="p64" MYSTIC_ARCH="p64"
MYSTIC_EXT="zip" MYSTIC_EXT="zip"
RARLAB=""
DOSEMUVER="dosemu2"
elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then
INIMOD_ARCH="arm32" INIMOD_ARCH="arm32"
MYSTIC_ARCH="p32" MYSTIC_ARCH="p32"
MYSTIC_EXT="zip" MYSTIC_EXT="zip"
RARLAB=""
DOSEMUVER=""
else else
echo "Architecture not supported: ${ARCH}" echo "Architecture not supported: ${ARCH}"
exit 1 exit 1
fi fi
if [ "${CODENAME}" = "bookworm" ]; then if [ "${CODENAME}" = "trixie" ]; then
UBUNTU="kinetic"
elif [ "${CODENAME}" = "bookworm" ]; then
UBUNTU="kinetic" UBUNTU="kinetic"
elif [ "${CODENAME}" = "bullseye" ]; then elif [ "${CODENAME}" = "bullseye" ]; then
UBUNTU="focal" UBUNTU="focal"
@ -111,6 +131,14 @@ else
UBUNTU="${CODENAME}" UBUNTU="${CODENAME}"
fi fi
if [ "${CODENAME}" = "trixie" ]; then
msg_info "adding bullseye repository to bookworm for python2"
echo "deb http://deb.debian.org/debian bullseye contrib non-free main" > /etc/apt/sources.list.d/bullseye.list
echo "deb http://deb.debian.org/debian bullseye-updates contrib non-free main" >> /etc/apt/sources.list.d/bullseye.list
echo "deb http://security.debian.org bullseye-security contrib non-free main" >> /etc/apt/sources.list.d/bullseye.list
msg_ok "adding bullseye repository to bookworm for python2"
fi
if [ "${CODENAME}" = "bookworm" ]; then if [ "${CODENAME}" = "bookworm" ]; then
msg_info "adding bullseye repository to bookworm for python2" msg_info "adding bullseye repository to bookworm for python2"
echo "deb http://deb.debian.org/debian bullseye contrib non-free main" > /etc/apt/sources.list.d/bullseye.list echo "deb http://deb.debian.org/debian bullseye contrib non-free main" > /etc/apt/sources.list.d/bullseye.list
@ -119,35 +147,38 @@ echo "deb http://security.debian.org bullseye-security contrib non-free main" >>
msg_ok "adding bullseye repository to bookworm for python2" msg_ok "adding bullseye repository to bookworm for python2"
fi fi
msg_info "adding jessie lts repository for openssl 1.0" if [ "${CODENAME}" = "noble" ]; then
wget https://deb.freexian.com/extended-lts/archive-key.gpg -O /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg &>/dev/null msg_info "adding jammy repository to noble for python2"
echo "deb http://deb.freexian.com/extended-lts jessie main contrib non-free" > /etc/apt/sources.list.d/jessie-extended-lts.list echo "deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse" > /etc/apt/sources.list.d/jammy.list
msg_ok "adding jessie lts repository for openssl 1.0" echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse" >> /etc/apt/sources.list.d/jammy.list
echo "deb http://archive.ubuntu.com/ubuntu jammy-security main restricted universe multiverse" >> /etc/apt/sources.list.d/jammy.list
msg_ok "adding jammy repository to noble for python2"
fi
msg_info "Setting up ${APP} Repository" msg_info "Setting up ${APP} Repository"
apt install -y software-properties-common &>/dev/null cmd_exec apt install -y software-properties-common &>>$INSTALLLOG
if [ "${DIST}" = "Debian" ]; then if [ "${DIST}" = "Debian" ]; then
apt-add-repository -y contrib &>/dev/null cmd_exec apt-add-repository -y contrib &>>$INSTALLLOG
apt-add-repository -y non-free &>/dev/null cmd_exec apt-add-repository -y non-free &>>$INSTALLLOG
fi fi
if [ "${DIST}" = "Ubuntu" ]; then if [ "${DIST}" = "Ubuntu" ]; then
apt-add-repository -y universe &>/dev/null cmd_exec apt-add-repository -y universe &>>$INSTALLLOG
apt-add-repository -y restricted &>/dev/null cmd_exec apt-add-repository -y restricted &>>$INSTALLLOG
apt-add-repository -y multiverse &>/dev/null cmd_exec apt-add-repository -y multiverse &>>$INSTALLLOG
fi fi
apt update &>/dev/null cmd_exec apt update &>>$INSTALLLOG
apt install -y curl wget gnupg unzip unrar &>/dev/null cmd_exec apt install -y curl wget gnupg unzip unrar &>>$INSTALLLOG
mkdir -p $MSTEMPDIR &>/dev/null cmd_exec mkdir -p $MSTEMPDIR &>>$INSTALLLOG
msg_ok "Setting up ${APP} Repository" msg_ok "Setting up ${APP} Repository"
#============================================================================================================== #==============================================================================================================
msg_info "Downloading ${APP} Mystic BBS Disconnected-by-Peer Installer Files" msg_info "Downloading ${APP} Mystic BBS Disconnected-by-Peer Installer Files"
wget -N https://gitea.disconnected-by-peer.at/geos_one/mystic/archive/main.zip -O $MSTEMPDIR/dbp-main.zip &>/dev/null cmd_exec wget -N https://gitea.disconnected-by-peer.at/geos_one/mystic/archive/main.zip -O $MSTEMPDIR/dbp-main.zip &>>$INSTALLLOG
rm -rf $MSTEMPDIR/mystic &>/dev/null cmd_exec rm -rf $MSTEMPDIR/mystic &>>$INSTALLLOG
pushd $MSTEMPDIR &>/dev/null cmd_exec pushd $MSTEMPDIR &>>$INSTALLLOG
unzip dbp-main.zip &>/dev/null cmd_exec unzip dbp-main.zip &>>$INSTALLLOG
popd &>/dev/null cmd_exec popd &>>$INSTALLLOG
msg_ok "Downloading ${APP} Mystic BBS Disconnected-by-Peer Installer Files" msg_ok "Downloading ${APP} Mystic BBS Disconnected-by-Peer Installer Files"
#============================================================================================================== #==============================================================================================================
@ -168,8 +199,10 @@ source $MSTEMPDIR/mystic/ip2location/prompt-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/prompt-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/prompt-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/prompt-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/prompt-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/prompt-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/prompt-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
@ -189,8 +222,10 @@ source $MSTEMPDIR/mystic/ip2location/install-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
@ -210,8 +245,10 @@ source $MSTEMPDIR/mystic/ip2location/config-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
@ -240,12 +277,20 @@ source $MSTEMPDIR/mystic/ip2location/info-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/info-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/info-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null echo "if you want to start some mystic tools become the mystic user first (su - mystic) or" >> ${DBP_INFO}
echo "start the command with sudo -u mystic ./mis ...." >> ${DBP_INFO}
echo "when you switched to the ${MYSTIC_DIR}" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
cmd_exec chown mystic:mystic -R ${MYSTIC_DIR} &>>$INSTALLLOG
cat ${DBP_INFO} cat ${DBP_INFO}
echo "These Infos are also been put into ${DBP_INFO}" echo "These Infos are also been put into ${DBP_INFO}"

View File

@ -13,7 +13,7 @@ APP="Mystic BBS"
MSDIR="/opt/mystic" MSDIR="/opt/mystic"
MSTEMPDIR="/usr/local/src/mystic" MSTEMPDIR="/usr/local/src/mystic"
TMP_DIR=$(mktemp -d) TMP_DIR=$(mktemp -d)
SCRIPT_VER="v1" SCRIPT_VER="v6"
GROUP=$(getent group mystic) GROUP=$(getent group mystic)
USER=$(getent shadow mystic) USER=$(getent shadow mystic)
@ -62,7 +62,7 @@ function msg_ok() {
msg_info "Installing needed base packages" msg_info "Installing needed base packages"
apt update &>/dev/null apt update &>/dev/null
apt install lsb-release dpkg-dev wget curl figlet lolcat unzip -y &>/dev/null apt install lsb-release dpkg-dev wget curl figlet lolcat unzip whiptail dialog -y &>/dev/null
msg_ok "Installing needed base packages" msg_ok "Installing needed base packages"
function header_info { function header_info {
@ -82,18 +82,26 @@ if [ "${ARCH}" = "x86_64-linux-gnu" ]; then
INIMOD_ARCH="amd64" INIMOD_ARCH="amd64"
MYSTIC_ARCH="l64" MYSTIC_ARCH="l64"
MYSTIC_EXT="rar" MYSTIC_EXT="rar"
RARLAB="rar"
DOSEMUVER="dosemu2"
elif [ "${ARCH}" = "i386-linux-gnu" ]; then elif [ "${ARCH}" = "i386-linux-gnu" ]; then
INIMOD_ARCH="amd32" INIMOD_ARCH="amd32"
MYSTIC_ARCH="l32" MYSTIC_ARCH="l32"
MYSTIC_EXT="rar" MYSTIC_EXT="rar"
RARLAB="rar"
DOSEMUVER="dosemu"
elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then
INIMOD_ARCH="arm64" INIMOD_ARCH="arm64"
MYSTIC_ARCH="p64" MYSTIC_ARCH="p64"
MYSTIC_EXT="zip" MYSTIC_EXT="zip"
RARLAB=""
DOSEMUVER="dosemu2"
elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then
INIMOD_ARCH="arm32" INIMOD_ARCH="arm32"
MYSTIC_ARCH="p32" MYSTIC_ARCH="p32"
MYSTIC_EXT="zip" MYSTIC_EXT="zip"
RARLAB=""
DOSEMUVER=""
else else
echo "Architecture not supported: ${ARCH}" echo "Architecture not supported: ${ARCH}"
exit 1 exit 1
@ -119,11 +127,6 @@ echo "deb http://security.debian.org bullseye-security contrib non-free main" >>
msg_ok "adding bullseye repository to bookworm for python2" msg_ok "adding bullseye repository to bookworm for python2"
fi fi
msg_info "adding jessie lts repository for openssl 1.0"
wget https://deb.freexian.com/extended-lts/archive-key.gpg -O /etc/apt/trusted.gpg.d/freexian-archive-extended-lts.gpg &>/dev/null
echo "deb http://deb.freexian.com/extended-lts jessie main contrib non-free" > /etc/apt/sources.list.d/jessie-extended-lts.list
msg_ok "adding jessie lts repository for openssl 1.0"
msg_info "Setting up ${APP} Repository" msg_info "Setting up ${APP} Repository"
apt install -y software-properties-common &>/dev/null apt install -y software-properties-common &>/dev/null
if [ "${DIST}" = "Debian" ]; then if [ "${DIST}" = "Debian" ]; then
@ -168,8 +171,10 @@ source $MSTEMPDIR/mystic/ip2location/prompt-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/prompt-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/prompt-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/prompt-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/prompt-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/prompt-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/prompt-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
@ -189,8 +194,10 @@ source $MSTEMPDIR/mystic/ip2location/install-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
@ -210,8 +217,10 @@ source $MSTEMPDIR/mystic/ip2location/config-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
@ -240,12 +249,20 @@ source $MSTEMPDIR/mystic/ip2location/info-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh
# Add Fail2ban | banip # Add Dosemu2
if [ -n "${DOSEMUVER}" ]; then
source $MSTEMPDIR/mystic/dosemu2/info-${SCRIPT_VER}.sh source $MSTEMPDIR/mystic/dosemu2/info-${SCRIPT_VER}.sh
fi
#============================================================================================================== #==============================================================================================================
echo "if you want to start some mystic tools become the mystic user first (su - mystic) or" >> ${DBP_INFO}
echo "start the command with sudo -u mystic ./mis ...." >> ${DBP_INFO}
echo "when you switched to the ${MYSTIC_DIR}" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
cat ${DBP_INFO} cat ${DBP_INFO}
echo "The Infos abouth has been put into ${DBP_INFO}" echo "These Infos are also been put into ${DBP_INFO}"

0
ip2location/config-v6.sh Normal file
View File

0
ip2location/config-v7.sh Normal file
View File

View File

@ -2,7 +2,7 @@ if [ $IP2L = "Yes" ]; then
echo "IP2Location Downloader" >> ${DBP_INFO} echo "IP2Location Downloader" >> ${DBP_INFO}
echo "With the downloader the IP2Location data of mystic can be updated" >> ${DBP_INFO} echo "With the downloader the IP2Location data of mystic can be updated" >> ${DBP_INFO}
echo "you will have to activate it in the ${MYSTIC_DIR}/dbp.ini" >> ${DBP_INFO} echo "you will have to activate it in the ${MYSTIC_DIR}/dbp.ini" >> ${DBP_INFO}
echo "there youz have to add your ip2location API key and set the databse type" >> ${DBP_INFO} echo "there you have to add your ip2location API key and set the database type" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO} echo "==============================================================================================================" >> ${DBP_INFO}
fi fi

8
ip2location/info-v7.sh Normal file
View File

@ -0,0 +1,8 @@
if [ $IP2L = "Yes" ]; then
echo "IP2Location Downloader" >> ${DBP_INFO}
echo "With the downloader the IP2Location data of mystic can be updated" >> ${DBP_INFO}
echo "you will have to activate it in the ${MYSTIC_DIR}/dbp.ini" >> ${DBP_INFO}
echo "there you have to add your ip2location API key and set the database type" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

14
ip2location/install-v7.sh Normal file
View File

@ -0,0 +1,14 @@
if [ $IP2L = "Yes" ]; then
msg_info "Setting up IP2Location Download Client for ${APP}"
cmd_exec apt install -y libwww-perl &>>$INSTALLLOG
cmd_exec wget -N https://www.ip2location.com/downloads/ip2location-downloader-linux.zip -O $MSTEMPDIR/ip2location-downloader-linux.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/ip2location-downloader-linux &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/ip2location-downloader-linux &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/ip2location-downloader-linux &>>$INSTALLLOG
cmd_exec unzip ../ip2location-downloader-linux.zip &>>$INSTALLLOG
cmd_exec cp download.pl ${MYSTIC_DIR}/ip2location
cmd_exec chmod +x ${MYSTIC_DIR}/ip2location
cmd_exec cp readme.txt ${MYSTIC_DIR}/docs/ip2location_README.txt
cmd_exec popd &>>$INSTALLLOG
msg_ok "Setting up IP2Location Download Client for ${APP}"
fi

8
ip2location/prompt-v7.sh Normal file
View File

@ -0,0 +1,8 @@
IP2L=$(whiptail --title "Add The IP2Location Download Client to Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add IP2Location Download Client" ON \
"No" "Don't Add IP2Location Download Client" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add DbP Script: ${BGN}$IP2L${CL}"
fi

5
ip2location/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

0
mrc-client/config-v6.sh Normal file
View File

0
mrc-client/config-v7.sh Normal file
View File

View File

@ -2,10 +2,12 @@ if [ $MRCCLIENT = "Yes" ]; then
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "Multi Relay Chat" >> ${DBP_INFO} echo "Multi Relay Chat" >> ${DBP_INFO}
echo "when you are using the mrc then activate the logrotate in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO} echo "when you are using the mrc then activate the logrotate in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO}
echo "and set the wanted retentiontame for the logs" >> ${DBP_INFO} echo "and set the wanted retention time for the logs" >> ${DBP_INFO}
echo "you will also have to set the cron script in the Mystic Event Editor" >> ${DBP_INFO} echo "you will also have to set the cron script in the Mystic Event Editor" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "if you are runnign your own Multi Relay Chat Server you have to modify the ${MYSTIC_DIR}/mrc_client-start" >> ${DBP_INFO} echo "if you are running your own Multi Relay Chat Server you have to modify the ${MYSTIC_DIR}/mrc_client-start" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "a systemd file has been installed mrc_client.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO} echo "==============================================================================================================" >> ${DBP_INFO}
fi fi

13
mrc-client/info-v7.sh Normal file
View File

@ -0,0 +1,13 @@
if [ $MRCCLIENT = "Yes" ]; then
echo "" >> ${DBP_INFO}
echo "Multi Relay Chat" >> ${DBP_INFO}
echo "when you are using the mrc then activate the logrotate in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO}
echo "and set the wanted retention time for the logs" >> ${DBP_INFO}
echo "you will also have to set the cron script in the Mystic Event Editor" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "if you are running your own Multi Relay Chat Server you have to modify the ${MYSTIC_DIR}/mrc_client-start" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "a systemd file has been installed mrc_client.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

30
mrc-client/install-v7.sh Normal file
View File

@ -0,0 +1,30 @@
MRC_VER="129a"
if [ $MRCCLIENT = "Yes" ]; then
msg_info "Setting up Multi Relay Chat for ${APP}"
cmd_exec apt install -y build-essential &>>$INSTALLLOG
cmd_exec wget -N https://www.phenomprod.com/releases/mystic/pn-mrc${MRC_VER}.zip -O $MSTEMPDIR/pn-mrc${MRC_VER}.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/pn-mrc${MRC_VER} &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/pn-mrc${MRC_VER} &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/pn-mrc${MRC_VER} &>>$INSTALLLOG
cmd_exec unzip ../pn-mrc${MRC_VER}.zip &>>$INSTALLLOG
cmd_exec cp mrc_${MRC_VER}/mrc_{client,config}.py ${MYSTIC_DIR}/ &>>$INSTALLLOG
cmd_exec cp mrc_${MRC_VER}/scripts/* ${MYSTIC_DIR}/themes/default/scripts/ &>>$INSTALLLOG
cmd_exec cp mrc_${MRC_VER}/text/* ${MYSTIC_DIR}/themes/default/text/ &>>$INSTALLLOG
cmd_exec cp installation.asc ${MYSTIC_DIR}/docs/mrc_installation.asc &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
cmd_exec mkdir -p ${MYSTIC_DIR}/data/mrc &>>$INSTALLLOG
msg_ok "Setting up Multi Relay Chat for ${APP}"
msg_info "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
cmd_exec pushd $MSTEMPDIR/mystic/mrc-client &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_client-start.sh > ${MYSTIC_DIR}/mrc_client-start
cmd_exec chmod +x ${MYSTIC_DIR}/mrc_client-start &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_client-stop.sh > ${MYSTIC_DIR}/mrc_client-stop
cmd_exec chmod +x ${MYSTIC_DIR}/mrc_client-stop &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc-client.service > /etc/systemd/system/mrc-client.service
cmd_exec popd &>>$INSTALLLOG
cmd_exec systemctl daemon-reload &>>$INSTALLLOG
msg_ok "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
fi

8
mrc-client/prompt-v7.sh Normal file
View File

@ -0,0 +1,8 @@
MRCCLIENT=$(whiptail --title "Multi Relay Chat Support in Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add MrC Support" ON \
"No" "Don't add MrC Support" OFF \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add Multi Realy Chat Support: ${BGN}$MRCCLIENT${CL}"
fi

5
mrc-client/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

0
mrc-server/config-v6.sh Normal file
View File

0
mrc-server/config-v7.sh Normal file
View File

View File

@ -2,8 +2,10 @@ if [ $MRCSERVER = "Yes" ]; then
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "Multi Relay Chat Server" >> ${DBP_INFO} echo "Multi Relay Chat Server" >> ${DBP_INFO}
echo "when you are using the mrc then activate the logrotate in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO} echo "when you are using the mrc then activate the logrotate in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO}
echo "and set the wanted retentiontame for the logs" >> ${DBP_INFO} echo "and set the wanted retention time for the logs" >> ${DBP_INFO}
echo "you will also have to set the cron script in the Mystic Event Editor" >> ${DBP_INFO} echo "you will also have to set the cron script in the Mystic Event Editor" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "a systemd file has been installed mrc_server.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO} echo "==============================================================================================================" >> ${DBP_INFO}
fi fi

11
mrc-server/info-v7.sh Normal file
View File

@ -0,0 +1,11 @@
if [ $MRCSERVER = "Yes" ]; then
echo "" >> ${DBP_INFO}
echo "Multi Relay Chat Server" >> ${DBP_INFO}
echo "when you are using the mrc then activate the logrotate in the ${MYSTIC_DIR}/dbp.ini file" >> ${DBP_INFO}
echo "and set the wanted retention time for the logs" >> ${DBP_INFO}
echo "you will also have to set the cron script in the Mystic Event Editor" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "a systemd file has been installed mrc_server.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

30
mrc-server/install-v7.sh Normal file
View File

@ -0,0 +1,30 @@
MRC_SERVER_VER="v10"
if [ $MRCSERVER = "Yes" ]; then
msg_info "Setting up Multi Relay Chat Server for ${APP}"
cmd_exec apt install -y build-essential &>>$INSTALLLOG
cmd_exec wget -N https://sourceforge.net/projects/mystic-relay-chat/files/mrc_${MRC_SERVER_VER}.zip -O $MSTEMPDIR/mrc${MRC_SERVER_VER}.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/mrc${MRC_SERVER_VER} &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/mrc${MRC_SERVER_VER} &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/mrc${MRC_SERVER_VER} &>>$INSTALLLOG
cmd_exec unzip ../mrc${MRC_SERVER_VER}.zip &>>$INSTALLLOG
cmd_exec cp mrc_server.py ${MYSTIC_DIR}/ &>>$INSTALLLOG
cmd_exec cp sysop.doc ${MYSTIC_DIR}/docs/mrc_server_sysop.doc &>>$INSTALLLOG
cmd_exec cp whatsnew.txt ${MYSTIC_DIR}/docs/mrc_server_whatsnew.txt &>>$INSTALLLOG
cmd_exec cp servers.lst ${MYSTIC_DIR}/docs/mrc_server_server.lst &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
cmd_exec mkdir -p ${MYSTIC_DIR}/data/mrc &>>$INSTALLLOG
msg_ok "Setting up Multi Relay Chat Server for ${APP}"
msg_info "Installing Multi Relay Chat Server Systemd Start/Stop Scripts and Service File"
cmd_exec pushd $MSTEMPDIR/mystic/mrc-server &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_server-start.sh > ${MYSTIC_DIR}/mrc_server-start
cmd_exec chmod +x ${MYSTIC_DIR}/mrc_server-start &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_server-stop.sh > ${MYSTIC_DIR}/mrc_server-stop
cmd_exec chmod +x ${MYSTIC_DIR}/mrc_server-stop &>>$INSTALLLOG
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc-server.service > /etc/systemd/system/mrc-server.service
cmd_exec systemctl daemon-reload &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
msg_ok "Installing Multi Relay Chat Server Systemd Start/Stop Scripts and Service File"
fi

View File

@ -27,7 +27,7 @@ fi
# Starting the MRC python script # Starting the MRC python script
cd $MRC_PATH >/dev/null cd $MRC_PATH >/dev/null
/usr/bin/python2 ./mrc_server.py $MRC_SERVER:$MRC_PORT > data/mrc/mrcserver.log 2>&1 & /usr/bin/python2 ./mrc_server.py $MRC_SERVER:$MRC_PORT |& tee -a data/mrc/mrcserver.log &
cd - >/dev/null cd - >/dev/null
# Wait 3 seconds and check for a PID # Wait 3 seconds and check for a PID

View File

@ -4,5 +4,5 @@ MRCSERVER=$(whiptail --title "Multi Relay Chat Server Support in Mystic" --radio
3>&1 1>&2 2>&3) 3>&1 1>&2 2>&3)
exitstatus=$? exitstatus=$?
if [ $exitstatus = 0 ]; then if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add Multi Realy Chat Server Support: ${BGN}$MRCSERVER${CL}" echo -e "${DGN}Add Multi Relay Chat Server Support: ${BGN}$MRCSERVER${CL}"
fi fi

8
mrc-server/prompt-v7.sh Normal file
View File

@ -0,0 +1,8 @@
MRCSERVER=$(whiptail --title "Multi Relay Chat Server Support in Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
"Yes" "Add MrC Server Support" OFF \
"No" "Don't add MrC Server Support" ON \
3>&1 1>&2 2>&3)
exitstatus=$?
if [ $exitstatus = 0 ]; then
echo -e "${DGN}Add Multi Relay Chat Server Support: ${BGN}$MRCSERVER${CL}"
fi

5
mrc-server/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

75
mystic/config-v7.sh Normal file
View File

@ -0,0 +1,75 @@
msg_info "Correcting mutil.ini & mide.ini hardcoded paths"
sed -e 's/\\/\//g' -i ${MYSTIC_DIR}/mutil.ini
sed -e "s!c:/mystic!${MYSTIC_DIR}!g" -i ${MYSTIC_DIR}/mutil.ini
sed -e "s!d:/mystic!${MYSTIC_DIR}!g" -i ${MYSTIC_DIR}/mutil.ini
sed -e "s!d:/nodelist!${MYSTIC_DIR}/files/nodelist!g" -i ${MYSTIC_DIR}/mutil.ini
sed -e 's/\\/\//g' -i ${MYSTIC_DIR}/mide.ini
sed -e "s!c:/mystic!${MYSTIC_DIR}!g" -i ${MYSTIC_DIR}/mide.ini
msg_ok "Correcting mutil.ini & mide.ini hardcoded paths"
msg_info "SPlitting mutil.ini into it's parts for later merge"
mkdir -p ${MYSTIC_DIR}/mutil.d
cat ${MYSTIC_DIR}/mutil.ini | sed '/\[General\]/q' | sed '$d' > ${MUTIL_DIR}/README.txt
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[General\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/General
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Import_FIDONET\.NA\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Import_FIDONET.NA
configarray=('Import_FIDONET.NA')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Import_FILEBONE\.NA\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Import_FILEBONE.NA
configarray+=('Import_FILEBONE.NA')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Export_FILEBONE\.NA\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Export_FILEBONE.NA
configarray+=('Export_FILEBONE.NA')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Export_AREAS\.BBS\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Export_AREAS.BBS
configarray+=('Export_AREAS.BBS')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Export_GOLDED\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Export_GOLDED
configarray+=('Export_GOLDED')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Import_FILES\.BBS\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Import_FILES.BBS
configarray+=('Import_FILES.BBS')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[MassUpload\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/MassUpload
configarray+=('MassUpload')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[GenerateTopLists\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/GenerateTopLists
configarray+=('GenerateTopLists')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[GenerateAllFiles\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/GenerateAllFiles
configarray+=('GenerateAllFiles')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[PurgeMessageBases\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/PurgeMessageBases
configarray+=('PurgeMessageBases')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[PackMessageBases\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/PackMessageBases
configarray+=('PackMessageBases')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[PostTextFiles\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/PostTextFiles
configarray+=('PostTextFiles')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[Import_MessageBase\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/Import_MessageBase
configarray+=('Import_MessageBase')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[ImportEchoMail\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/ImportEchoMail
configarray+=('ImportEchoMail')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[ExportEchoMail\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/ExportEchoMail
configarray+=('ExportEchoMail')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[MergeNodeLists\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/MergeNodeLists
configarray+=('MergeNodeLists')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[FileToss\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/FileToss
configarray+=('FileToss')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[PackFileBases\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/PackFileBases
configarray+=('PackFileBases')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[LinkMessages\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/LinkMessages
configarray+=('LinkMessages')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[PurgeUserBase\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/PurgeUserBase
configarray+=('PurgeUserBase')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[PackUserBase\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/PackUserBase
configarray+=('PackUserBase')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[FileSort\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/FileSort
configarray+=('FileSort')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[AutoHatch\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/AutoHatch
configarray+=('AutoHatch')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[EchoNodeTracker\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/EchoNodeTracker
configarray+=('EchoNodeTracker')
cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[EchoUnlink\]/, /\[/p' | sed '$d' > ${MUTIL_DIR}/EchoUnlink
#cat ${MYSTIC_DIR}/mutil.ini | sed -n '/\[EchoUnlink\]/, $p' | sed '$d' > ${MUTIL_DIR}/EchoUnlink
configarray+=('EchoUnlink')
msg_ok "SPlitting mutil.ini into it's parts for later merge"
source $MSTEMPDIR/mystic/mystic/maint-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/mystic/mailout-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/mystic/mailin-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/mystic/importna-${SCRIPT_VER}.sh
msg_info "Correcting Linefeed for docs and Setting permissions"
cmd_exec dos2unix ${MYSTIC_DIR}/docs/ &>>$INSTALLLOG
cmd_exec chown mystic:mystic -R ${MYSTIC_DIR} &>>$INSTALLLOG
msg_ok "Correcting Linefeed for docs and Setting permissions"

19
mystic/importna-v7.sh Normal file
View File

@ -0,0 +1,19 @@
cmd_exec pushd ${MUTIL_DIR} &>>$INSTALLLOG
configfile="importna.ini"
config=('Import_FIDONET.NA' 'Import_FILEBONE.NA')
msg_info "Merging ${config} into ${configfile}"
preparray=("${configarray[@]}")
for el in ${config[@]}
do
preparray=("${preparray[@]/$el}")
done
cat General ${config[@]} > ${MYSTIC_DIR}/${configfile}
for el in ${preparray[@]}
do
sed -e "/$el/d" -i ${MYSTIC_DIR}/${configfile}
done
msg_ok "Merging ${config} into ${configfile}"
cmd_exec popd &>>$INSTALLLOG

View File

@ -1,5 +1,5 @@
PYTHON2=$(ls /usr/lib/x86_64-linux-gnu/libpython2*.so.1) PYTHON2=`ls ${LIBDIR}/libpython2*.so.1`
PYTHON3=$(ls /usr/lib/x86_64-linux-gnu/libpython3*.so.1) PYTHON3=`ls ${LIBDIR}/libpython3*.so.1`
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "Settings in Mystic General Settings" >> ${DBP_INFO} echo "Settings in Mystic General Settings" >> ${DBP_INFO}
@ -7,4 +7,6 @@ echo "" >> ${DBP_INFO}
echo "Python2 Library: $PYTHON2" >> ${DBP_INFO} echo "Python2 Library: $PYTHON2" >> ${DBP_INFO}
echo "Python3 Library: $PYTHON3" >> ${DBP_INFO} echo "Python3 Library: $PYTHON3" >> ${DBP_INFO}
echo "" >> ${DBP_INFO} echo "" >> ${DBP_INFO}
echo "a systemd file has been installed mystic.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO} echo "==============================================================================================================" >> ${DBP_INFO}

12
mystic/info-v7.sh Normal file
View File

@ -0,0 +1,12 @@
PYTHON2=`ls ${LIBDIR}/libpython2*.so.1`
PYTHON3=`ls ${LIBDIR}/libpython3*.so.1`
echo "" >> ${DBP_INFO}
echo "Settings in Mystic General Settings" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Python2 Library: $PYTHON2" >> ${DBP_INFO}
echo "Python3 Library: $PYTHON3" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "a systemd file has been installed mystic.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}

View File

@ -1,3 +1,5 @@
UPSTREAM="downloads"
#UPSTREAM="downloads/prealpha"
MYSTIC_VER="112a48" MYSTIC_VER="112a48"
echo -e "Plz set the install dir the same as bevor" echo -e "Plz set the install dir the same as bevor"
@ -5,8 +7,13 @@ echo -e "${DGN}Install Mystic to: ${BGN}$MYSTIC_DIR${CL}"
read -p "Press enter to continue" read -p "Press enter to continue"
msg_info "Starting ${APP} Installation" msg_info "Starting ${APP} Installation"
apt install -y unrar-free python3 python2 libpython2.7 zip rar &>/dev/null apt install -y python3 python2 &>/dev/null
wget -N http://www.mysticbbs.com/downloads/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} -O $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
PYTHON3_VER=$(python3 $MSTEMPDIR/mystic/mystic/python_ver.py)
PYTHON2_VER=$(python2 $MSTEMPDIR/mystic/mystic/python_ver.py)
apt install -y libpython${PYTHON3_VER} libpython${PYTHON2_VER} arj zip unrar dos2unix ${RARLAB} &>/dev/null
wget -N http://www.mysticbbs.com/${UPSTREAM}/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} -O $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
rm -rf $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null rm -rf $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null
mkdir -p $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null mkdir -p $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null
pushd $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null pushd $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null
@ -32,7 +39,7 @@ if [ -z "${GROUP}" ]; then
groupadd mystic &>/dev/null groupadd mystic &>/dev/null
fi fi
if [ -z "${USER}" ]; then if [ -z "${USER}" ]; then
useradd --home-dir ${MYSTIC_DIR} -g mystic mystic &>/dev/null useradd -m --home-dir ${MYSTIC_DIR} -g mystic mystic &>/dev/null
fi fi
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
find ${MYSTIC_DIR} -name '*.txt' -type f -exec dos2unix {} \; &>/dev/null find ${MYSTIC_DIR} -name '*.txt' -type f -exec dos2unix {} \; &>/dev/null
@ -52,11 +59,30 @@ find ${MYSTIC_DIR} -name '*.ms' -type f -exec chmod 0664 {} \; &>/dev/null
msg_ok "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}" msg_ok "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}"
msg_info "Installing ${APP} Systemd Start/Stop Scripts and Service File" msg_info "Installing ${APP} Systemd Start/Stop Scripts and Service File"
MID=$(id -u mystic)
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-start.sh > ${MYSTIC_DIR}/mis-start sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-start.sh > ${MYSTIC_DIR}/mis-start
chmod +x ${MYSTIC_DIR}/mis-start chmod +x ${MYSTIC_DIR}/mis-start
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-stop.sh > ${MYSTIC_DIR}/mis-stop sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-stop.sh > ${MYSTIC_DIR}/mis-stop
chmod +x ${MYSTIC_DIR}/mis-stop chmod +x ${MYSTIC_DIR}/mis-stop
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis.service > /etc/systemd/system/mystic.service sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis.service > /etc/systemd/system/mystic.service
sed -e "s!@MID@!${MID}!g" $MSTEMPDIR/mystic/mystic/mystic.conf.tmpfiles.d > /etc/tmpfiles.d/mystic.conf
systemctl daemon-reload systemctl daemon-reload
msg_ok "Installing ${APP} Systemd Start/Stop Scripts and Service File" msg_ok "Installing ${APP} Systemd Start/Stop Scripts and Service File"
msg_info "Setting up ${APP} Official lha (be patient compiling lha)"
apt install -y build-essential binutils make csh g++ sed gawk autoconf automake autotools-dev &>/dev/null
wget -N https://github.com/jca02266/lha/archive/refs/tags/release-20211125.zip -O $MSTEMPDIR/lha-20211125.zip &>/dev/null
rm -rf $MSTEMPDIR/lha-release-20211125 &>/dev/null
pushd $MSTEMPDIR &>/dev/null
unzip lha-20211125.zip &>/dev/null
popd &>/dev/null
pushd $MSTEMPDIR/lha-release-20211125 &>/dev/null
aclocal &>/dev/null
autoheader &>/dev/null
automake -a &>/dev/null
autoconf &>/dev/null
./configure &>/dev/null
make &>/dev/null
make install &>/dev/null
popd &>/dev/null
msg_ok "Setting up ${APP} Official lha (be patient compiling lha)"

88
mystic/install-v7.sh Normal file
View File

@ -0,0 +1,88 @@
UPSTREAM="downloads"
#UPSTREAM="downloads/prealpha"
MYSTIC_VER="112a48"
echo -e "Plz set the install dir the same as bevor"
echo -e "${DGN}Install Mystic to: ${BGN}$MYSTIC_DIR${CL}"
read -p "Press enter to continue"
msg_info "Starting ${APP} Installation"
cmd_exec apt install -y python3 python2 &>>$INSTALLLOG
PYTHON3_VER=$(python3 $MSTEMPDIR/mystic/mystic/python_ver.py)
PYTHON2_VER=$(python2 $MSTEMPDIR/mystic/mystic/python_ver.py)
cmd_exec apt install -y libpython${PYTHON3_VER} libpython${PYTHON2_VER} arj zip unrar dos2unix ${RARLAB} &>>$INSTALLLOG
cmd_exec wget -N http://www.mysticbbs.com/${UPSTREAM}/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} -O $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/mystic-${MYSTIC_VER} &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/mystic-${MYSTIC_VER} &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/mystic-${MYSTIC_VER} &>>$INSTALLLOG
if [ "${MYSTIC_EXT}" = "rar" ]; then
cmd_exec unrar x $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>>$INSTALLLOG
elif [ "${MYSTIC_EXT}" = "zip" ]; then
cmd_exec unzip $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>>$INSTALLLOG
else
exit 1
fi
cmd_exec chmod +x install &>>$INSTALLLOG
./install
cmd_exec popd &>>$INSTALLLOG
msg_ok "Finisched ${APP} Installation"
cmd_exec pushd ${MYSTIC_DIR} &>>$INSTALLLOG
cmd_exec apt install -y patch &>>$INSTALLLOG
cmd_exec patch -p0 -i $MSTEMPDIR/mystic/mystic/patches/mutil-ini-echounlink.patch &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
msg_info "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}"
if [ -z "${GROUP}" ]; then
cmd_exec groupadd mystic &>>$INSTALLLOG
fi
if [ -z "${USER}" ]; then
cmd_exec useradd -m --home-dir ${MYSTIC_DIR} -g mystic mystic &>>$INSTALLLOG
fi
cmd_exec chown mystic:mystic -R ${MYSTIC_DIR} &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.txt' -type f -exec dos2unix {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.ini' -type f -exec dos2unix {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.txt' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.ini' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.dat' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.ans' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.asc' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.hlp' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.mnu' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.mnu' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.mps' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.mpx' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.mpy' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
cmd_exec find ${MYSTIC_DIR} -name '*.ms' -type f -exec chmod 0664 {} \; &>>$INSTALLLOG
msg_ok "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}"
msg_info "Installing ${APP} Systemd Start/Stop Scripts and Service File"
MID=$(id -u mystic)
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-start.sh > ${MYSTIC_DIR}/mis-start
cmd_exec chmod +x ${MYSTIC_DIR}/mis-start
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-stop.sh > ${MYSTIC_DIR}/mis-stop
cmd_exec chmod +x ${MYSTIC_DIR}/mis-stop
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis.service > /etc/systemd/system/mystic.service
sed -e "s!@MID@!${MID}!g" $MSTEMPDIR/mystic/mystic/mystic.conf.tmpfiles.d > /etc/tmpfiles.d/mystic.conf
cmd_exec systemctl daemon-reload
msg_ok "Installing ${APP} Systemd Start/Stop Scripts and Service File"
msg_info "Setting up ${APP} Official lha (be patient compiling lha)"
cmd_exec apt install -y build-essential binutils make csh g++ sed gawk autoconf automake autotools-dev &>>$INSTALLLOG
cmd_exec wget -N https://github.com/jca02266/lha/archive/refs/tags/release-20211125.zip -O $MSTEMPDIR/lha-20211125.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/lha-release-20211125 &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR &>>$INSTALLLOG
cmd_exec unzip lha-20211125.zip &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/lha-release-20211125 &>>$INSTALLLOG
cmd_exec aclocal &>>$INSTALLLOG
cmd_exec autoheader &>>$INSTALLLOG
cmd_exec automake -a &>>$INSTALLLOG
cmd_exec autoconf &>>$INSTALLLOG
cmd_exec ./configure &>>$INSTALLLOG
cmd_exec make &>>$INSTALLLOG
cmd_exec make install &>>$INSTALLLOG
cmd_exec popd &>>$INSTALLLOG
msg_ok "Setting up ${APP} Official lha (be patient compiling lha)"

19
mystic/mailin-v7.sh Normal file
View File

@ -0,0 +1,19 @@
cmd_exec pushd ${MUTIL_DIR} &>>$INSTALLLOG
configfile="mailin.ini"
config=('ImportEchoMail' 'FileToss')
msg_info "Merging ${config} into ${configfile}"
preparray=("${configarray[@]}")
for el in ${config[@]}
do
preparray=("${preparray[@]/$el}")
done
cat General ${config[@]} > ${MYSTIC_DIR}/${configfile}
for el in ${preparray[@]}
do
sed -e "/$el/d" -i ${MYSTIC_DIR}/${configfile}
done
msg_ok "Merging ${config} into ${configfile}"
cmd_exec popd &>>$INSTALLLOG

19
mystic/mailout-v7.sh Normal file
View File

@ -0,0 +1,19 @@
cmd_exec pushd ${MUTIL_DIR} &>>$INSTALLLOG
configfile="mailout.ini"
config=('ExportEchoMail')
msg_info "Merging ${config} into ${configfile}"
preparray=("${configarray[@]}")
for el in ${config[@]}
do
preparray=("${preparray[@]/$el}")
done
cat General ${config[@]} > ${MYSTIC_DIR}/${configfile}
for el in ${preparray[@]}
do
sed -e "/$el/d" -i ${MYSTIC_DIR}/${configfile}
done
msg_ok "Merging ${config} into ${configfile}"
cmd_exec popd &>>$INSTALLLOG

View File

@ -1,7 +1,7 @@
pushd ${MUTIL_DIR} &>/dev/null pushd ${MUTIL_DIR} &>/dev/null
configfile="maint.ini" configfile="maint.ini"
config=('PurgeMessageBases' 'PackMessageBases' 'MergeNodeLists' 'PackFileBases' 'PurgeUserBase' 'PackUserBase' 'FileSort') config=('PurgeMessageBases' 'PackMessageBases' 'MergeNodeLists' 'PackFileBases' 'LinkMessages' 'PurgeUserBase' 'PackUserBase' 'FileSort')
msg_info "Merging ${config} into ${configfile}" msg_info "Merging ${config} into ${configfile}"
preparray=("${configarray[@]}") preparray=("${configarray[@]}")
for el in ${config[@]} for el in ${config[@]}

19
mystic/maint-v7.sh Normal file
View File

@ -0,0 +1,19 @@
cmd_exec pushd ${MUTIL_DIR} &>>$INSTALLLOG
configfile="maint.ini"
config=('PurgeMessageBases' 'PackMessageBases' 'MergeNodeLists' 'PackFileBases' 'LinkMessages' 'PurgeUserBase' 'PackUserBase' 'FileSort')
msg_info "Merging ${config} into ${configfile}"
preparray=("${configarray[@]}")
for el in ${config[@]}
do
preparray=("${preparray[@]/$el}")
done
cat General ${config[@]} > ${MYSTIC_DIR}/${configfile}
for el in ${preparray[@]}
do
sed -e "/$el/d" -i ${MYSTIC_DIR}/${configfile}
done
msg_ok "Merging ${config} into ${configfile}"
cmd_exec popd &>>$INSTALLLOG

View File

@ -0,0 +1 @@
d /run/user/@MID@ 0755 mystic mystic -

13
mystic/prompt-v7.sh Normal file
View File

@ -0,0 +1,13 @@
MSAPPDIR=$(whiptail --inputbox "Mystic Install Directory that also must be set in the Mystic insallation Programm." 8 58 $MSDIR --title "Install Directory" --cancel-button Exit-Script 3>&1 1>&2 2>&3)
exitstatus=$?
if [ -z $MSAPPDIR ]; then
MYSTIC_DIR="$MSDIR"
echo -e "${DGN}Installing Mystic to: ${BGN}$MYSTIC_DIR${CL}"
else
if [ $exitstatus = 0 ]; then
MYSTIC_DIR="$MSAPPDIR"
echo -e "${DGN}Installing Mystic to: ${BGN}$MYSTIC_DIR${CL}"
fi
fi
MUTIL_DIR=${MYSTIC_DIR}/mutil.d

3
mystic/python_ver.py Normal file
View File

@ -0,0 +1,3 @@
import sys
info = sys.version_info
print(str(info.major) + "." + str(info.minor))

5
mystic/update.sh Executable file
View File

@ -0,0 +1,5 @@
for file in $(ls *-v6.sh) ; do
cp -- "${file}" "$(echo "${file}" | sed -e 's/v6\.sh/v7\.sh/')"
done
git rm *-v5.sh

0
spellcheck/config-v6.sh Normal file
View File

0
spellcheck/config-v7.sh Normal file
View File

10
spellcheck/info-v7.sh Normal file
View File

@ -0,0 +1,10 @@
if [ $SPELL = "Yes" ]; then
echo "" >> ${DBP_INFO}
echo "More infos about the Spellcheck can be found in the" >> ${DBP_INFO}
echo "${MYSTIC_DIR}/docs/Spellcheck_README.txt" >> ${DBP_INFO}
echo "Also in" >> ${DBP_INFO}
echo "${MYSTIC_DIR}/data/dictlist.txt" >> ${DBP_INFO}
echo "you can add additional Hunspell compatible dictionaries" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

16
spellcheck/install-v7.sh Normal file
View File

@ -0,0 +1,16 @@
if [ $SPELL = "Yes" ]; then
msg_info "Setting up Spellcheck for ${APP}"
cmd_exec apt install -y libhunspell-dev &>>$INSTALLLOG
cmd_exec wget -N http://www.mysticbbs.com/downloads/mystic_spellcheck_v2.zip -O $MSTEMPDIR/mystic_spellcheck_v2.zip &>>$INSTALLLOG
cmd_exec rm -rf $MSTEMPDIR/mystic_spellcheck_v2 &>>$INSTALLLOG
cmd_exec mkdir -p $MSTEMPDIR/mystic_spellcheck_v2 &>>$INSTALLLOG
cmd_exec pushd $MSTEMPDIR/mystic_spellcheck_v2 &>>$INSTALLLOG
cmd_exec unzip ../mystic_spellcheck_v2.zip &>>$INSTALLLOG
cmd_exec cp dictionary.* ${MYSTIC_DIR}/data/
cmd_exec cp wordlist.txt ${MYSTIC_DIR}/data/
cmd_exec cp README.txt ${MYSTIC_DIR}/docs/Spellcheck_README.txt
cmd_exec echo "; List secondary dicitinoaries in this File" > ${MYSTIC_DIR}/data/dictlist.txt
cmd_exec echo "; more details in the Spellcheck_README.txt" >> ${MYSTIC_DIR}/data/dictlist.txt
cmd_exec popd &>>$INSTALLLOG
msg_ok "Setting up Spellcheck for ${APP}"
fi

Some files were not shown because too many files have changed in this diff Show More