release verison v0.5

This commit is contained in:
Mario Fetka 2024-05-11 12:54:05 +02:00
parent 1eed5a6b1f
commit 50f20128a1
83 changed files with 19 additions and 1265 deletions

View File

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

View File

View File

View File

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

View File

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

View File

@ -1,31 +0,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/patches/gccversion-345.patch &>/dev/null
patch -p0 -i $MSTEMPDIR/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
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
apt purge -y gcc g++ cpp &>/dev/null
apt install -y gcc g++ cpp &>/dev/null
msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
fi

View File

@ -1,31 +0,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/patches/gccversion-345.patch &>/dev/null
patch -p0 -i $MSTEMPDIR/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
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
apt purge -y gcc g++ cpp &>/dev/null
apt install -y gcc g++ cpp &>/dev/null
msg_ok "Setting up ${APP} cryptlib for ssh/ssl (be patient compiling cryptlib)"
fi

View File

@ -1,8 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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

View File

View File

View File

@ -1,18 +0,0 @@
echo "" >> ${DBP_INFO}
echo "To activate the Disconnected-by-peer scripts for Mystic" >> ${DBP_INFO}
echo "you have to activate it in the Mystic Event Editor" >> ${DBP_INFO}
echo "Below is a suggested configuration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Active | Description | Event Type | Exec 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 "Bevore activating any services you have to configure the ${MYSTIC_DIR}/dbp.ini file to your needs and installed services" >> ${DBP_INFO}
echo "then you can start the ./cron -f dbp.ini as the mystic user" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}

View File

@ -1,18 +0,0 @@
echo "" >> ${DBP_INFO}
echo "To activate the Disconnected-by-peer scripts for Mystic" >> ${DBP_INFO}
echo "you have to activate it in the Mystic Event Editor" >> ${DBP_INFO}
echo "Below is a suggested configuration" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "Active | Description | Event Type | Exec 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}

View File

@ -1,24 +0,0 @@
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

View File

@ -1,24 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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

View File

View File

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

View File

View File

@ -1,21 +0,0 @@
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 enabel 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

View File

@ -1,21 +0,0 @@
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

View File

@ -1,53 +0,0 @@
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

View File

@ -1,53 +0,0 @@
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

View File

@ -1,9 +0,0 @@
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

View File

@ -1,9 +0,0 @@
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

View File

@ -13,7 +13,7 @@ APP="Mystic BBS"
MSDIR="/opt/mystic"
MSTEMPDIR="/usr/local/src/mystic"
TMP_DIR=$(mktemp -d)
SCRIPT_VER="v5"
SCRIPT_VER="v6"
GROUP=$(getent group mystic)
USER=$(getent shadow mystic)

View File

@ -13,7 +13,7 @@ APP="Mystic BBS"
MSDIR="/opt/mystic"
MSTEMPDIR="/usr/local/src/mystic"
TMP_DIR=$(mktemp -d)
SCRIPT_VER="v3"
SCRIPT_VER="v5"
GROUP=$(getent group mystic)
USER=$(getent shadow mystic)
@ -83,21 +83,25 @@ if [ "${ARCH}" = "x86_64-linux-gnu" ]; then
MYSTIC_ARCH="l64"
MYSTIC_EXT="rar"
RARLAB="rar"
DOSEMU="yes"
elif [ "${ARCH}" = "i386-linux-gnu" ]; then
INIMOD_ARCH="amd32"
MYSTIC_ARCH="l32"
MYSTIC_EXT="rar"
RARLAB="rar"
DOSEMU="no"
elif [ "${ARCH}" = "aarch64-linux-gnu" ]; then
INIMOD_ARCH="arm64"
MYSTIC_ARCH="p64"
MYSTIC_EXT="zip"
RARLAB=""
DOSEMU="yes"
elif [ "${ARCH}" = "arm-linux-gnueabihf" ]; then
INIMOD_ARCH="arm32"
MYSTIC_ARCH="p32"
MYSTIC_EXT="zip"
RARLAB=""
DOSEMU="no"
else
echo "Architecture not supported: ${ARCH}"
exit 1
@ -167,8 +171,10 @@ 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 [ "$DOSEMU" = "yes" ]; then
source $MSTEMPDIR/mystic/dosemu2/prompt-${SCRIPT_VER}.sh
fi
#==============================================================================================================
@ -188,8 +194,10 @@ source $MSTEMPDIR/mystic/ip2location/install-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/install-${SCRIPT_VER}.sh
# Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/install-${SCRIPT_VER}.sh
# Add Fail2ban | banip
# Add Dosemu2
if [ "$DOSEMU" = "yes" ]; then
source $MSTEMPDIR/mystic/dosemu2/install-${SCRIPT_VER}.sh
fi
#==============================================================================================================
@ -209,8 +217,10 @@ source $MSTEMPDIR/mystic/ip2location/config-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/config-${SCRIPT_VER}.sh
# Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/config-${SCRIPT_VER}.sh
# Add Fail2ban | banip
# Add Dosemu2
if [ "$DOSEMU" = "yes" ]; then
source $MSTEMPDIR/mystic/dosemu2/config-${SCRIPT_VER}.sh
fi
#==============================================================================================================
@ -239,8 +249,10 @@ source $MSTEMPDIR/mystic/ip2location/info-${SCRIPT_VER}.sh
source $MSTEMPDIR/mystic/dbp/info-${SCRIPT_VER}.sh
# Add Fail2ban | banip
source $MSTEMPDIR/mystic/fail2ban/info-${SCRIPT_VER}.sh
# Add Fail2ban | banip
# Add Dosemu2
if [ "$DOSEMU" = "yes" ]; then
source $MSTEMPDIR/mystic/dosemu2/info-${SCRIPT_VER}.sh
fi
#==============================================================================================================

View File

@ -1,8 +0,0 @@
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 youz have to add your ip2location API key and set the databse type" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

View File

@ -1,8 +0,0 @@
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

View File

@ -1,14 +0,0 @@
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

View File

@ -1,14 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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

View File

@ -1,13 +0,0 @@
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 retentiontame 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 runnign 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

View File

@ -1,13 +0,0 @@
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

View File

@ -1,30 +0,0 @@
MRC_VER="129a"
if [ $MRCCLIENT = "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 $MSTEMPDIR/pn-mrc${MRC_VER}.zip &>/dev/null
rm -rf $MSTEMPDIR/pn-mrc${MRC_VER} &>/dev/null
mkdir -p $MSTEMPDIR/pn-mrc${MRC_VER} &>/dev/null
pushd $MSTEMPDIR/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
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"
pushd $MSTEMPDIR/mystic/mrc-client &>/dev/null
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
popd &>/dev/null
systemctl daemon-reload
msg_ok "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
fi

View File

@ -1,30 +0,0 @@
MRC_VER="129a"
if [ $MRCCLIENT = "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 $MSTEMPDIR/pn-mrc${MRC_VER}.zip &>/dev/null
rm -rf $MSTEMPDIR/pn-mrc${MRC_VER} &>/dev/null
mkdir -p $MSTEMPDIR/pn-mrc${MRC_VER} &>/dev/null
pushd $MSTEMPDIR/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
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"
pushd $MSTEMPDIR/mystic/mrc-client &>/dev/null
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
popd &>/dev/null
systemctl daemon-reload
msg_ok "Installing Multi Relay Chat Systemd Start/Stop Scripts and Service File"
fi

View File

@ -1,8 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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

View File

@ -1,11 +0,0 @@
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 retentiontame 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 systmed file has been installed mrc_server.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}
fi

View File

@ -1,11 +0,0 @@
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

View File

@ -1,30 +0,0 @@
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
wget -N https://sourceforge.net/projects/mystic-relay-chat/files/mrc_${MRC_SERVER_VER}.zip -O $MSTEMPDIR/mrc${MRC_SERVER_VER}.zip &>/dev/null
rm -rf $MSTEMPDIR/mrc${MRC_SERVER_VER} &>/dev/null
mkdir -p $MSTEMPDIR/mrc${MRC_SERVER_VER} &>/dev/null
pushd $MSTEMPDIR/mrc${MRC_SERVER_VER} &>/dev/null
unzip ../mrc${MRC_SERVER_VER}.zip &>/dev/null
cp mrc_server.py ${MYSTIC_DIR}/
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"
pushd $MSTEMPDIR/mystic/mrc-server &>/dev/null
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_server-start.sh > ${MYSTIC_DIR}/mrc_server-start
chmod +x ${MYSTIC_DIR}/mrc_server-start
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_server-stop.sh > ${MYSTIC_DIR}/mrc_server-stop
chmod +x ${MYSTIC_DIR}/mrc_server-stop
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc-server.service > /etc/systemd/system/mrc-server.service
systemctl daemon-reload
popd &>/dev/null
msg_ok "Installing Multi Relay Chat Server Systemd Start/Stop Scripts and Service File"
fi

View File

@ -1,30 +0,0 @@
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
wget -N https://sourceforge.net/projects/mystic-relay-chat/files/mrc_${MRC_SERVER_VER}.zip -O $MSTEMPDIR/mrc${MRC_SERVER_VER}.zip &>/dev/null
rm -rf $MSTEMPDIR/mrc${MRC_SERVER_VER} &>/dev/null
mkdir -p $MSTEMPDIR/mrc${MRC_SERVER_VER} &>/dev/null
pushd $MSTEMPDIR/mrc${MRC_SERVER_VER} &>/dev/null
unzip ../mrc${MRC_SERVER_VER}.zip &>/dev/null
cp mrc_server.py ${MYSTIC_DIR}/
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"
pushd $MSTEMPDIR/mystic/mrc-server &>/dev/null
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_server-start.sh > ${MYSTIC_DIR}/mrc_server-start
chmod +x ${MYSTIC_DIR}/mrc_server-start
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc_server-stop.sh > ${MYSTIC_DIR}/mrc_server-stop
chmod +x ${MYSTIC_DIR}/mrc_server-stop
sed -e "s!@MYSTIC_DIR@!${MYSTIC_DIR}!g" mrc-server.service > /etc/systemd/system/mrc-server.service
systemctl daemon-reload
popd &>/dev/null
msg_ok "Installing Multi Relay Chat Server Systemd Start/Stop Scripts and Service File"
fi

View File

@ -1,8 +0,0 @@
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 Realy Chat Server Support: ${BGN}$MRCSERVER${CL}"
fi

View File

@ -1,8 +0,0 @@
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

View File

@ -1,75 +0,0 @@
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"

View File

@ -1,75 +0,0 @@
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"

View File

@ -1,19 +0,0 @@
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

View File

@ -1,19 +0,0 @@
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

View File

@ -1,12 +0,0 @@
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 stalled mystic.service" >> ${DBP_INFO}
echo "" >> ${DBP_INFO}
echo "==============================================================================================================" >> ${DBP_INFO}

View File

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

View File

@ -1,83 +0,0 @@
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 python3 python2 libpython2.7 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
if [ "${MYSTIC_EXT}" = "rar" ]; then
unrar x $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
elif [ "${MYSTIC_EXT}" = "zip" ]; then
unzip $MSTEMPDIR/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"
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 -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
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_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)"

View File

@ -1,83 +0,0 @@
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 python3 python2 libpython2.7 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
if [ "${MYSTIC_EXT}" = "rar" ]; then
unrar x $MSTEMPDIR/mys${MYSTIC_VER}_${MYSTIC_ARCH}.${MYSTIC_EXT} &>/dev/null
elif [ "${MYSTIC_EXT}" = "zip" ]; then
unzip $MSTEMPDIR/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"
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 -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
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_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)"

View File

@ -1,19 +0,0 @@
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

View File

@ -1,19 +0,0 @@
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

View File

@ -1,19 +0,0 @@
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

View File

@ -1,19 +0,0 @@
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

View File

@ -1,18 +0,0 @@
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

View File

@ -1,18 +0,0 @@
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

View File

@ -1,13 +0,0 @@
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

View File

@ -1,13 +0,0 @@
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

View File

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

View File

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

View File

@ -1,16 +0,0 @@
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 $MSTEMPDIR/mystic_spellcheck_v2.zip &>/dev/null
rm -rf $MSTEMPDIR/mystic_spellcheck_v2 &>/dev/null
mkdir -p $MSTEMPDIR/mystic_spellcheck_v2 &>/dev/null
pushd $MSTEMPDIR/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}"
fi

View File

@ -1,16 +0,0 @@
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 $MSTEMPDIR/mystic_spellcheck_v2.zip &>/dev/null
rm -rf $MSTEMPDIR/mystic_spellcheck_v2 &>/dev/null
mkdir -p $MSTEMPDIR/mystic_spellcheck_v2 &>/dev/null
pushd $MSTEMPDIR/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}"
fi

View File

@ -1,8 +0,0 @@
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

View File

@ -1,8 +0,0 @@
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