#!/bin/bash
set -eu
echo "$0 $@ [$$] START" >&2
if [ "${1:-}" = "--help" ]; then
	echo 'Info: Поиск майнеров на ноде'
	echo 'Usage:'
	echo 'Example:'
	exit 0
fi

. /opt/fox_node/__node_config
if [ "${NODE_CATEGORY:-}" = demo ] || [ "${NODE_CATEGORY:-}" = parking ]; then
	date "+%Y-%m-%d %H:%M:%S"

	# [] - чтобы греп сам себя не находил
	pattern='[x]mrig'
	pattern+='\|[f]ortune1coind'
	pattern+='\|[m]inerd'
	pattern+='\|[n]heqminer_cpu'
	pattern+='\|[b]fgminer'
	pattern+='\|[m]inergate'
	pattern+='\|[w]itnet-raw'
	pattern+='\|[b]ifrost-node'
	pattern+='\|[p]hala-node'
	pattern+='\|[c]puminer-sse2'
	pattern+='\|[x]uirig'
	pattern+='\|[x]mr-stak-rx'
	pattern+='\|[S]RBMiner-MULTI'
	pattern+='\|[s]polessatelc'
	pattern+='\|[v]erus-solver'
	pattern+='\|[b]rainflayer'
	pattern+='\|[b]rain12words.py'

	# skip strongbash034
	for ct in $(vzps ax -E | grep "$pattern" | awk '{ print $1 }' | sort -u); do
		echo $ct
		set -o pipefail
		read -r ct vm_name state type ip host <<< $(vm list | grep $ct)
		set +o pipefail

		echo "BLOCK $ct $vm_name $ip $host"
		/usr/sbin/vzctl stop "$ct"

		set -o pipefail
		txt="Обнаружен miner! $ct VPS остановлена! vm: $(vm list | grep $ct)"
		set +o pipefail

		/opt/fox_utils/fox_alarm "$txt"
	done
fi

echo "$0 $@ [$$] SUCCESS" >&2
exit 0
