#!/bin/bash
# IPC - MASTERSCRIPT (OScam)
#
. /var/emu/script/functions.sh
readipccfg
[ -z $OSNAME ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
[ -z $OSVERSION ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
[ -z $OSBIN ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
[ -z $OSCFG ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
[ -z $CAMLOGS ] && clear && echo -e "\033[1;31mVariablen Konfigurationsfehler !\033[0m" && exit 1
[ -z $CRON ] && clear && echo -e "\033[1;31mIPC - Paket Konfigurationsfehler !\033[0m" && exit 1
CAMNAME="$OSNAME"
if [ ! -f "$OSBIN" ]; then
echo ""
echo -e "\e[1;31m$CAMNAME wurde deaktiviert!"
echo -e "Zum Re-aktivieren: \e[0;32mi cams\033[0m"
echo ""
exit 1
fi
function Get_OSCAMversion () {
VERFILE="/tmp/.oscam/oscam.version"
[ -n "$OSTMP" ] && VERFILE="$OSTMP/oscam.version"
OSCAMversion=$(sed -ne '/Version:.*[0-9]\.[0-9][0-9].*/p' $VERFILE 2>/dev/null|awk '{print $2,$3,$4}')
if [ -z "$OSCAMversion" ]; then
OSCAMversion=$(grep -i "Rev." $VERFILE|sed 's/Version://g'|awk '{print $1,$2,$3}')
fi
echo "$OSCAMversion" > /tmp/.oscam.version
}
# OSCam - Start
start_cam () {
_error=0
sleep 2 ********************************************************* hier eingefügt **********
if [ -n "$OSTMP" ]; then
$OSBIN -b -c $CAMCONFIGS -t $OSTMP
[ $? -ne "0" ] && _error=1
else
$OSBIN -b -c $CAMCONFIGS
[ $? -ne "0" ] && _error=1
fi
if [ $_error -ne "0" ]; then
echo "Fehler beim starten von $CAMNAME!"
else
sleep 0.5
echo "$CAMNAME : gestartet"
Get_OSCAMversion
fi
}
# OSCam - Stop
stop_cam () {
pkill $OSVERSION
sleep 2
PID="$(pgrep -x $OSVERSION)"
if [[ ! -n $PID ]] ; then
echo "$CAMNAME : beendet"
else
pkill -9 $OSVERSION
echo "$CAMNAME : gekillt"
fi
}
# Befehlsparameter
case "$1" in
start)
PID="$(pgrep -x $OSVERSION)"
if [[ ! -z $PID ]] ; then
echo "$CAMNAME : ist bereits gestartet"
else
start_cam
if [[ $CRON == 1 ]]; then
PID="$(pgrep -x cron)"
if [[ ! -z $PID ]] ; then
dummy="1"
else
echo "Cron : gestartet"
/etc/init.d/cron start > /dev/null
fi
fi
fi
;;
stop)
PID="$(pgrep -x $OSVERSION)"
if [[ ! -z $PID ]] ; then
stop_cam
if [[ $CRON == 1 ]]; then
PID="$(pgrep -x cron)"
if [[ ! -z $PID ]] ; then
echo "Cron : beendet"
/etc/init.d/cron stop > /dev/null
else
echo "Cron : ist bereits beendet"
fi
fi
else
echo "$CAMNAME : ist bereits beendet"
fi
;;
restart)
echo "$CAMNAME : restart"
stop_cam
sleep 3
start_cam
;;
conf)
if test -f $OSCFG
then
clear
echo -e "$CAMNAME-Server: \033[1;37mKonfiguration\033[0m $(date +"%d.%m.%Y %H:%M")"
echo "==============================================================================="
echo ""
echo "Lade $OSCFG zum editieren.."
sleep 2
$useEDITOR -R $OSCFG
clear
else
echo -e "\033[1;31mKeine Konfiguration vorhanden, erstelle diese unter $OSCFG!\033[0m"
fi
;;
server)
if test -f $OSSERVER
then
clear
echo -e "$CAMNAME-Server: \033[1;37mKonfiguration\033[0m $(date +"%d.%m.%Y %H:%M")"
echo "==============================================================================="
echo ""
echo "Lade $OSSERVER zum editieren.."
sleep 2
$useEDITOR -R $OSSERVER
clear
else
echo -e "\033[1;31mKeine Konfiguration vorhanden, erstelle diese unter $OSSERVER!\033[0m"
fi
;;
user)
if test -f $OSUSER
then
clear
echo -e "$CAMNAME-Server: \033[1;37mKonfiguration\033[0m $(date +"%d.%m.%Y %H:%M")"
echo "==============================================================================="
echo ""
echo "Lade $OSUSER zum editieren.."
sleep 1
$useEDITOR -R $OSUSER
echo ""
echo -en "\033[1;33mUserDB [N]euladen / []Beenden: \033[0m"
read x
case $x in
[Nn])
PID="$(pgrep -x $OSVERSION)"
kill -1 $PID
echo -en "\033[1;34mUserDB wurde neu geladen\033[0m"
;;
*)
;;
esac
else
echo -e "\033[1;31mKeine Konfiguration vorhanden, erstelle diese unter $OSUSER!\033[0m"
fi
echo ""
echo "-------------------------------------------------------------------------------"
echo ""
;;
services)
$CAMBINS/script/oscam-services.sh
;;
srvid)
$CAMBINS/script/oscam-srvid.sh
;;
help)
clear
less $CAMBINS/script/oscam-help.txt
;;
version)
$CAMBINS/script/oscam-version.sh
;;
compile)
$CAMBINS/script/oscam-compile.sh $2 $3
;;
log)
clear
echo -e "$CAMNAME-Server: \033[1;37mLog\033[0m - Abbrechen mit [Strg]+[C] $(date +"%d.%m.%Y %H:%M")"
echo "==============================================================================="
echo ""
if [ -f $CAMLOGS/$CAMNAME.log ] ; then
tail -f $CAMLOGS/$CAMNAME.log
else
echo " Keine Logdatei vorhanden." && echo ""
fi
;;
ssl)
$CAMBINS/script/oscam-ssl.sh
;;
*)
clear
echo -e "\033[1;37m$CAMNAME-Server IPC $IPCVERSION $(date +"%d.%m.%Y %H:%M")\033[0m"
echo "==============================================================================="
echo ""
echo -e "Befehlsliste: \033[1;31moscam\033[0m"
echo ""
echo -e "\033[1;37m Hilfe zu diesen Befehlen\033[0m \033[1;31mhelp\033[0m"
echo -e "\033[1;37m Version anzeigen/installieren\033[0m \033[0;37mversion\033[0m"
echo -e "\033[1;37m Start, Stop, Restart\033[0m \033[0;37mstart | stop | restart\033[0m"
echo -e "\033[1;37m Konfiguration\033[0m \033[0;37mconf | server | user\033[0m"
echo -e "\033[1;37m Services, Srvid aktualisieren\033[0m \033[0;37mservices | srvid\033[0m"
echo -e "\033[1;37m Log: Was laeuft\033[0m \033[0;37mlog\033[0m"
echo -e "\033[1;37m OScam kompilieren\033[0m \033[0;37mcompile\033[0m"
echo -e "\033[1;37m OScam SSL Zertifikat generieren\033[0m \033[0;37mssl\033[0m"
echo ""
echo "==============================================================================="
echo ""
exit 1
;;
esac
exit 0