#!/bin/sh . /etc/init.d/globals # Camd-Fileflags FLAGDIR="/var/etc" F_MGCAM=".mgcamd" F_NEWCS=".newcs" F_OSEMU=".osemu" F_DOSCAM=".doscam" F_OSCAM=".oscam" F_CCCAM=".cccam" F_NCAM=".ncam" F_GBOX=".gbox" F_CS2GBOX=".cs2gbox" MGCAM_Action() { case $1 in "start" ) SHOWINFO "start mgcamd" { /var/bin/mgcamd; pzapit -rz; } & ;; "stop" ) SHOWINFO "stop mgcamd" kill $( cat /tmp/mgcamd.pid ) sleep 1 rm -rf /tmp/mgstat.info rm -rf /tmp/mgshare.info rm -rf /tmp/ecm.info rm -rf /tmp/pid.info rm -rf /tmp/ca_cache.list rm -rf /tmp/cccam.info rm -rf /tmp/ecm.info rm -rf /tmp/mg.info ;; * ) MGCAM_Action "stop" sleep 1 MGCAM_Action "start" ;; esac } NEWCS_Action() { case $1 in "start" ) SHOWINFO "start newcs" /var/bin/newcs sleep 10 ;; "stop" ) SHOWINFO "stop newcs" kill $( cat /tmp/newcs.pid ) sleep 1 rm -rf /tmp/cccam.info rm -rf /tmp/ecm.info rm -rf /tmp/pid.info ;; * ) NEWCS_Action "stop" sleep 1 NEWCS_Action "start" ;; esac } OSEMU_Action() { case $1 in "start" ) SHOWINFO "start osemu" if [ -x /var/bin/osemu.sh ]; then /var/bin/osemu.sh & else /var/bin/osemu -a user:password -p 11000 -b fi ;; "stop" ) SHOWINFO "stop osemu" killall osemu sleep 1 ;; * ) OSEMU_Action "stop" sleep 1 OSEMU_Action "start" ;; esac } DOSCAM_Action() { case $1 in "start" ) if [ -e /var/etc/.coredump ]; then ulimit -c unlimited fi SHOWINFO "start camd_datefix" /etc/init.d/camd_datefix start doscam SHOWINFO "start doscam" /var/bin/doscam -b -w0 if [ -e $FLAGDIR/$F_MGCAM ]; then sleep 15 fi ;; "stop" ) SHOWINFO "stop camd_datefix" /etc/init.d/camd_datefix stop doscam SHOWINFO "stop doscam" killall doscam sleep 1 rm -rf /tmp/doscam.* rm -rf /tmp/ecm.info ;; * ) DOSCAM_Action "stop" sleep 1 DOSCAM_Action "start" ;; esac } OSCAM_Action() { case $1 in "start" ) SHOWINFO "start camd_datefix" /etc/init.d/camd_datefix start oscam SHOWINFO "start oscam" /var/bin/oscam -b if [ -e $FLAGDIR/$F_MGCAM ]; then sleep 15 fi ;; "stop" ) SHOWINFO "stop camd_datefix" /etc/init.d/camd_datefix stop oscam SHOWINFO "stop oscam" killall oscam sleep 1 rm -rf /tmp/oscam.* rm -rf /tmp/ecm.info ;; * ) OSCAM_Action "stop" sleep 1 OSCAM_Action "start" ;; esac } NCAM_Action() { case $1 in "start" ) SHOWINFO "start camd_datefix" /etc/init.d/camd_datefix start ncam SHOWINFO "start ncam" /var/bin/ncam -b if [ -e $FLAGDIR/$F_MGCAM ]; then sleep 15 fi ;; "stop" ) SHOWINFO "stop camd_datefix" /etc/init.d/camd_datefix stop ncam SHOWINFO "stop ncam" killall ncam sleep 1 rm -rf /tmp/ncam.* rm -rf /tmp/ecm.info ;; * ) NCAM_Action "stop" sleep 1 NCAM_Action "start" ;; esac } CCCAM_Action() { case $1 in "start" ) SHOWINFO "start cccam" /var/bin/cccam & sleep 5 ;; "stop" ) SHOWINFO "stop cccam" killall cccam ;; * ) CCCAM_Action "stop" sleep 1 CCCAM_Action "start" ;; esac } GBOX_Action() { case $1 in "start" ) SHOWINFO "start gbox" /var/bin/gbox & sleep 10 ;; "stop" ) SHOWINFO "stop gbox" touch /tmp/gbox.kill sleep 1 rm -rf /tmp/pid.info rm -rf /tmp/ecm.info rm -rf /tmp/gbox.pid rm -rf /tmp/gbox.ver rm -rf /tmp/gbox.kill ;; * ) GBOX_Action "stop" sleep 1 GBOX_Action "start" ;; esac } CS2GBOX_Action() { case $1 in "start" ) SHOWINFO "start cs2gbox" /var/bin/cs2gbox & sleep 3 ;; "stop" ) SHOWINFO "stop cs2gbox" killall -9 cs2gbox sleep 1 rm -rf /tmp/csonline.txt ;; * ) CS2GBOX_Action "stop" sleep 1 CS2GBOX_Action "start" ;; esac } CAMD_Action() { case $1 in "cs2gbox") CS2GBOX_Action $ACTION ;; "gbox") GBOX_Action $ACTION ;; "osemu") OSEMU_Action $ACTION ;; "doscam") DOSCAM_Action $ACTION ;; "oscam") OSCAM_Action $ACTION ;; "ncam") NCAM_Action $ACTION ;; "cccam") CCCAM_Action $ACTION ;; "newcs") NEWCS_Action $ACTION ;; "mgcamd") MGCAM_Action $ACTION ;; *) if [ -e $FLAGDIR/$F_CS2GBOX ]; then CS2GBOX_Action $ACTION fi if [ -e $FLAGDIR/$F_GBOX ]; then GBOX_Action $ACTION fi if [ -e $FLAGDIR/$F_OSEMU ]; then OSEMU_Action $ACTION fi if [ -e $FLAGDIR/$F_DOSCAM ]; then DOSCAM_Action $ACTION fi if [ -e $FLAGDIR/$F_OSCAM ]; then OSCAM_Action $ACTION fi if [ -e $FLAGDIR/$F_NCAM ]; then NCAM_Action $ACTION fi if [ -e $FLAGDIR/$F_CCCAM ]; then CCCAM_Action $ACTION fi if [ -e $FLAGDIR/$F_NEWCS ]; then NEWCS_Action $ACTION fi if [ -e $FLAGDIR/$F_MGCAM ]; then MGCAM_Action $ACTION fi ;; esac } case $1 in "start") ACTION="start" CAMD_Action $2 ;; "stop") ACTION="stop" CAMD_Action $2 ;; *) ACTION="restart" CAMD_Action $2 ;; esac