39 lines
982 B
Bash
Executable File
39 lines
982 B
Bash
Executable File
#!/bin/bash
|
|
|
|
cd $(dirname $0)/conf-server/
|
|
|
|
ScriptDir=$(pwd)/scripts/
|
|
SondeFile=$(pwd)/sonde.cfg
|
|
source service.cfg
|
|
|
|
[[ "${Crypted}" == "yes" ]] && NcCmd="cryptcat -k ${LocalPassword} -l ${LocalIp} -p ${LocalPort} " || NcCmd="nc -l ${LocalIp} ${LocalPort}"
|
|
|
|
while true
|
|
do
|
|
#coproc cryptcat -k ${LocalPassword} -l ${LocalIp} -p ${LocalPort}
|
|
coproc eval ${NcCmd}
|
|
while read -r cmd; do
|
|
logger "Running $cmd"
|
|
cpt=0
|
|
while read DATA
|
|
do
|
|
Sonde=$(echo ${DATA}| cut -d"#" -f1)
|
|
Exec=$(echo ${DATA}| cut -d"#" -f2)
|
|
RealCmd=$(echo ${cmd} | cut -d"#" -f1)
|
|
ArgCmd=$(echo ${cmd} | cut -d"#" -f2)
|
|
if [[ "${RealCmd}" == "$Sonde" ]]
|
|
then
|
|
logger "Exec $Exec $Arg $cpt"
|
|
[ "$1" == '-d' ] && echo "############ Exec $Exec $Arg $cpt" 1>&2
|
|
bash ${ScriptDir}/${Exec} $ArgCmd
|
|
cpt=$((cpt+1))
|
|
break
|
|
fi
|
|
done < ${SondeFile}
|
|
[[ "${cpt}" -eq 0 ]] && logger "You Failed $Sonde $Exec $Arg"
|
|
|
|
done <&"${COPROC[0]}" >&"${COPROC[1]}"
|
|
|
|
done
|
|
|