Compare commits
77 Commits
af389e8981
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0dca57051 | ||
|
|
b544d0e81e | ||
|
|
ffaa0d83de | ||
|
|
111edfe060 | ||
|
|
cab937085b | ||
|
|
a7ebef3a3a | ||
|
|
7b1b5d6dae | ||
|
|
b833d938b4 | ||
|
|
aaf05c1e12 | ||
|
|
74d6291522 | ||
|
|
34a6606065 | ||
|
|
734b4d5a58 | ||
|
|
874f3cd48c | ||
|
|
775cf27a57 | ||
|
|
659e3b4edb | ||
|
|
16905e5043 | ||
|
|
b83d80ef90 | ||
|
|
17199a5a30 | ||
|
|
0452a021c2 | ||
|
|
43db2a1ae1 | ||
|
|
ffadccaed3 | ||
|
|
f07c3a31ec | ||
|
|
a23591094f | ||
|
|
50f20128a1 | ||
|
|
1eed5a6b1f | ||
|
|
92535047da | ||
|
|
bbdcb91d99 | ||
|
|
4ed08e88f3 | ||
|
|
c1ba8bf635 | ||
|
|
a2937292fa | ||
|
|
90245ee2d6 | ||
|
|
fabdcc02fa | ||
|
|
dbdd91af9c | ||
|
|
184130d1ca | ||
|
|
cbcf4d4820 | ||
|
|
5332c84781 | ||
|
|
2e569cd221 | ||
|
|
1fbe46d98e | ||
|
|
e56a898286 | ||
|
|
e95f8c4651 | ||
|
|
d95a2904b3 | ||
|
|
b90d94828e | ||
|
|
301d6ab00d | ||
|
|
0d7c3da24e | ||
|
|
7835988725 | ||
|
|
376596a7ca | ||
|
|
31eeda36b1 | ||
|
|
6dd8264dc4 | ||
|
|
25084d40ee | ||
|
|
688d5976b0 | ||
|
|
dfa97845fb | ||
|
|
c2c83c2e6f | ||
|
|
c2744e173f | ||
|
|
8642382301 | ||
|
|
b4e69372ff | ||
|
|
a1c33dc1ca | ||
|
|
1f64297bc5 | ||
|
|
2743931c39 | ||
|
|
b3d54afb73 | ||
|
|
d2a810111e | ||
|
|
cea699d8aa | ||
|
|
6ae6000485 | ||
|
|
b38cff456d | ||
|
|
b1a0c26fda | ||
|
|
2e7df477e6 | ||
|
|
05596e7400 | ||
|
|
0e65546789 | ||
|
|
53a5b05a9c | ||
|
|
97289025bf | ||
|
|
0ff0fdc74b | ||
|
|
dc5d8baa88 | ||
|
|
67bf6b3e05 | ||
|
|
c57f7ff4a3 | ||
|
|
f0c65ccbff | ||
|
|
3866481fb3 | ||
|
|
5ee2fb838b | ||
|
|
fde1fc9d0c |
6
FILE_ID.DIZ
Normal file
6
FILE_ID.DIZ
Normal file
@@ -0,0 +1,6 @@
|
||||
DBP MYSTIC INSTALLER SCRIPT v0.7
|
||||
This Script will help you install the Mystic
|
||||
BBS System on Debian Linux. It also Compiles
|
||||
Cryptlib, Adds Fail2ban, Logmanagent, Multi
|
||||
Relay Chat (Client & Server), ip2location
|
||||
downloader, desemu2, Spellcheck ....
|
||||
@@ -2,13 +2,10 @@
|
||||
|
||||
Installscript / Systemd Files / Themes German&English
|
||||
|
||||
|
||||
bash -c "$(wget -qLO - https://gitea.disconnected-by-peer.at/geos_one/mystic/raw/branch/main/install.sh)"
|
||||
|
||||
|
||||
Thankyou
|
||||
|
||||
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://www.youtube.com/@MysticGuyBBS for the inspiration for creating the script.
|
||||
|
||||
https://www.youtube.com/@MysticGuyBBS for the inspiration for creating the script.
|
||||
7
cryptlib/info-v6.sh
Normal file
7
cryptlib/info-v6.sh
Normal 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
|
||||
7
cryptlib/info-v7.sh
Normal file
7
cryptlib/info-v7.sh
Normal 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
|
||||
@@ -22,38 +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 ${LIBDIR}/libcl.so &>/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 libssl-dev=${SSLDEV}
|
||||
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
|
||||
gcc9 $(INCLUDES) $(LIBS) -o pemtrans pemtrans.c $(CRYPTLIB) \
|
||||
-lcrypto -lssl -lcl $(EXTRA_LIBS)
|
||||
|
||||
EOF
|
||||
pushd $MSTEMPDIR/pemtrans-master &>/dev/null
|
||||
cp pemtrams ${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 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
|
||||
|
||||
31
cryptlib/install-v7.sh
Normal file
31
cryptlib/install-v7.sh
Normal 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
8
cryptlib/prompt-v7.sh
Normal 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
5
cryptlib/update.sh
Executable 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
|
||||
@@ -27,7 +27,7 @@ fi
|
||||
MYSTIC_DIR="@MYSTIC_DIR@"
|
||||
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_MYSTIC=`${MYSTIC_DIR}/inimod r ${INIFILE} -S BanUnbanIP -k UnbanInMystic --silent`
|
||||
|
||||
|
||||
20
dbp/cron.sh
20
dbp/cron.sh
@@ -21,30 +21,30 @@ fi
|
||||
MYSTIC_DIR="@MYSTIC_DIR@"
|
||||
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`
|
||||
|
||||
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`
|
||||
|
||||
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`
|
||||
|
||||
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`
|
||||
|
||||
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`
|
||||
|
||||
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`
|
||||
|
||||
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_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_DB=`${MYSTIC_DIR}/inimod r ${INIFILE} -S Ip2Location -k Database --silent`
|
||||
|
||||
@@ -101,7 +101,7 @@ if [ $MRCSERVER_ENABLE = "true" ]; then
|
||||
ln -sf ../../logs/mrcserver.${NOW}.log ${MYSTIC_DIR}/data/mrc/mrcserver.log
|
||||
ln -sf mrcserver.${NOW}.log ${MYSTIC_DIR}/logs/mrcserver.log
|
||||
[ -f /${MYSTIC_DIR}/logs/mrcserver.${YESTERDAY}.log ] && gzip -9 ${MYSTIC_DIR}/logs/mrcserver.${YESTERDAY}.log
|
||||
find ${MYSTIC_DIR}/logs/ -type f -mtime +${MRCserver_KEEP} -name 'mrcserver.*' -exec rm {} \;
|
||||
find ${MYSTIC_DIR}/logs/ -type f -mtime +${MRCSERVER_KEEP} -name 'mrcserver.*' -exec rm {} \;
|
||||
fi
|
||||
|
||||
if [ $NODE_ENABLE = "true" ]; then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[GeneralDbP]
|
||||
[General]
|
||||
|
||||
Ip2Location=false
|
||||
MisLog=false
|
||||
@@ -7,17 +7,18 @@ ErrorLog=false
|
||||
NodeLog=false
|
||||
MutilLog=false
|
||||
MrcChatLog=false
|
||||
MrcServerLog=false
|
||||
BanUnbanIP=false
|
||||
|
||||
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
|
||||
|
||||
[Ip2Location]
|
||||
; 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.
|
||||
; But chose the BIN Veriosn for the download
|
||||
; But chose the BIN Version for the download
|
||||
Token=PleasePutTokenHere
|
||||
Database=DB1LITEBIN
|
||||
|
||||
|
||||
18
dbp/info-v6.sh
Normal file
18
dbp/info-v6.sh
Normal 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
18
dbp/info-v7.sh
Normal 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}
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MYSTIC_DIR="$1"
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" cron.sh > ${MYSTIC_DIR}/cron
|
||||
chmod +x ${MYSTIC_DIR}/cron
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" banunban.sh > ${MYSTIC_DIR}/banunban
|
||||
chmod +x ${MYSTIC_DIR}/banunban
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" dbp.ini > ${MYSTIC_DIR}/dbp.ini
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MYSTIC_DIR="$1"
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" cron.sh > ${MYSTIC_DIR}/cron
|
||||
chmod +x ${MYSTIC_DIR}/cron
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" banunban.sh > ${MYSTIC_DIR}/banunban
|
||||
chmod +x ${MYSTIC_DIR}/banunban
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" dbp.ini > ${MYSTIC_DIR}/dbp.ini
|
||||
|
||||
24
dbp/install-v6.sh
Normal file
24
dbp/install-v6.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
if [ $DBPSCRIPTS = "Yes" ]; then
|
||||
msg_info "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
|
||||
wget -N https://ftp.disconnected-by-peer.at/IniMod/IniMod_linux_${INIMOD_ARCH}.zip -O $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH}.zip &>/dev/null
|
||||
rm -rf $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
mkdir -p $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
pushd $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
unzip ../IniMod_linux_${INIMOD_ARCH}.zip &>/dev/null
|
||||
cp inimod ${MYSTIC_DIR}
|
||||
chmod +x ${MYSTIC_DIR}/inimod
|
||||
cp README.txt ${MYSTIC_DIR}/docs/inimod_README.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
|
||||
|
||||
msg_info "Installing DbP Cron/banip/unbanip Scripts"
|
||||
pushd $MSTEMPDIR/mystic/dbp &>/dev/null
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" cron.sh > ${MYSTIC_DIR}/cron
|
||||
chmod +x ${MYSTIC_DIR}/cron
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" banunban.sh > ${MYSTIC_DIR}/banunban
|
||||
chmod +x ${MYSTIC_DIR}/banunban
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" dbp.ini > ${MYSTIC_DIR}/dbp.ini
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing DbP Cron/banip/unbanip Scripts"
|
||||
|
||||
fi
|
||||
24
dbp/install-v7.sh
Normal file
24
dbp/install-v7.sh
Normal 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
8
dbp/prompt-v7.sh
Normal 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
5
dbp/update.sh
Executable 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
|
||||
21
dosemu2/info-v6.sh
Normal file
21
dosemu2/info-v6.sh
Normal 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
21
dosemu2/info-v7.sh
Normal 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
|
||||
28
dosemu2/install-v6.sh
Normal file
28
dosemu2/install-v6.sh
Normal 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
28
dosemu2/install-v7.sh
Normal 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
|
||||
@@ -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
8
dosemu2/prompt-v6.sh
Normal 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
8
dosemu2/prompt-v7.sh
Normal 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
5
dosemu2/update.sh
Executable 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
|
||||
21
fail2ban/info-v6.sh
Normal file
21
fail2ban/info-v6.sh
Normal 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
|
||||
21
fail2ban/info-v7.sh
Normal file
21
fail2ban/info-v7.sh
Normal 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
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MYSTIC_DIR="$1"
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" action.d/mysticbbs.conf > /etc/fail2ban/action.d/mysticbbs.conf
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" filter.d/mysticbbs.conf > /etc/fail2ban/filter.d/mysticbbs.conf
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" jail.d/mysticbbs.conf > /etc/fail2ban/jail.d/mysticbbs.conf
|
||||
|
||||
mkdir -p /etc/systemd/system/fail2ban.service.d
|
||||
cp systemd/override.conf /etc/systemd/system/fail2ban.service.d/override.conf
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MYSTIC_DIR="$1"
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" action.d/mysticbbs.conf > /etc/fail2ban/action.d/mysticbbs.conf
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" filter.d/mysticbbs.conf > /etc/fail2ban/filter.d/mysticbbs.conf
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" jail.d/mysticbbs.conf > /etc/fail2ban/jail.d/mysticbbs.conf
|
||||
|
||||
mkdir -p /etc/systemd/system/fail2ban.service.d
|
||||
cp systemd/override.conf /etc/systemd/system/fail2ban.service.d/override.conf
|
||||
|
||||
53
fail2ban/install-v6.sh
Normal file
53
fail2ban/install-v6.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
if [ $BANUNBAN = "fail2ban" ]; then
|
||||
msg_info "Installing Fail2Ban Dependencies for ${APP}"
|
||||
apt install -y fail2ban &>/dev/null
|
||||
apt install -y iptables &>/dev/null
|
||||
apt install -y ipset &>/dev/null
|
||||
if [ -z "${FAIL2BAN_GROUP}" ]; then
|
||||
groupadd fail2ban &>/dev/null
|
||||
fi
|
||||
usermod --append --groups fail2ban mystic &>/dev/null
|
||||
msg_ok "Installing Fail2Ban Dependencies for ${APP}"
|
||||
|
||||
msg_info "Installing Fail2Ban Scripts for ${APP}"
|
||||
pushd $MSTEMPDIR/mystic/fail2ban &>/dev/null
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" action.d/mysticbbs.conf > /etc/fail2ban/action.d/mysticbbs.conf
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" filter.d/mysticbbs.conf > /etc/fail2ban/filter.d/mysticbbs.conf
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" jail.d/mysticbbs.conf > /etc/fail2ban/jail.d/mysticbbs.conf
|
||||
mkdir -p /etc/systemd/system/fail2ban.service.d
|
||||
cp systemd/override.conf /etc/systemd/system/fail2ban.service.d/override.conf
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing Fail2Ban Scripts for ${APP}"
|
||||
fi
|
||||
|
||||
if [ $BANUNBAN = "ipban" ]; then
|
||||
msg_info "Installing IpBan Dependencies for ${APP}"
|
||||
pushd $MSTEMPDIR &>/dev/null
|
||||
wget -N https://github.com/DigitalRuby/IPBan/raw/master/IPBanCore/Linux/Scripts/Install.sh -O $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
apt install -y fail2ban &>/dev/null
|
||||
apt install -y iptables &>/dev/null
|
||||
apt install -y ipset &>/dev/null
|
||||
apt install -y xmlstarlet &>/dev/null
|
||||
sed -i '/yum/d' $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -i '/systemctl/d' $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -e 's!sudo !!g' -i $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -e 's!-qq!-qqo!g' -i $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -i '/nano/d' $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
bash $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
if [ -z "${IPBAN_GROUP}" ]; then
|
||||
groupadd ipban &>/dev/null
|
||||
fi
|
||||
usermod --append --groups ipban mystic &>/dev/null
|
||||
chown -R root:ipban /opt/ipban &>/dev/null
|
||||
chmod 775 /opt/ipban/ &>/dev/null
|
||||
dos2unix /opt/ipban/*.{config,xml,md} &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing IpBan Dependencies for ${APP}"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
53
fail2ban/install-v7.sh
Normal file
53
fail2ban/install-v7.sh
Normal 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
9
fail2ban/prompt-v7.sh
Normal 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
5
fail2ban/update.sh
Executable 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
|
||||
434
install-next.sh
434
install-next.sh
@@ -9,11 +9,12 @@ CL=$(echo "\033[m")
|
||||
BFR="\\r\\033[K"
|
||||
HOLD="-"
|
||||
CM="${GN}✓${CL}"
|
||||
APP="Mystic Installer"
|
||||
APP="Mystic BBS"
|
||||
MSDIR="/opt/mystic"
|
||||
MSTEMPDIR="/usr/local/src/mystic"
|
||||
INSTALLLOG=$MSTEMPDIR/install.log
|
||||
TMP_DIR=$(mktemp -d)
|
||||
SCRIPT_VER="v1"
|
||||
SCRIPT_VER="v7"
|
||||
|
||||
GROUP=$(getent group mystic)
|
||||
USER=$(getent shadow mystic)
|
||||
@@ -39,6 +40,13 @@ function error_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
|
||||
while true; do
|
||||
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}"
|
||||
}
|
||||
|
||||
mkdir -p $MSTEMPDIR &>/dev/null
|
||||
|
||||
msg_info "Installing needed base packages"
|
||||
apt update &>/dev/null
|
||||
apt install lsb-release dpkg-dev wget curl figlet lolcat unzip -y &>/dev/null
|
||||
cmd_exec apt update &>>$INSTALLLOG
|
||||
cmd_exec apt install lsb-release dpkg-dev wget curl figlet lolcat unzip whiptail dialog -y &>>$INSTALLLOG
|
||||
msg_ok "Installing needed base packages"
|
||||
|
||||
function header_info {
|
||||
@@ -77,32 +87,39 @@ DIST=$(lsb_release -i -s)
|
||||
CODENAME=$(lsb_release -c -s)
|
||||
|
||||
LIBDIR=/usr/lib/${ARCH}
|
||||
MYSTIC_VER="112a48"
|
||||
MRC_VER="129a"
|
||||
MRC_SERVER_VER="v10"
|
||||
|
||||
if [ "${ARCH}" = "x86_64-linux-gnu" ]; then
|
||||
INIMOD_ARCH="amd64"
|
||||
MYSTIC_ARCH="l64"
|
||||
MYSTIC_EXT="rar"
|
||||
RARLAB="rar"
|
||||
DOSEMUVER="dosemu2"
|
||||
elif [ "${ARCH}" = "i386-linux-gnu" ]; then
|
||||
INIMOD_ARCH="amd32"
|
||||
MYSTIC_ARCH="l32"
|
||||
MYSTIC_EXT="rar"
|
||||
RARLAB="rar"
|
||||
DOSEMUVER="dosemu"
|
||||
elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then
|
||||
INIMOD_ARCH="arm64"
|
||||
MYSTIC_ARCH="p64"
|
||||
MYSTIC_EXT="zip"
|
||||
RARLAB=""
|
||||
DOSEMUVER="dosemu2"
|
||||
elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then
|
||||
INIMOD_ARCH="arm32"
|
||||
MYSTIC_ARCH="p32"
|
||||
MYSTIC_EXT="zip"
|
||||
RARLAB=""
|
||||
DOSEMUVER=""
|
||||
else
|
||||
echo "Architecture not supported: ${ARCH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${CODENAME}" = "bookworm" ]; then
|
||||
if [ "${CODENAME}" = "trixie" ]; then
|
||||
UBUNTU="kinetic"
|
||||
elif [ "${CODENAME}" = "bookworm" ]; then
|
||||
UBUNTU="kinetic"
|
||||
elif [ "${CODENAME}" = "bullseye" ]; then
|
||||
UBUNTU="focal"
|
||||
@@ -114,6 +131,14 @@ else
|
||||
UBUNTU="${CODENAME}"
|
||||
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
|
||||
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
|
||||
@@ -122,35 +147,38 @@ echo "deb http://security.debian.org bullseye-security contrib non-free main" >>
|
||||
msg_ok "adding bullseye repository to bookworm for python2"
|
||||
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"
|
||||
if [ "${CODENAME}" = "noble" ]; then
|
||||
msg_info "adding jammy repository to noble for python2"
|
||||
echo "deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse" > /etc/apt/sources.list.d/jammy.list
|
||||
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"
|
||||
apt install -y software-properties-common &>/dev/null
|
||||
cmd_exec apt install -y software-properties-common &>>$INSTALLLOG
|
||||
if [ "${DIST}" = "Debian" ]; then
|
||||
apt-add-repository -y contrib &>/dev/null
|
||||
apt-add-repository -y non-free &>/dev/null
|
||||
cmd_exec apt-add-repository -y contrib &>>$INSTALLLOG
|
||||
cmd_exec apt-add-repository -y non-free &>>$INSTALLLOG
|
||||
fi
|
||||
if [ "${DIST}" = "Ubuntu" ]; then
|
||||
apt-add-repository -y universe &>/dev/null
|
||||
apt-add-repository -y restricted &>/dev/null
|
||||
apt-add-repository -y multiverse &>/dev/null
|
||||
cmd_exec apt-add-repository -y universe &>>$INSTALLLOG
|
||||
cmd_exec apt-add-repository -y restricted &>>$INSTALLLOG
|
||||
cmd_exec apt-add-repository -y multiverse &>>$INSTALLLOG
|
||||
fi
|
||||
apt update &>/dev/null
|
||||
apt install -y curl wget gnupg unzip unrar &>/dev/null
|
||||
mkdir -p $MSTEMPDIR &>/dev/null
|
||||
cmd_exec apt update &>>$INSTALLLOG
|
||||
cmd_exec apt install -y curl wget gnupg unzip unrar &>>$INSTALLLOG
|
||||
cmd_exec mkdir -p $MSTEMPDIR &>>$INSTALLLOG
|
||||
msg_ok "Setting up ${APP} Repository"
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
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
|
||||
rm -rf $MSTEMPDIR/mystic &>/dev/null
|
||||
pushd $MSTEMPDIR &>/dev/null
|
||||
unzip dbp-main.zip &>/dev/null
|
||||
popd &>/dev/null
|
||||
cmd_exec wget -N https://gitea.disconnected-by-peer.at/geos_one/mystic/archive/main.zip -O $MSTEMPDIR/dbp-main.zip &>>$INSTALLLOG
|
||||
cmd_exec rm -rf $MSTEMPDIR/mystic &>>$INSTALLLOG
|
||||
cmd_exec pushd $MSTEMPDIR &>>$INSTALLLOG
|
||||
cmd_exec unzip dbp-main.zip &>>$INSTALLLOG
|
||||
cmd_exec popd &>>$INSTALLLOG
|
||||
msg_ok "Downloading ${APP} Mystic BBS Disconnected-by-Peer Installer Files"
|
||||
|
||||
#==============================================================================================================
|
||||
@@ -171,12 +199,13 @@ source $MSTEMPDIR/mystic/ip2location/prompt-${SCRIPT_VER}.sh
|
||||
source $MSTEMPDIR/mystic/dbp/prompt-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
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
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
|
||||
# Mystic install
|
||||
source $MSTEMPDIR/mystic/mystic/install-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
@@ -187,294 +216,81 @@ source $MSTEMPDIR/mystic/mrc-client/install-${SCRIPT_VER}.sh
|
||||
source $MSTEMPDIR/mystic/mrc-server/install-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/install-${SCRIPT_VER}.sh
|
||||
|
||||
exit 0
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $CRYPT = "Yes" ]; then
|
||||
msg_info "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
|
||||
apt install -y build-essential &>/dev/null
|
||||
apt install -y gcc-9 g++-9 cpp-9 gcc g++ cpp &>/dev/null
|
||||
apt install -y patch &>/dev/null
|
||||
apt install -y dos2unix &>/dev/null
|
||||
wget -N http://www.mysticbbs.com/downloads/cl345.zip -O $MSTEMPDIR/cryptlib345.zip &>/dev/null
|
||||
rm -rf $MSTEMPDIR/cryptlib-3.4.5 &>/dev/null
|
||||
mkdir -p $MSTEMPDIR/cryptlib-3.4.5 &>/dev/null
|
||||
pushd $MSTEMPDIR/cryptlib-3.4.5 &>/dev/null
|
||||
unzip ../cryptlib345.zip &>/dev/null
|
||||
dos2unix tools/* &>/dev/null
|
||||
dos2unix kernel/* &>/dev/null
|
||||
patch -p1 -i $MSTEMPDIR/mystic/cryptlib/gccversion-345.patch &>/dev/null
|
||||
patch -p0 -i $MSTEMPDIR/mystic/cryptlib/cl-linux-yield.patch &>/dev/null
|
||||
ln -sf gcc-9 /usr/bin/gcc &>/dev/null
|
||||
ln -sf g++-9 /usr/bin/g++ &>/dev/null
|
||||
ln -sf cpp-9 /usr/bin/cpp &>/dev/null
|
||||
make shared &>/dev/null
|
||||
apt purge -y gcc g++ cpp &>/dev/null
|
||||
apt install -y gcc g++ cpp &>/dev/null
|
||||
cp libcl.so.3.4.5 ${LIBDIR}/ &>/dev/null
|
||||
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 ${LIBDIR}/libcl.so &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/install-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $IP2L = "Yes" ]; then
|
||||
msg_info "Setting up IP2Location Download Client for ${APP}"
|
||||
apt install -y libwww-perl &>/dev/null
|
||||
wget -N https://www.ip2location.com/downloads/ip2location-downloader-linux.zip -O $MSTEMPDIR/ip2location-downloader-linux.zip &>/dev/null
|
||||
rm -rf $MSTEMPDIR/ip2location-downloader-linux &>/dev/null
|
||||
mkdir -p $MSTEMPDIR/ip2location-downloader-linux &>/dev/null
|
||||
pushd $MSTEMPDIR/ip2location-downloader-linux &>/dev/null
|
||||
unzip ../ip2location-downloader-linux.zip &>/dev/null
|
||||
cp download.pl ${MYSTIC_DIR}/ip2location
|
||||
chmod +x ${MYSTIC_DIR}/ip2location
|
||||
cp readme.txt ${MYSTIC_DIR}/docs/ip2location_README.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up IP2Location Download Client for ${APP}"
|
||||
# Mystic install
|
||||
source $MSTEMPDIR/mystic/mystic/config-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
source $MSTEMPDIR/mystic/spellcheck/config-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Client
|
||||
source $MSTEMPDIR/mystic/mrc-client/config-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Server
|
||||
source $MSTEMPDIR/mystic/mrc-server/config-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/config-${SCRIPT_VER}.sh
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/config-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $DBPSCRIPTS = "Yes" ]; then
|
||||
msg_info "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
|
||||
wget -N https://ftp.disconnected-by-peer.at/IniMod/IniMod_linux_${INIMOD_ARCH}.zip -O $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH}.zip &>/dev/null
|
||||
rm -rf $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
mkdir -p $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
pushd $MSTEMPDIR/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
unzip ../IniMod_linux_${INIMOD_ARCH}.zip &>/dev/null
|
||||
cp inimod ${MYSTIC_DIR}
|
||||
chmod +x ${MYSTIC_DIR}/inimod
|
||||
cp README.txt ${MYSTIC_DIR}/docs/inimod_README.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
|
||||
|
||||
msg_info "Installing DbP Cron/banip/unbanip Scripts"
|
||||
pushd $MSTEMPDIR/mystic/dbp &>/dev/null
|
||||
bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing DbP Cron/banip/unbanip Scripts"
|
||||
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $BANUNBAN = "fail2ban" ]; then
|
||||
msg_info "Installing Fail2Ban Dependencies for ${APP}"
|
||||
apt install -y fail2ban &>/dev/null
|
||||
apt install -y iptables &>/dev/null
|
||||
apt install -y ipset &>/dev/null
|
||||
if [ -z "${FAIL2BAN_GROUP}" ]; then
|
||||
groupadd fail2ban &>/dev/null
|
||||
fi
|
||||
usermod --append --groups fail2ban mystic &>/dev/null
|
||||
msg_ok "Installing Fail2Ban Dependencies for ${APP}"
|
||||
|
||||
msg_info "Installing Fail2Ban Scripts for ${APP}"
|
||||
pushd $MSTEMPDIR/mystic/fail2ban &>/dev/null
|
||||
bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing Fail2Ban Scripts for ${APP}"
|
||||
|
||||
fi
|
||||
|
||||
if [ $BANUNBAN = "ipban" ]; then
|
||||
msg_info "Installing IpBan Dependencies for ${APP}"
|
||||
pushd $MSTEMPDIR &>/dev/null
|
||||
wget -N https://github.com/DigitalRuby/IPBan/raw/master/IPBanCore/Linux/Scripts/Install.sh -O $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
apt install -y fail2ban &>/dev/null
|
||||
apt install -y iptables &>/dev/null
|
||||
apt install -y ipset &>/dev/null
|
||||
apt install -y xmlstarlet &>/dev/null
|
||||
sed -i '/yum/d' $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -i '/systemctl/d' $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -e 's!sudo !!g' -i $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -e 's!-qq!-qqo!g' -i $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
sed -i '/nano/d' $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
bash $MSTEMPDIR/ipban-install.sh &>/dev/null
|
||||
if [ -z "${IPBAN_GROUP}" ]; then
|
||||
groupadd ipban &>/dev/null
|
||||
fi
|
||||
usermod --append --groups ipban mystic &>/dev/null
|
||||
chown -R root:ipban /opt/ipban &>/dev/null
|
||||
chmod 775 /opt/ipban/ &>/dev/null
|
||||
dos2unix /opt/ipban/*.{config,xml,md} &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing IpBan Dependencies for ${APP}"
|
||||
|
||||
#msg_info "Installing Fail2Ban Scripts for ${APP}"
|
||||
#pushd $MSTEMPDIR/mystic/ipban &>/dev/null
|
||||
#bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
#popd &>/dev/null
|
||||
#msg_ok "Installing Fail2Ban Scripts for ${APP}"
|
||||
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
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
|
||||
|
||||
#rm -rf $MSTEMPDIR/IniMod_linux${INIMOD_ARCH} &>/dev/null
|
||||
#mkdir -p $MSTEMPDIR/IniMod_linux${INIMOD_ARCH} &>/dev/null
|
||||
#pushd $MSTEMPDIR/IniMod_linux${INIMOD_ARCH} &>/dev/null
|
||||
#unzip ../IniMod_linux${INIMOD_ARCH}.zip &>/dev/null
|
||||
#cp inimod ${MYSTIC_DIR}
|
||||
#chmod +x ${MYSTIC_DIR}/inimod
|
||||
#cp README.txt ${MYSTIC_DIR}/docs/inimod_README.txt
|
||||
#popd &>/dev/null
|
||||
msg_ok "Installing DosEmu2 Dependencies for ${APP}"
|
||||
|
||||
#msg_info "Installing DbP Cron/banip/unbanip Scripts"
|
||||
#pushd $MSTEMPDIR/mystic/dbp &>/dev/null
|
||||
#bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
#popd &>/dev/null
|
||||
#msg_ok "Installing DbP Cron/banip/unbanip Scripts"
|
||||
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
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
|
||||
|
||||
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')
|
||||
|
||||
pushd ${MUTIL_DIR} &>/dev/null
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="maint.ini"
|
||||
config=('PurgeMessageBases' 'PackMessageBases' 'MergeNodeLists' 'PackFileBases' 'PurgeUserBase' 'PackUserBase' 'FileSort')
|
||||
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
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="mailout.ini"
|
||||
config=('ExportEchoMail')
|
||||
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
|
||||
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="mailin.ini"
|
||||
config=('ImportEchoMail' 'FileToss')
|
||||
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
|
||||
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="importna.ini"
|
||||
config=('Import_FIDONET.NA' 'Import_FILEBONE.NA')
|
||||
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
|
||||
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
|
||||
popd &>/dev/null
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
DBP_INFO=${MYSTIC_DIR}/docs/DbP-install.info
|
||||
|
||||
echo "==============================================================================================================" > ${DBP_INFO}
|
||||
|
||||
# Mystic install
|
||||
source $MSTEMPDIR/mystic/mystic/info-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
source $MSTEMPDIR/mystic/spellcheck/info-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Client
|
||||
source $MSTEMPDIR/mystic/mrc-client/info-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Server
|
||||
source $MSTEMPDIR/mystic/mrc-server/info-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/info-${SCRIPT_VER}.sh
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/info-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
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}
|
||||
|
||||
cmd_exec chown mystic:mystic -R ${MYSTIC_DIR} &>>$INSTALLLOG
|
||||
cat ${DBP_INFO}
|
||||
|
||||
echo "These Infos are also been put into ${DBP_INFO}"
|
||||
|
||||
708
install.sh
708
install.sh
@@ -9,16 +9,11 @@ CL=$(echo "\033[m")
|
||||
BFR="\\r\\033[K"
|
||||
HOLD="-"
|
||||
CM="${GN}✓${CL}"
|
||||
APP="Mystic"
|
||||
APP="Mystic BBS"
|
||||
MSDIR="/opt/mystic"
|
||||
MSTEMPDIR="/usr/local/src/mystic"
|
||||
TMP_DIR=$(mktemp -d)
|
||||
|
||||
apt install lsb-release dpkg-dev wget curl -y &>/dev/null
|
||||
|
||||
ARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
|
||||
|
||||
DIST=$(lsb_release -i -s)
|
||||
CODENAME=$(lsb_release -c -s)
|
||||
SCRIPT_VER="v6"
|
||||
|
||||
GROUP=$(getent group mystic)
|
||||
USER=$(getent shadow mystic)
|
||||
@@ -26,47 +21,6 @@ USER=$(getent shadow mystic)
|
||||
FAIL2BAN_GROUP=$(getent group fail2ban)
|
||||
IPBAN_GROUP=$(getent group ipban)
|
||||
|
||||
LIBDIR=/usr/lib/${ARCH}
|
||||
MYSTIC_VER="112a48"
|
||||
SCRIPT_VER="v0"
|
||||
|
||||
if [ "${ARCH}" = "x86_64-linux-gnu" ]; then
|
||||
INIMOD_ARCH="amd64"
|
||||
MYSTIC_ARCH="l64"
|
||||
MYSTIC_EXT="rar"
|
||||
elif [ "${ARCH}" = "i386-linux-gnu" ]; then
|
||||
INIMOD_ARCH="amd32"
|
||||
MYSTIC_ARCH="l32"
|
||||
MYSTIC_EXT="rar"
|
||||
elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then
|
||||
INIMOD_ARCH="arm64"
|
||||
MYSTIC_ARCH="p64"
|
||||
MYSTIC_EXT="zip"
|
||||
elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then
|
||||
INIMOD_ARCH="arm32"
|
||||
MYSTIC_ARCH="p32"
|
||||
MYSTIC_EXT="zip"
|
||||
else
|
||||
echo "Architecture not supported: ${ARCH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${CODENAME}" = "bookworm" ]; then
|
||||
DIST="kinetic"
|
||||
elif [ "${CODENAME}" = "bullseye" ]; then
|
||||
DIST="focal"
|
||||
elif [ "${CODENAME}" = "buster" ]; then
|
||||
DIST="bionic"
|
||||
elif [ "${CODENAME}" = "stretch" ]; then
|
||||
DIST="xenial"
|
||||
else
|
||||
DIST="${CODENAME}"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
MRC_VER="129a"
|
||||
|
||||
hostname="$(hostname)"
|
||||
set -o errexit
|
||||
set -o errtrace
|
||||
@@ -84,6 +38,7 @@ function error_exit() {
|
||||
echo -e "$flag $msg" 1>&2
|
||||
exit $EXIT
|
||||
}
|
||||
|
||||
if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi
|
||||
while true; do
|
||||
read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn
|
||||
@@ -94,26 +49,7 @@ while true; do
|
||||
esac
|
||||
done
|
||||
clear
|
||||
function header_info {
|
||||
echo -e "${BL}
|
||||
__ __ _ _ ____ ____ _____
|
||||
| \/ | | | (_) | _ \| _ \ / ____|
|
||||
| \ / |_ _ ___| |_ _ ___ | |_) | |_) | (___
|
||||
| |\/| | | | / __| __| |/ __| | _ <| _ < \___ \
|
||||
| | | | |_| \__ \ |_| | (__ | |_) | |_) |____) |
|
||||
|_| |_|\__, |___/\__|_|\___| |____/|____/|_____/
|
||||
__/ |
|
||||
_____ _ |___/ _____ _ _ _
|
||||
| __ \| | | __ \ |_ _| | | | | |
|
||||
| | | | |__ | |__) | | | _ __ ___| |_ __ _| | | ___ _ __
|
||||
| | | | '_ \| ___/ | | | '_ \/ __| __/ _ | | |/ _ \ __|
|
||||
| |__| | |_) | | _| |_| | | \__ \ || (_| | | | __/ |
|
||||
|_____/|_ __/|_| |_____|_| |_|___/\__\__ _|_|_|\___|_|
|
||||
|
||||
${CL}"
|
||||
}
|
||||
|
||||
header_info
|
||||
function msg_info() {
|
||||
local msg="$1"
|
||||
echo -ne " ${HOLD} ${YW}${msg}..."
|
||||
@@ -124,503 +60,209 @@ function msg_ok() {
|
||||
echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
|
||||
}
|
||||
|
||||
msg_info "Setting up ${APP} Repository"
|
||||
msg_info "Installing needed base packages"
|
||||
apt update &>/dev/null
|
||||
apt install -y software-properties-common &>/dev/null
|
||||
if [ "${DIST}" = "Debian" ]; then
|
||||
apt-add-repository contrib &>/dev/null
|
||||
apt-add-repository non-free &>/dev/null
|
||||
fi
|
||||
if [ "${DIST}" = "Ubuntu" ]; then
|
||||
apt-add-repository universe &>/dev/null
|
||||
apt-add-repository restricted &>/dev/null
|
||||
apt-add-repository multiverse &>/dev/null
|
||||
fi
|
||||
apt update &>/dev/null
|
||||
apt install -y curl &>/dev/null
|
||||
apt install -y wget &>/dev/null
|
||||
apt install -y gnupg &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic &>/dev/null
|
||||
msg_ok "Setup ${APP} Repository"
|
||||
apt install lsb-release dpkg-dev wget curl figlet lolcat unzip whiptail dialog -y &>/dev/null
|
||||
msg_ok "Installing needed base packages"
|
||||
|
||||
#==============================================================================================================
|
||||
function header_info {
|
||||
/usr/bin/env figlet -w 60 -c "Mystic BBS DbP Installer" | /usr/games/lolcat -f
|
||||
}
|
||||
|
||||
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}"
|
||||
header_info
|
||||
|
||||
ARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
|
||||
|
||||
DIST=$(lsb_release -i -s)
|
||||
CODENAME=$(lsb_release -c -s)
|
||||
|
||||
LIBDIR=/usr/lib/${ARCH}
|
||||
|
||||
if [ "${ARCH}" = "x86_64-linux-gnu" ]; then
|
||||
INIMOD_ARCH="amd64"
|
||||
MYSTIC_ARCH="l64"
|
||||
MYSTIC_EXT="rar"
|
||||
RARLAB="rar"
|
||||
DOSEMUVER="dosemu2"
|
||||
elif [ "${ARCH}" = "i386-linux-gnu" ]; then
|
||||
INIMOD_ARCH="amd32"
|
||||
MYSTIC_ARCH="l32"
|
||||
MYSTIC_EXT="rar"
|
||||
RARLAB="rar"
|
||||
DOSEMUVER="dosemu"
|
||||
elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then
|
||||
INIMOD_ARCH="arm64"
|
||||
MYSTIC_ARCH="p64"
|
||||
MYSTIC_EXT="zip"
|
||||
RARLAB=""
|
||||
DOSEMUVER="dosemu2"
|
||||
elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then
|
||||
INIMOD_ARCH="arm32"
|
||||
MYSTIC_ARCH="p32"
|
||||
MYSTIC_EXT="zip"
|
||||
RARLAB=""
|
||||
DOSEMUVER=""
|
||||
else
|
||||
if [ $exitstatus = 0 ]; then
|
||||
MYSTIC_DIR="$MSAPPDIR"
|
||||
echo -e "${DGN}Installing Mystic to: ${BGN}$MYSTIC_DIR${CL}"
|
||||
fi
|
||||
echo "Architecture not supported: ${ARCH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MUTIL_DIR=${MYSTIC_DIR}/mutil.d
|
||||
|
||||
CRYPT=$(whiptail --title "SSL SSH Support in 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}"
|
||||
if [ "${CODENAME}" = "bookworm" ]; then
|
||||
UBUNTU="kinetic"
|
||||
elif [ "${CODENAME}" = "bullseye" ]; then
|
||||
UBUNTU="focal"
|
||||
elif [ "${CODENAME}" = "buster" ]; then
|
||||
UBUNTU="bionic"
|
||||
elif [ "${CODENAME}" = "stretch" ]; then
|
||||
UBUNTU="xenial"
|
||||
else
|
||||
UBUNTU="${CODENAME}"
|
||||
fi
|
||||
|
||||
SPELL=$(whiptail --title "Spellcheck Support in Mystic" --radiolist --cancel-button Exit-Script "Choose Yes No" 8 58 2 \
|
||||
"Yes" "Add Spellcheck Support" ON \
|
||||
"No" "Don't add Spellcheck Support" OFF \
|
||||
3>&1 1>&2 2>&3)
|
||||
exitstatus=$?
|
||||
if [ $exitstatus = 0 ]; then
|
||||
echo -e "${DGN}Add Spellcheck Support: ${BGN}$SPELL${CL}"
|
||||
fi
|
||||
|
||||
MRC=$(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}$MRC${CL}"
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
DBPSCRIPTS=$(whiptail --title "Add The Disconnected by Peer Script to Mystic" --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 Script: ${BGN}$DBPSCRIPTS${CL}"
|
||||
fi
|
||||
|
||||
BANUNBAN=$(whiptail --title "Add Ban / Anban 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
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ "${CODENAME}" = "bookworm" ]; 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
|
||||
|
||||
msg_info "Setting up ${APP} Repository"
|
||||
apt install -y software-properties-common &>/dev/null
|
||||
if [ "${DIST}" = "Debian" ]; then
|
||||
apt-add-repository -y contrib &>/dev/null
|
||||
apt-add-repository -y non-free &>/dev/null
|
||||
fi
|
||||
if [ "${DIST}" = "Ubuntu" ]; then
|
||||
apt-add-repository -y universe &>/dev/null
|
||||
apt-add-repository -y restricted &>/dev/null
|
||||
apt-add-repository -y multiverse &>/dev/null
|
||||
fi
|
||||
apt update &>/dev/null
|
||||
msg_ok "Finisched adding bullseye repository"
|
||||
fi
|
||||
apt install -y curl wget gnupg unzip unrar &>/dev/null
|
||||
mkdir -p $MSTEMPDIR &>/dev/null
|
||||
msg_ok "Setting up ${APP} Repository"
|
||||
|
||||
msg_info "Starting ${APP} Installation !!!! Plz set Installation dir the same as bevor !!!"
|
||||
apt install -y unrar-free python3 python2 libpython2.7 &>/dev/null
|
||||
wget -N http://www.mysticbbs.com/downloads/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} -O /usr/local/src/mystic/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/mystic-${MYSTIC_VER} &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic/mystic-${MYSTIC_VER} &>/dev/null
|
||||
pushd /usr/local/src/mystic/mystic-${MYSTIC_VER} &>/dev/null
|
||||
if [ "${MYSTIC_EXT}" = "rar" ]; then
|
||||
unrar -x ../mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
|
||||
elif [ "${MYSTIC_EXT}" = "zip" ]; then
|
||||
unzip ../mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
chmod +x install &>/dev/null
|
||||
./install
|
||||
popd &>/dev/null
|
||||
msg_ok "Finisched ${APP} Installation"
|
||||
#==============================================================================================================
|
||||
|
||||
msg_info "Downloading ${APP} Systemd Start/Stop Scripts and Service File"
|
||||
wget -N https://gitea.disconnected-by-peer.at/geos_one/mystic/archive/main.zip -O /usr/local/src/mystic/dbp-main.zip &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/mystic &>/dev/null
|
||||
pushd /usr/local/src/mystic &>/dev/null
|
||||
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
|
||||
rm -rf $MSTEMPDIR/mystic &>/dev/null
|
||||
pushd $MSTEMPDIR &>/dev/null
|
||||
unzip dbp-main.zip &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Downloading ${APP} Systemd Start/Stop Scripts and Service File"
|
||||
|
||||
msg_info "Installing ${APP} Systemd Start/Stop Scripts and Service File"
|
||||
pushd /usr/local/src/mystic/mystic/mystic &>/dev/null
|
||||
bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing ${APP} Systemd Start/Stop Scripts and Service File"
|
||||
|
||||
msg_info "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}"
|
||||
if [ -z "${GROUP}" ]; then
|
||||
groupadd mystic &>/dev/null
|
||||
fi
|
||||
if [ -z "${USER}" ]; then
|
||||
useradd --home-dir ${MYSTIC_DIR} -g mystic mystic &>/dev/null
|
||||
fi
|
||||
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.txt' -type f -exec dos2unix {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.ini' -type f -exec dos2unix {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.txt' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.ini' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.dat' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.ans' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.asc' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.hlp' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.mnu' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.mnu' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.mps' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.mpx' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.mpy' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.ms' -type f -exec chmod 0664 {} \; &>/dev/null
|
||||
msg_ok "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}"
|
||||
msg_ok "Downloading ${APP} Mystic BBS Disconnected-by-Peer Installer Files"
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $SPELL = "Yes" ]; then
|
||||
msg_info "Setting up Spellcheck for ${APP}"
|
||||
apt install -y libhunspell-dev &>/dev/null
|
||||
wget -N http://www.mysticbbs.com/downloads/mystic_spellcheck_v2.zip -O /usr/local/src/mystic/mystic_spellcheck_v2.zip &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/mystic_spellcheck_v2 &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic/mystic_spellcheck_v2 &>/dev/null
|
||||
pushd /usr/local/src/mystic/mystic_spellcheck_v2 &>/dev/null
|
||||
unzip ../mystic_spellcheck_v2.zip &>/dev/null
|
||||
cp dictionary.* ${MYSTIC_DIR}/data/
|
||||
cp wordlist.txt ${MYSTIC_DIR}/data/
|
||||
cp README.txt ${MYSTIC_DIR}/docs/Spellcheck_README.txt
|
||||
echo "; List secondary dicitinoaries in this File" > ${MYSTIC_DIR}/data/dictlist.txt
|
||||
echo "; more details in the Spellcheck_README.txt" >> ${MYSTIC_DIR}/data/dictlist.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up Spellcheck for ${APP}"
|
||||
# Mystic install Directory
|
||||
source $MSTEMPDIR/mystic/mystic/prompt-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/prompt-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
source $MSTEMPDIR/mystic/spellcheck/prompt-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Client
|
||||
source $MSTEMPDIR/mystic/mrc-client/prompt-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Server
|
||||
source $MSTEMPDIR/mystic/mrc-server/prompt-${SCRIPT_VER}.sh
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/prompt-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/prompt-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/prompt-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
source $MSTEMPDIR/mystic/dosemu2/prompt-${SCRIPT_VER}.sh
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $MRC = "Yes" ]; then
|
||||
msg_info "Setting up Multi Relay Chat for ${APP}"
|
||||
apt install -y build-essential &>/dev/null
|
||||
wget -N https://www.phenomprod.com/releases/mystic/pn-mrc${MRC_VER}.zip -O /usr/local/src/mystic/pn-mrc${MRC_VER}.zip &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/pn-mrc${MRC_VER} &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic/pn-mrc${MRC_VER} &>/dev/null
|
||||
pushd /usr/local/src/mystic/pn-mrc${MRC_VER} &>/dev/null
|
||||
unzip ../pn-mrc${MRC_VER}.zip &>/dev/null
|
||||
cp mrc_${MRC_VER}/mrc_{client,config}.py ${MYSTIC_DIR}/
|
||||
cp mrc_${MRC_VER}/scripts/* ${MYSTIC_DIR}/themes/default/scripts/
|
||||
cp mrc_${MRC_VER}/text/* ${MYSTIC_DIR}/themes/default/text/
|
||||
cp installation.asc ${MYSTIC_DIR}/docs/mrc_installation.asc
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up Multi Relay Chat for ${APP}"
|
||||
|
||||
msg_info "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
|
||||
pushd /usr/local/src/mystic/mystic/mrc-client &>/dev/null
|
||||
bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
|
||||
|
||||
# Mystic install
|
||||
source $MSTEMPDIR/mystic/mystic/install-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
source $MSTEMPDIR/mystic/spellcheck/install-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Client
|
||||
source $MSTEMPDIR/mystic/mrc-client/install-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Server
|
||||
source $MSTEMPDIR/mystic/mrc-server/install-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/install-${SCRIPT_VER}.sh
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/install-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $CRYPT = "Yes" ]; then
|
||||
msg_info "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
|
||||
apt install -y build-essential &>/dev/null
|
||||
apt install -y gcc-9 g++-9 cpp-9 gcc g++ cpp &>/dev/null
|
||||
apt install -y patch &>/dev/null
|
||||
apt install -y dos2unix &>/dev/null
|
||||
wget -N http://www.mysticbbs.com/downloads/cl345.zip -O /usr/local/src/mystic/cryptlib345.zip &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/cryptlib-3.4.5 &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic/cryptlib-3.4.5 &>/dev/null
|
||||
pushd /usr/local/src/mystic/cryptlib-3.4.5 &>/dev/null
|
||||
unzip ../cryptlib345.zip &>/dev/null
|
||||
dos2unix tools/* &>/dev/null
|
||||
dos2unix kernel/* &>/dev/null
|
||||
patch -p1 -i /usr/local/src/mystic/mystic/cryptlib/patches/gccversion-345.patch &>/dev/null
|
||||
patch -p0 -i /usr/local/src/mystic/mystic/cryptlib/patches/cl-linux-yield.patch &>/dev/null
|
||||
ln -sf gcc-9 /usr/bin/gcc &>/dev/null
|
||||
ln -sf g++-9 /usr/bin/g++ &>/dev/null
|
||||
ln -sf cpp-9 /usr/bin/cpp &>/dev/null
|
||||
make shared &>/dev/null
|
||||
apt purge -y gcc g++ cpp &>/dev/null
|
||||
apt install -y gcc g++ cpp &>/dev/null
|
||||
cp libcl.so.3.4.5 ${LIBDIR}/ &>/dev/null
|
||||
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 ${LIBDIR}/libcl.so &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
|
||||
# Mystic install
|
||||
source $MSTEMPDIR/mystic/mystic/config-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
source $MSTEMPDIR/mystic/spellcheck/config-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Client
|
||||
source $MSTEMPDIR/mystic/mrc-client/config-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Server
|
||||
source $MSTEMPDIR/mystic/mrc-server/config-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/config-${SCRIPT_VER}.sh
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/config-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $IP2L = "Yes" ]; then
|
||||
msg_info "Setting up IP2Location Download Client for ${APP}"
|
||||
apt install -y libwww-perl &>/dev/null
|
||||
wget -N https://www.ip2location.com/downloads/ip2location-downloader-linux.zip -O /usr/local/src/mystic/ip2location-downloader-linux.zip &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/ip2location-downloader-linux &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic/ip2location-downloader-linux &>/dev/null
|
||||
pushd /usr/local/src/mystic/ip2location-downloader-linux &>/dev/null
|
||||
unzip ../ip2location-downloader-linux.zip &>/dev/null
|
||||
cp download.pl ${MYSTIC_DIR}/ip2location
|
||||
chmod +x ${MYSTIC_DIR}/ip2location
|
||||
cp readme.txt ${MYSTIC_DIR}/docs/ip2location_README.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up IP2Location Download Client for ${APP}"
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $DBPSCRIPTS = "Yes" ]; then
|
||||
msg_info "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
|
||||
wget -N https://ftp.disconnected-by-peer.at/IniMod/IniMod_linux_${INIMOD_ARCH}.zip -O /usr/local/src/mystic/IniMod_linux_${INIMOD_ARCH}.zip &>/dev/null
|
||||
rm -rf /usr/local/src/mystic/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
mkdir -p /usr/local/src/mystic/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
pushd /usr/local/src/mystic/IniMod_linux_${INIMOD_ARCH} &>/dev/null
|
||||
unzip ../IniMod_linux_${INIMOD_ARCH}.zip &>/dev/null
|
||||
cp inimod ${MYSTIC_DIR}
|
||||
chmod +x ${MYSTIC_DIR}/inimod
|
||||
cp README.txt ${MYSTIC_DIR}/docs/inimod_README.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing bbs.disconnected-by-peer.at Scripts Dependencies for ${APP}"
|
||||
|
||||
msg_info "Installing DbP Cron/banip/unbanip Scripts"
|
||||
pushd /usr/local/src/mystic/mystic/dbp &>/dev/null
|
||||
bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing DbP Cron/banip/unbanip Scripts"
|
||||
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $BANUNBAN = "fail2ban" ]; then
|
||||
msg_info "Installing Fail2Ban Dependencies for ${APP}"
|
||||
apt install -y fail2ban &>/dev/null
|
||||
apt install -y iptables &>/dev/null
|
||||
apt install -y ipset &>/dev/null
|
||||
if [ -z "${FAIL2BAN_GROUP}" ]; then
|
||||
groupadd fail2ban &>/dev/null
|
||||
fi
|
||||
usermod --append --groups fail2ban mystic &>/dev/null
|
||||
msg_ok "Installing Fail2Ban Dependencies for ${APP}"
|
||||
|
||||
msg_info "Installing Fail2Ban Scripts for ${APP}"
|
||||
pushd /usr/local/src/mystic/mystic/fail2ban &>/dev/null
|
||||
bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing Fail2Ban Scripts for ${APP}"
|
||||
|
||||
fi
|
||||
|
||||
if [ $BANUNBAN = "ipban" ]; then
|
||||
msg_info "Installing IpBan Dependencies for ${APP}"
|
||||
pushd /usr/local/src/mystic &>/dev/null
|
||||
wget -N https://github.com/DigitalRuby/IPBan/raw/master/IPBanCore/Linux/Scripts/Install.sh -O /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
apt install -y fail2ban &>/dev/null
|
||||
apt install -y iptables &>/dev/null
|
||||
apt install -y ipset &>/dev/null
|
||||
apt install -y xmlstarlet &>/dev/null
|
||||
sed -i '/yum/d' /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
sed -i '/systemctl/d' /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
sed -e 's!sudo !!g' -i /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
sed -e 's!-qq!-qqo!g' -i /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
sed -i '/nano/d' /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
bash /usr/local/src/mystic/ipban-install.sh &>/dev/null
|
||||
if [ -z "${IPBAN_GROUP}" ]; then
|
||||
groupadd ipban &>/dev/null
|
||||
fi
|
||||
usermod --append --groups ipban mystic &>/dev/null
|
||||
chown -R root:ipban /opt/ipban &>/dev/null
|
||||
chmod 775 /opt/ipban/ &>/dev/null
|
||||
dos2unix /opt/ipban/*.{config,xml,md} &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Installing IpBan Dependencies for ${APP}"
|
||||
|
||||
#msg_info "Installing Fail2Ban Scripts for ${APP}"
|
||||
#pushd /usr/local/src/mystic/mystic/ipban &>/dev/null
|
||||
#bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
#popd &>/dev/null
|
||||
#msg_ok "Installing Fail2Ban Scripts for ${APP}"
|
||||
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
if [ $DOSEMU = "Yes" ]; then
|
||||
msg_info "Installing DosEmu2 Dependencies for ${APP}"
|
||||
pushd /usr/local/src/mystic &>/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 $DIST 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
|
||||
|
||||
#rm -rf /usr/local/src/mystic/IniMod_linux${INIMOD_ARCH} &>/dev/null
|
||||
#mkdir -p /usr/local/src/mystic/IniMod_linux${INIMOD_ARCH} &>/dev/null
|
||||
#pushd /usr/local/src/mystic/IniMod_linux${INIMOD_ARCH} &>/dev/null
|
||||
#unzip ../IniMod_linux${INIMOD_ARCH}.zip &>/dev/null
|
||||
#cp inimod ${MYSTIC_DIR}
|
||||
#chmod +x ${MYSTIC_DIR}/inimod
|
||||
#cp README.txt ${MYSTIC_DIR}/docs/inimod_README.txt
|
||||
#popd &>/dev/null
|
||||
msg_ok "Installing DosEmu2 Dependencies for ${APP}"
|
||||
|
||||
#msg_info "Installing DbP Cron/banip/unbanip Scripts"
|
||||
#pushd /usr/local/src/mystic/mystic/dbp &>/dev/null
|
||||
#bash install-${SCRIPT_VER}.sh $MYSTIC_DIR &>/dev/null
|
||||
#popd &>/dev/null
|
||||
#msg_ok "Installing DbP Cron/banip/unbanip Scripts"
|
||||
|
||||
fi
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
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
|
||||
|
||||
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')
|
||||
|
||||
pushd ${MUTIL_DIR} &>/dev/null
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="maint.ini"
|
||||
config=('PurgeMessageBases' 'PackMessageBases' 'MergeNodeLists' 'PackFileBases' 'PurgeUserBase' 'PackUserBase' 'FileSort')
|
||||
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
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="mailout.ini"
|
||||
config=('ExportEchoMail')
|
||||
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
|
||||
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="mailin.ini"
|
||||
config=('ImportEchoMail' 'FileToss')
|
||||
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
|
||||
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
configfile="importna.ini"
|
||||
config=('Import_FIDONET.NA' 'Import_FILEBONE.NA')
|
||||
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
|
||||
|
||||
|
||||
#=====================================================================================#
|
||||
|
||||
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
|
||||
popd &>/dev/null
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
|
||||
#==============================================================================================================
|
||||
|
||||
DBP_INFO=${MYSTIC_DIR}/docs/DbP-install.info
|
||||
|
||||
echo "==============================================================================================================" > ${DBP_INFO}
|
||||
|
||||
# Mystic install
|
||||
source $MSTEMPDIR/mystic/mystic/info-${SCRIPT_VER}.sh
|
||||
# Add Spellcheck
|
||||
source $MSTEMPDIR/mystic/spellcheck/info-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Client
|
||||
source $MSTEMPDIR/mystic/mrc-client/info-${SCRIPT_VER}.sh
|
||||
# Add Multi Relay Chat Server
|
||||
source $MSTEMPDIR/mystic/mrc-server/info-${SCRIPT_VER}.sh
|
||||
# Add Cryptlib support
|
||||
source $MSTEMPDIR/mystic/cryptlib/info-${SCRIPT_VER}.sh
|
||||
# Add IP2Location
|
||||
source $MSTEMPDIR/mystic/ip2location/info-${SCRIPT_VER}.sh
|
||||
# Add DBP Scripts
|
||||
source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh
|
||||
# Add Fail2ban | banip
|
||||
source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh
|
||||
# Add Dosemu2
|
||||
if [ -n "${DOSEMUVER}" ]; then
|
||||
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
|
||||
cat ${DBP_INFO}
|
||||
|
||||
echo "These Infos are also been put into ${DBP_INFO}"
|
||||
|
||||
8
ip2location/info-v6.sh
Normal file
8
ip2location/info-v6.sh
Normal 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
|
||||
8
ip2location/info-v7.sh
Normal file
8
ip2location/info-v7.sh
Normal 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-v6.sh
Normal file
14
ip2location/install-v6.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
if [ $IP2L = "Yes" ]; then
|
||||
msg_info "Setting up IP2Location Download Client for ${APP}"
|
||||
apt install -y libwww-perl &>/dev/null
|
||||
wget -N https://www.ip2location.com/downloads/ip2location-downloader-linux.zip -O $MSTEMPDIR/ip2location-downloader-linux.zip &>/dev/null
|
||||
rm -rf $MSTEMPDIR/ip2location-downloader-linux &>/dev/null
|
||||
mkdir -p $MSTEMPDIR/ip2location-downloader-linux &>/dev/null
|
||||
pushd $MSTEMPDIR/ip2location-downloader-linux &>/dev/null
|
||||
unzip ../ip2location-downloader-linux.zip &>/dev/null
|
||||
cp download.pl ${MYSTIC_DIR}/ip2location
|
||||
chmod +x ${MYSTIC_DIR}/ip2location
|
||||
cp readme.txt ${MYSTIC_DIR}/docs/ip2location_README.txt
|
||||
popd &>/dev/null
|
||||
msg_ok "Setting up IP2Location Download Client for ${APP}"
|
||||
fi
|
||||
14
ip2location/install-v7.sh
Normal file
14
ip2location/install-v7.sh
Normal 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
8
ip2location/prompt-v7.sh
Normal 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
5
ip2location/update.sh
Executable 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-v7.sh
Normal file
0
mrc-client/config-v7.sh
Normal file
13
mrc-client/info-v6.sh
Normal file
13
mrc-client/info-v6.sh
Normal 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
|
||||
13
mrc-client/info-v7.sh
Normal file
13
mrc-client/info-v7.sh
Normal 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
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MYSTIC_DIR="$1"
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_client-start.sh > ${MYSTIC_DIR}/mrc_client-start
|
||||
chmod +x ${MYSTIC_DIR}/mrc_client-start
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_client-stop.sh > ${MYSTIC_DIR}/mrc_client-stop
|
||||
chmod +x ${MYSTIC_DIR}/mrc_client-stop
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc-client.service > /etc/systemd/system/mrc-client.service
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
MRC_VER="129a"
|
||||
|
||||
if [ $MRCCLIENT = "Yes" ]; then
|
||||
msg_info "Setting up Multi Relay Chat for ${APP}"
|
||||
apt install -y build-essential &>/dev/null
|
||||
@@ -11,6 +13,7 @@ cp mrc_${MRC_VER}/scripts/* ${MYSTIC_DIR}/themes/default/scripts/
|
||||
cp mrc_${MRC_VER}/text/* ${MYSTIC_DIR}/themes/default/text/
|
||||
cp installation.asc ${MYSTIC_DIR}/docs/mrc_installation.asc
|
||||
popd &>/dev/null
|
||||
mkdir -p ${MYSTIC_DIR}/data/mrc &>/dev/null
|
||||
msg_ok "Setting up Multi Relay Chat for ${APP}"
|
||||
|
||||
msg_info "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
|
||||
30
mrc-client/install-v7.sh
Normal file
30
mrc-client/install-v7.sh
Normal 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
8
mrc-client/prompt-v7.sh
Normal 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
5
mrc-client/update.sh
Executable 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
0
mrc-server/config-v6.sh
Normal file
0
mrc-server/config-v7.sh
Normal file
0
mrc-server/config-v7.sh
Normal file
11
mrc-server/info-v6.sh
Normal file
11
mrc-server/info-v6.sh
Normal 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
|
||||
11
mrc-server/info-v7.sh
Normal file
11
mrc-server/info-v7.sh
Normal 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
|
||||
@@ -1,3 +1,5 @@
|
||||
MRC_SERVER_VER="v10"
|
||||
|
||||
if [ $MRCSERVER = "Yes" ]; then
|
||||
msg_info "Setting up Multi Relay Chat Server for ${APP}"
|
||||
apt install -y build-essential &>/dev/null
|
||||
@@ -11,6 +13,7 @@ cp sysop.doc ${MYSTIC_DIR}/docs/mrc_server_sysop.doc
|
||||
cp whatsnew.txt ${MYSTIC_DIR}/docs/mrc_server_whatsnew.txt
|
||||
cp servers.lst ${MYSTIC_DIR}/docs/mrc_server_server.lst
|
||||
popd &>/dev/null
|
||||
mkdir -p ${MYSTIC_DIR}/data/mrc &>/dev/null
|
||||
msg_ok "Setting up Multi Relay Chat Server for ${APP}"
|
||||
|
||||
msg_info "Installing Multi Relay Chat Server Systemd Start/Stop Scripts and Service File"
|
||||
30
mrc-server/install-v7.sh
Normal file
30
mrc-server/install-v7.sh
Normal 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
|
||||
@@ -27,7 +27,7 @@ fi
|
||||
|
||||
# Starting the MRC python script
|
||||
cd $MRC_PATH >/dev/null
|
||||
/usr/bin/python2 ./mrc_server.py $MRC_SERVER:$MRC_PORT > logs/mrcserver.log 2>&1 &
|
||||
/usr/bin/python2 ./mrc_server.py $MRC_SERVER:$MRC_PORT |& tee -a data/mrc/mrcserver.log &
|
||||
cd - >/dev/null
|
||||
|
||||
# Wait 3 seconds and check for a PID
|
||||
|
||||
@@ -4,5 +4,5 @@ MRCSERVER=$(whiptail --title "Multi Relay Chat Server Support in Mystic" --radio
|
||||
3>&1 1>&2 2>&3)
|
||||
exitstatus=$?
|
||||
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
|
||||
8
mrc-server/prompt-v7.sh
Normal file
8
mrc-server/prompt-v7.sh
Normal 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
5
mrc-server/update.sh
Executable 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-v6.sh
Normal file
75
mystic/config-v6.sh
Normal 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"
|
||||
dos2unix ${MYSTIC_DIR}/docs/ &>/dev/null
|
||||
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
|
||||
msg_ok "Correcting Linefeed for docs and Setting permissions"
|
||||
75
mystic/config-v7.sh
Normal file
75
mystic/config-v7.sh
Normal 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-v6.sh
Normal file
19
mystic/importna-v6.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
pushd ${MUTIL_DIR} &>/dev/null
|
||||
|
||||
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}"
|
||||
|
||||
popd &>/dev/null
|
||||
19
mystic/importna-v7.sh
Normal file
19
mystic/importna-v7.sh
Normal 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
|
||||
12
mystic/info-v6.sh
Normal file
12
mystic/info-v6.sh
Normal 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}
|
||||
12
mystic/info-v7.sh
Normal file
12
mystic/info-v7.sh
Normal 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}
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MYSTIC_DIR="$1"
|
||||
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mis-start.sh > ${MYSTIC_DIR}/mis-start
|
||||
chmod +x ${MYSTIC_DIR}/mis-start
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mis-stop.sh > ${MYSTIC_DIR}/mis-stop
|
||||
chmod +x ${MYSTIC_DIR}/mis-stop
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mis.service > /etc/systemd/system/mis.service
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -1,10 +1,19 @@
|
||||
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"
|
||||
apt install -y unrar-free python3 python2 libpython2.7 zip rar &>/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
|
||||
apt install -y python3 python2 &>/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
|
||||
mkdir -p $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null
|
||||
pushd $MSTEMPDIR/mystic-${MYSTIC_VER} &>/dev/null
|
||||
@@ -20,12 +29,17 @@ chmod +x install &>/dev/null
|
||||
popd &>/dev/null
|
||||
msg_ok "Finisched ${APP} Installation"
|
||||
|
||||
pushd ${MYSTIC_DIR} &>/dev/null
|
||||
apt install -y patch &>/dev/null
|
||||
patch -p0 -i $MSTEMPDIR/mystic/mystic/patches/mutil-ini-echounlink.patch &>/dev/null
|
||||
popd &>/dev/null
|
||||
|
||||
msg_info "Creating ${APP} und setting Permissions in ${MYSTIC_DIR}"
|
||||
if [ -z "${GROUP}" ]; then
|
||||
groupadd mystic &>/dev/null
|
||||
fi
|
||||
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
|
||||
chown mystic:mystic -R ${MYSTIC_DIR} &>/dev/null
|
||||
find ${MYSTIC_DIR} -name '*.txt' -type f -exec dos2unix {} \; &>/dev/null
|
||||
@@ -45,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_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
|
||||
chmod +x ${MYSTIC_DIR}/mis-start
|
||||
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" $MSTEMPDIR/mystic/mystic/mis-stop.sh > ${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!@MID@!${MID}!g" $MSTEMPDIR/mystic/mystic/mystic.conf.tmpfiles.d > /etc/tmpfiles.d/mystic.conf
|
||||
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)"
|
||||
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
88
mystic/install-v7.sh
Normal 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-v6.sh
Normal file
19
mystic/mailin-v6.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
pushd ${MUTIL_DIR} &>/dev/null
|
||||
|
||||
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}"
|
||||
|
||||
popd &>/dev/null
|
||||
19
mystic/mailin-v7.sh
Normal file
19
mystic/mailin-v7.sh
Normal 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-v6.sh
Normal file
19
mystic/mailout-v6.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
pushd ${MUTIL_DIR} &>/dev/null
|
||||
|
||||
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}"
|
||||
|
||||
popd &>/dev/null
|
||||
19
mystic/mailout-v7.sh
Normal file
19
mystic/mailout-v7.sh
Normal 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
|
||||
18
mystic/maint-v6.sh
Normal file
18
mystic/maint-v6.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
pushd ${MUTIL_DIR} &>/dev/null
|
||||
|
||||
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}"
|
||||
popd &>/dev/null
|
||||
19
mystic/maint-v7.sh
Normal file
19
mystic/maint-v7.sh
Normal 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
|
||||
1
mystic/mystic.conf.tmpfiles.d
Normal file
1
mystic/mystic.conf.tmpfiles.d
Normal file
@@ -0,0 +1 @@
|
||||
d /run/user/@MID@ 0755 mystic mystic -
|
||||
11
mystic/patches/mutil-ini-echounlink.patch
Normal file
11
mystic/patches/mutil-ini-echounlink.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- mutil.ini.orig 2024-04-20 17:45:32.524198915 +0200
|
||||
+++ mutil.ini 2024-04-20 17:46:33.856286306 +0200
|
||||
@@ -80,7 +80,7 @@
|
||||
PackUserBase = false
|
||||
AutoHatch = false
|
||||
EchoNodeTracker = false
|
||||
-
|
||||
+ EchoUnlink = false
|
||||
|
||||
; Set this value if you want to run mutil from a directory other than
|
||||
; the root Mystic directory or the mysticbbs environment variable:
|
||||
13
mystic/prompt-v7.sh
Normal file
13
mystic/prompt-v7.sh
Normal 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
3
mystic/python_ver.py
Normal file
@@ -0,0 +1,3 @@
|
||||
import sys
|
||||
info = sys.version_info
|
||||
print(str(info.major) + "." + str(info.minor))
|
||||
5
mystic/update.sh
Executable file
5
mystic/update.sh
Executable 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
0
spellcheck/config-v6.sh
Normal file
0
spellcheck/config-v7.sh
Normal file
0
spellcheck/config-v7.sh
Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user