From d4300b4ca5bb40ab63a0c211809978ff806fdcad Mon Sep 17 00:00:00 2001 From: Guillaume Astier Date: Thu, 17 Mar 2022 08:50:36 +0100 Subject: [PATCH] [UPDATE] - refact deb + generate --- .gitignore | 1 + client/conf-client/exec.sh | 32 -------- client/conf-client/functions | 76 ------------------- client/conf-client/webserver.sh | 32 -------- client/service.sh | 26 ------- .../conf/Card_10.10.10.3-1666.cfg | 4 - .../conf/Card_10.10.10.4-1666.cfg | 4 - .../etc/monithor-client/service.cfg | 7 -- .../etc/monithor-client/sonde.cfg | 8 -- generate.sh | 67 ++++++++++++++++ .../DEBIAN/control | 0 .../etc/init.d/monithor-c | 0 .../conf}/Card_10.10.10.3-1666.cfg | 0 .../conf}/Card_10.10.10.4-1666.cfg | 0 .../etc/monithor-client}/service.cfg | 0 .../etc/monithor-client}/sonde.cfg | 0 .../usr/local/bin/monithor-client | 0 .../usr/local/bin/monithor-client.d/MoniThor | 0 .../local/bin/monithor-client.d/MoniThorFnct | 0 .../bin/monithor-client.d/MoniThorWebServer | 0 .../DEBIAN/control | 0 .../etc/init.d/monithor-d | 0 .../etc/monithor-server/service.cfg | 0 .../etc/monithor-server/sonde.cfg | 0 .../usr/local/bin/monithor-server | 0 .../bin/monithor-server.d/FunctionOutput | 0 .../bin/monithor-server.d/file-present.sh | 0 server/Daemon.sh | 38 ---------- server/conf-server/scripts/FunctionOutput | 9 --- server/conf-server/scripts/file-present.sh | 12 --- server/conf-server/service.cfg | 5 -- server/conf-server/sonde.cfg | 3 - 32 files changed, 68 insertions(+), 256 deletions(-) delete mode 100755 client/conf-client/exec.sh delete mode 100644 client/conf-client/functions delete mode 100644 client/conf-client/webserver.sh delete mode 100755 client/service.sh delete mode 100644 debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.3-1666.cfg delete mode 100644 debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.4-1666.cfg delete mode 100644 debs/monithor-client_1.0-0_noarch/etc/monithor-client/service.cfg delete mode 100644 debs/monithor-client_1.0-0_noarch/etc/monithor-client/sonde.cfg create mode 100755 generate.sh rename {debs/monithor-client_1.0-0_noarch => monithor-client}/DEBIAN/control (100%) rename {debs/monithor-client_1.0-0_noarch => monithor-client}/etc/init.d/monithor-c (100%) rename {client/conf-client => monithor-client/etc/monithor-client/conf}/Card_10.10.10.3-1666.cfg (100%) rename {client/conf-client => monithor-client/etc/monithor-client/conf}/Card_10.10.10.4-1666.cfg (100%) rename {client/conf-client => monithor-client/etc/monithor-client}/service.cfg (100%) rename {client/conf-client => monithor-client/etc/monithor-client}/sonde.cfg (100%) rename {debs/monithor-client_1.0-0_noarch => monithor-client}/usr/local/bin/monithor-client (100%) rename {debs/monithor-client_1.0-0_noarch => monithor-client}/usr/local/bin/monithor-client.d/MoniThor (100%) rename {debs/monithor-client_1.0-0_noarch => monithor-client}/usr/local/bin/monithor-client.d/MoniThorFnct (100%) rename {debs/monithor-client_1.0-0_noarch => monithor-client}/usr/local/bin/monithor-client.d/MoniThorWebServer (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/DEBIAN/control (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/etc/init.d/monithor-d (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/etc/monithor-server/service.cfg (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/etc/monithor-server/sonde.cfg (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/usr/local/bin/monithor-server (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/usr/local/bin/monithor-server.d/FunctionOutput (100%) rename {debs/monithor-server_1.0-0_noarch => monithor-server}/usr/local/bin/monithor-server.d/file-present.sh (100%) delete mode 100755 server/Daemon.sh delete mode 100644 server/conf-server/scripts/FunctionOutput delete mode 100644 server/conf-server/scripts/file-present.sh delete mode 100644 server/conf-server/service.cfg delete mode 100644 server/conf-server/sonde.cfg diff --git a/.gitignore b/.gitignore index 608ec1a..4e94242 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ client/web/index.html +./build diff --git a/client/conf-client/exec.sh b/client/conf-client/exec.sh deleted file mode 100755 index 21e80c5..0000000 --- a/client/conf-client/exec.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - - -cd $(dirname $0) - -SondeFile=$(pwd)/sonde.cfg -source service.cfg -source functions -ConfFile=$1 - -[[ "${Crypted}" == "yes" ]] && NcCmd="timeout ${TimeOut} cryptcat -k ${LocalPassword} " || NcCmd="timeout ${TimeOut} nc " -while [[ ! -f /tmp/endmonitor ]] - do - if [[ -f /tmp/Monithor_${ConfFile}-tmp ]] - then - GenerateWebEnd /tmp/Monithor_${ConfFile}-tmp - sleep ${Rotation} - else - while read DATA - do - Remote=$(echo $DATA| cut -d"#" -f1| cut -d":" -f1) - Port=$(echo $DATA| cut -d"#" -f1| cut -d":" -f2) - Cmd=$(echo $DATA| cut -d"#" -f2) - Arg=$(echo $DATA| cut -d"#" -f3) - Res=$( echo -e "${Cmd}#${Arg}" | eval ${NcCmd} ${Remote} ${Port} 2> /dev/null) - Ret=$? - GenerateWeb "${Res:-5|No sonde $Cmd on serveur $Remote}" ${Cmd:-Nodata} ${Arg:-Noadata} ${Remote:-Nodata} /tmp/Monithor_${ConfFile}-tmp - done < ${ConfFile} - fi - done - - diff --git a/client/conf-client/functions b/client/conf-client/functions deleted file mode 100644 index 89f2b52..0000000 --- a/client/conf-client/functions +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -PrintRes() { - - echo "$1" - -} - - -CheckAllEnd() { - - if [[ ! -f /tmp/webmonithor ]] - then - Total=$1 - Actual=0 - for ActualFile in $(find /tmp/ -name Monithor_\*-tmp) - do - [[ ! -z $(tail -n 1 $ActualFile | grep 'End of') ]] && Actual=$((Actual + 1)) - done - - if [[ ${Total} -eq ${Actual} ]] - then - - echo ' - - - MoniThor on '${RemoteIp}' - - -MONITHOR - Date : '$(date +'%Y-%m-%d %H:%M:%S')' - - - - - - - ' > /tmp/webmonithor - - cat /tmp/Monithor_*-tmp >> /tmp/webmonithor - - echo ' - -
MoniThor Result
' >> /tmp/webmonithor - mv /tmp/webmonithor ../web/index.html - rm /tmp/Monithor_* -f - fi - fi -} - -GenerateWebEnd(){ - echo '' >> $1 - -} - -GenerateWeb(){ - - Val=$(echo $1 | cut -d"|" -f1) - Txt=$(echo $1 | cut -d"|" -f2) - Sonde=$2 - Arg=$3 - Remote=$4 - File=$5 - Color=red - [[ $Val == "0" ]] && Color=green - [[ $Val == "1" ]] && Color=yellow - - echo ' - '$Remote' '$Sonde' '$Arg' '$Val' '$Txt' ' >> ${File} - - - -} - - - - diff --git a/client/conf-client/webserver.sh b/client/conf-client/webserver.sh deleted file mode 100644 index 5c6a744..0000000 --- a/client/conf-client/webserver.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -cd $(dirname $0)/../web/ -source ../conf-client/functions -python -m SimpleHTTPServer ${1} & - - -echo ' - - MoniThor on '${RemoteIp}' - - -MONITHOR - -!!!! Initialization !!!! - -' > index.html - -while [[ ! -f /tmp/endmonitor ]] - do - if [[ ! -z $(ls -1 /tmp/ | grep Monithor_.*-tmp) ]] - then - CheckAllEnd $2 - echo INSIDE - fi - sleep 1 - - done - - - - - diff --git a/client/service.sh b/client/service.sh deleted file mode 100755 index 63d4af7..0000000 --- a/client/service.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -source $(dirname $0)/conf-client/service.cfg -source $(dirname $0)/conf-client/functions - -if [[ "$1" == "start" ]] - then - [[ -f /tmp/endmonitor ]] && rm -f /tmp/endmonitor - rm /tmp/Monitor* /tmp/webmonithor &> /dev/null - - TotalConfig=$(ls -1 ./conf-client | grep Card_.*\.cfg|wc -l) - for Conf in $(ls -1 ./conf-client | grep Card_.*\.cfg) - do - screen -dmS ${Conf} bash ./conf-client/exec.sh ${Conf} - done - screen -dmS webserver bash ./conf-client/webserver.sh ${WebPort} $TotalConfig -fi - -if [[ "$1" == "stop" ]] -then - killall python &> /dev/null - rm /tmp/Monithor* &> /dev/null - touch /tmp/endmonitor - -fi - diff --git a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.3-1666.cfg b/debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.3-1666.cfg deleted file mode 100644 index 352b702..0000000 --- a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.3-1666.cfg +++ /dev/null @@ -1,4 +0,0 @@ -10.10.10.3:1666#file#/tmp/coucou -10.10.10.3:1666#file#/tmp/nop -10.10.10.3:1666#file# -10.10.10.3:1666#NotRealSondeName#reboot diff --git a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.4-1666.cfg b/debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.4-1666.cfg deleted file mode 100644 index 8b0ba03..0000000 --- a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/conf/Card_10.10.10.4-1666.cfg +++ /dev/null @@ -1,4 +0,0 @@ -10.10.10.4:1666#file#/tmp/coucou -10.10.10.4:1666#file#/tmp/nop -10.10.10.4:1666#file# -10.10.10.4:1666#NotRealSondeName#reboot diff --git a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/service.cfg b/debs/monithor-client_1.0-0_noarch/etc/monithor-client/service.cfg deleted file mode 100644 index de5b09b..0000000 --- a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/service.cfg +++ /dev/null @@ -1,7 +0,0 @@ -RemoteIp=10.10.10.3:1666 -LocalPassword='Evil@MonitoR-666' -Crypted=no -Rotation=1 -TimeOut=2 -WebPort=80 - diff --git a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/sonde.cfg b/debs/monithor-client_1.0-0_noarch/etc/monithor-client/sonde.cfg deleted file mode 100644 index adc506f..0000000 --- a/debs/monithor-client_1.0-0_noarch/etc/monithor-client/sonde.cfg +++ /dev/null @@ -1,8 +0,0 @@ -10.10.10.3:1666#file#/tmp/coucou -10.10.10.3:1666#file#/tmp/nop -10.10.10.3:1666#file# -10.10.10.3:1666#NotRealSondeName#reboot -10.10.10.4:1666#file#/tmp/coucou -10.10.10.4:1666#file#/tmp/nop -10.10.10.4:1666#file# -10.10.10.4:1666#NotRealSondeName#reboot diff --git a/generate.sh b/generate.sh new file mode 100755 index 0000000..4403eb8 --- /dev/null +++ b/generate.sh @@ -0,0 +1,67 @@ +#!/bin/bash + + +BinNeed="dpkg-deb realpath" +Wai=$(dirname $(realpath $0)) + +usage () { + + echo "$0 + permet de générer les versions de monithor server et client en paquet debian" + exit $1 +} + +GetOut () { + [[ $1 == "pkg" ]] && echo "Le paquet $2 est nécessaire" && usage 1 +} + +CheckDep() { + for CheckBinNeed in ${BinNeed} + do + TestCheckBinNeed=$(which $CheckBinNeed) + [[ -z $TestCheckBinNeed ]] && GetOut pkg $CheckBinNeed + done +} + +GitVersion() { + + LastTag=$(git tag | sort | head -n1| sed 's/[a-Z]//g') + NewTag=${LastTag}-rebuild +} + +CpArchName() { + cp -Rf monithor-${1} /tmp/monithor-${1}_${2}_all +} + + +SedControl() { + sed -i "/^Version/s/:.*/: ${2}/g" /tmp/monithor-${1}_${2}_all/DEBIAN/control + +} + +BuildDeb(){ + echo -n "Gen monithor-${1} [$2] : " + cd /tmp/ &> /dev/null + dpkg-deb --build --root-owner-group monithor-${1}_${2}_all &> /dev/null + [[ "$?" -eq "0" ]] && echo "OK" || echo "FAILED" + +} + +CleanTemp() { + mkdir $Wai/build &> /dev/null + mv monithor-*deb $Wai/build + rm -Rf monithor-* +} + +[[ ! -z $1 ]] && usage + +CheckDep +GitVersion + +CpArchName server $NewTag +CpArchName client $NewTag +SedControl server $NewTag +SedControl client $NewTag +BuildDeb client $NewTag +BuildDeb server $NewTag +CleanTemp diff --git a/debs/monithor-client_1.0-0_noarch/DEBIAN/control b/monithor-client/DEBIAN/control similarity index 100% rename from debs/monithor-client_1.0-0_noarch/DEBIAN/control rename to monithor-client/DEBIAN/control diff --git a/debs/monithor-client_1.0-0_noarch/etc/init.d/monithor-c b/monithor-client/etc/init.d/monithor-c similarity index 100% rename from debs/monithor-client_1.0-0_noarch/etc/init.d/monithor-c rename to monithor-client/etc/init.d/monithor-c diff --git a/client/conf-client/Card_10.10.10.3-1666.cfg b/monithor-client/etc/monithor-client/conf/Card_10.10.10.3-1666.cfg similarity index 100% rename from client/conf-client/Card_10.10.10.3-1666.cfg rename to monithor-client/etc/monithor-client/conf/Card_10.10.10.3-1666.cfg diff --git a/client/conf-client/Card_10.10.10.4-1666.cfg b/monithor-client/etc/monithor-client/conf/Card_10.10.10.4-1666.cfg similarity index 100% rename from client/conf-client/Card_10.10.10.4-1666.cfg rename to monithor-client/etc/monithor-client/conf/Card_10.10.10.4-1666.cfg diff --git a/client/conf-client/service.cfg b/monithor-client/etc/monithor-client/service.cfg similarity index 100% rename from client/conf-client/service.cfg rename to monithor-client/etc/monithor-client/service.cfg diff --git a/client/conf-client/sonde.cfg b/monithor-client/etc/monithor-client/sonde.cfg similarity index 100% rename from client/conf-client/sonde.cfg rename to monithor-client/etc/monithor-client/sonde.cfg diff --git a/debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client b/monithor-client/usr/local/bin/monithor-client similarity index 100% rename from debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client rename to monithor-client/usr/local/bin/monithor-client diff --git a/debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client.d/MoniThor b/monithor-client/usr/local/bin/monithor-client.d/MoniThor similarity index 100% rename from debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client.d/MoniThor rename to monithor-client/usr/local/bin/monithor-client.d/MoniThor diff --git a/debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client.d/MoniThorFnct b/monithor-client/usr/local/bin/monithor-client.d/MoniThorFnct similarity index 100% rename from debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client.d/MoniThorFnct rename to monithor-client/usr/local/bin/monithor-client.d/MoniThorFnct diff --git a/debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client.d/MoniThorWebServer b/monithor-client/usr/local/bin/monithor-client.d/MoniThorWebServer similarity index 100% rename from debs/monithor-client_1.0-0_noarch/usr/local/bin/monithor-client.d/MoniThorWebServer rename to monithor-client/usr/local/bin/monithor-client.d/MoniThorWebServer diff --git a/debs/monithor-server_1.0-0_noarch/DEBIAN/control b/monithor-server/DEBIAN/control similarity index 100% rename from debs/monithor-server_1.0-0_noarch/DEBIAN/control rename to monithor-server/DEBIAN/control diff --git a/debs/monithor-server_1.0-0_noarch/etc/init.d/monithor-d b/monithor-server/etc/init.d/monithor-d similarity index 100% rename from debs/monithor-server_1.0-0_noarch/etc/init.d/monithor-d rename to monithor-server/etc/init.d/monithor-d diff --git a/debs/monithor-server_1.0-0_noarch/etc/monithor-server/service.cfg b/monithor-server/etc/monithor-server/service.cfg similarity index 100% rename from debs/monithor-server_1.0-0_noarch/etc/monithor-server/service.cfg rename to monithor-server/etc/monithor-server/service.cfg diff --git a/debs/monithor-server_1.0-0_noarch/etc/monithor-server/sonde.cfg b/monithor-server/etc/monithor-server/sonde.cfg similarity index 100% rename from debs/monithor-server_1.0-0_noarch/etc/monithor-server/sonde.cfg rename to monithor-server/etc/monithor-server/sonde.cfg diff --git a/debs/monithor-server_1.0-0_noarch/usr/local/bin/monithor-server b/monithor-server/usr/local/bin/monithor-server similarity index 100% rename from debs/monithor-server_1.0-0_noarch/usr/local/bin/monithor-server rename to monithor-server/usr/local/bin/monithor-server diff --git a/debs/monithor-server_1.0-0_noarch/usr/local/bin/monithor-server.d/FunctionOutput b/monithor-server/usr/local/bin/monithor-server.d/FunctionOutput similarity index 100% rename from debs/monithor-server_1.0-0_noarch/usr/local/bin/monithor-server.d/FunctionOutput rename to monithor-server/usr/local/bin/monithor-server.d/FunctionOutput diff --git a/debs/monithor-server_1.0-0_noarch/usr/local/bin/monithor-server.d/file-present.sh b/monithor-server/usr/local/bin/monithor-server.d/file-present.sh similarity index 100% rename from debs/monithor-server_1.0-0_noarch/usr/local/bin/monithor-server.d/file-present.sh rename to monithor-server/usr/local/bin/monithor-server.d/file-present.sh diff --git a/server/Daemon.sh b/server/Daemon.sh deleted file mode 100755 index 3140c06..0000000 --- a/server/Daemon.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/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 - diff --git a/server/conf-server/scripts/FunctionOutput b/server/conf-server/scripts/FunctionOutput deleted file mode 100644 index d642150..0000000 --- a/server/conf-server/scripts/FunctionOutput +++ /dev/null @@ -1,9 +0,0 @@ -Exit() { - - - Val=$(echo $1| cut -d"|" -f1) - Txt=$(echo $1| cut -d"|" -f2) - echo "$Val|$Txt" - exit $Val - -} diff --git a/server/conf-server/scripts/file-present.sh b/server/conf-server/scripts/file-present.sh deleted file mode 100644 index 1acbbea..0000000 --- a/server/conf-server/scripts/file-present.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - - -source $(dirname $0)/FunctionOutput - -File="${1}" - -[[ -z ${File} ]] && Exit "5|no argument" - - -[[ -f ${File} ]] && Exit "0|File $File exist" || Exit "2|File $File is NOT present" - diff --git a/server/conf-server/service.cfg b/server/conf-server/service.cfg deleted file mode 100644 index c30893e..0000000 --- a/server/conf-server/service.cfg +++ /dev/null @@ -1,5 +0,0 @@ -LocalIp=127.0.0.1 -LocalPort=8080 -######### -Crypted=no -LocalPassword='Evil@MonitoR-666' diff --git a/server/conf-server/sonde.cfg b/server/conf-server/sonde.cfg deleted file mode 100644 index 187d780..0000000 --- a/server/conf-server/sonde.cfg +++ /dev/null @@ -1,3 +0,0 @@ -network#ip.sh -file#file-present.sh -