infra/pi/wifi
2024-10-26 01:14:17 +02:00

124 lines
4.3 KiB
Bash

#!/bin/bash
### BEGIN INIT INFO
# Provides: wificonn
# Required-Start: wpa_supplicant dhclient
# Required-Stop: wpa_supplicant dhclient
# Default-Start: 0 1 2 3 4 5 6
# Default-Stop:
# Short-Description: Start wificonn
# Description: Start wificonn
### END INIT INFO
# -> /etc/init.d/wifi
# to be replaced by architecture similar to pi-purple
# wificonn STARTER
case "$1" in
"start")
# Ensure junk from previous instances is gone!
sleep 10
killall revpfw3 ssh
kill -0 $(cat /etc/serverpid) && sleep 60 && exit 20
echo -n "$$" > /etc/serverpid
# Start a thread to make sure the internet connectivity is NEVER lost!
(
OFF=0
while true; do
# Wait 0.5 minutes
sleep 300
if killall -0 revpfw3 > /dev/null 2>&1 ; then
OFF=0
else
if [[ $OFF = 1 ]] ; then
reboot
fi
#OFF=1
fi
done
) &
echo -n " $!" >> /etc/serverpid
(
OFF=0
while true; do
# Wait 0.5 minutes
sleep 300
if ping -c 1 tudbut.de > /dev/null 2>&1 ; then
OFF=0
else
if [[ $OFF = 1 ]] ; then
reboot
fi
OFF=1
fi
done
) &
echo -n " $!" >> /etc/serverpid
# no dont do that
## # Start wificonn service
## /bin/wificonn
# start dhclient instead
#(cd $(cat /etc/server_dir); while true; do java -jar $(cat /etc/server_jar); done) &
# Wait 5 seconds
sleep 5
# Start a thread to make sure the important portfws are running
(
while true ; do
echo Starting remote revpfw
echo "echo STARTING; killall revpfw3 && echo KILLED; sleep 2" | ssh -o StrictHostKeyChecking=no root@tudbut.de
#echo "cd server ; revpfw3 server 25565 _____ & echo STARTED MCS" | ssh -o StrictHostKeyChecking=no root@tudbut.de &
echo "cd server ; revpfw3 server 23 _____ & echo STARTED SSH" | ssh -o StrictHostKeyChecking=no root@tudbut.de &
echo "cd server ; revpfw3 server 81 _____ & echo STARTED WEB" | ssh -o StrictHostKeyChecking=no root@tudbut.de &
echo "cd server ; revpfw3 server 6667 _____ & echo STARTED IRC" | ssh -o StrictHostKeyChecking=no root@tudbut.de &
echo Wait 5 seconds for the portfw servers to start up
sleep 5
echo Connect to portfw servers
#revpfw3 client tudbut.de 25565 localhost 25565 _____ &
#PID1="$!"
PID1=1
revpfw3 client tudbut.de 23 localhost 22 _____ &
PID2="$!"
revpfw3 client tudbut.de 81 localhost 80 _____ &
PID3="$!"
revpfw3 client tudbut.de 6667 localhost 6667 _____ &
PID4="$!"
echo Wait 3 seconds for the connections to form
sleep 3
echo Start the IRC bots
ircbots
echo Wait 0.5 seconds for the IRC bots to start up
sleep 0.5
# Ensure all services are running
while kill -0 $PID1 && kill -0 $PID2 && kill -0 $PID3 && kill -0 $PID4 ; do
# Wait 1 second to not stress CPU too much
sleep 1
done
# Wait 1 second
sleep 1
kill $PID2 $PID3 $PID4 # $PID1
done
) &
echo -n " $!" >> /etc/serverpid
# bash -c 'cd ~www/cooking && python3 -m http.server 6003' &
# while true; do revpfw3 client 8b8t.xyz 6003 localhost 6003 _____ ; sleep 3 ; done &
#sleep 30
#discordirc
while true; do sleep 10; done
;;
"stop")
killall revpfw3
# Wait 2 seconds
sleep 1
kill $(cat /etc/serverpid)
sleep 5
killall -9 revpfw3
kill -9 $(cat /etc/serverpid)
killall /etc/init.d/wifi
;;
esac & disown