PLNK/resources/gonk.sh

81 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
echo "Starting pre-requisite services..."
service cron start
echo "Starting Gonk node..."
echo " ______
/______\\
| [==] |
|______|
\\______/
| | |
|/\|/\|"
if [ -f /var/gonk ]; then
echo "Gonk has already been provisioned"
service fail2ban start
else
echo "Running first time provisioning..."
echo " Adding gonk user..."
useradd -d /var/lib/asterisk/ -c "Gonk asterisk user" -r -s /sbin/nologin gonk
echo " Setting permissions..."
chown -R gonk:gonk /var/lib/asterisk
chown -R gonk:gonk /var/log/asterisk
chown -R gonk:gonk /var/spool/asterisk
echo " Pulling config files for the first time..."
curl -s https://ap5.gonknet.org/asterisk/$HOSTNAME/$GONK_KEY > /etc/asterisk/asterisk.conf
curl -s https://ap5.gonknet.org/asterisk/pjsip/$HOSTNAME/$GONK_KEY > /etc/asterisk/pjsip.conf
curl -s https://ap5.gonknet.org/asterisk/modules/$HOSTNAME/$GONK_KEY > /etc/asterisk/modules.conf
curl -s https://ap5.gonknet.org/asterisk/logger/$HOSTNAME/$GONK_KEY > /etc/asterisk/logger.conf
curl -s https://ap5.gonknet.org/asterisk/extensions/$HOSTNAME/$GONK_KEY > /etc/asterisk/extensions.conf
sed -i "s/##EXTERNAL_IP##/$(curl -s https://ipv4.myip.wtf/text)/g" /etc/asterisk/pjsip.conf
echo " Setting up config updater cron..."
echo "26 * * * * gonk /usr/bin/reload" > /etc/cron.d/reload
echo " Setting up VOIPBL..."
echo " Downloading script..."
curl -s https://gonknet.org/static/voipbl.sh > /usr/bin/voipbl.sh
chmod 700 /usr/bin/voipbl.sh
chmod +x /usr/bin/voipbl.sh
echo " Setting up VOIPBL cron..."
echo "13 */4 * * * root /usr/bin/voipbl.sh" > /etc/cron.d/voipbl
echo " Setting up fail2ban"
curl -s https://ap5.gonknet.org/f2b/asterisk/$HOSTNAME/$GONK_KEY > /etc/fail2ban/jail.d/asterisk.conf
curl -s https://ap5.gonknet.org/f2b/voipbl/$HOSTNAME/$GONK_KEY > /etc/fail2ban/action.d/voipbl.conf
rm /etc/fail2ban/jail.d/defaults-debian.conf
asterisk -U gonk -G gonk
sleep 2
kill -9 -- $(cat /var/run/asterisk/asterisk.pid)
service fail2ban start
echo " Running voipbl for the first time"
/usr/bin/voipbl.sh
touch /var/gonk
fi
echo "Starting Asterisk..."
asterisk -U gonk -G gonk -f