HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: /volume1/@appstore/AntiVirus/scripts/clamav.sh
#!/bin/sh

PKG_DIR="/var/packages/AntiVirus"

CLAMAV_URL="current.cvd.clamav.net"
CLAMAV_DB_CLD="${PKG_DIR}/target/engine/clamav/var/lib/daily.cld"
CLAMAV_DB_CVD="${PKG_DIR}/target/engine/clamav/var/lib/daily.cvd"
CLAMAV_SIGTOOL="${PKG_DIR}/target/engine/clamav/bin/sigtool"

STATUS_UPDATED="updated"
STATUS_OUTDATED="outdated"
STATUS_CHECKFAIL="updatecheckfail"

check_update()
{
	local new_ver
	local old_ver
	local db

	if [ -f "${CLAMAV_DB_CLD}" ]; then
		db="${CLAMAV_DB_CLD}"
	fi

	if [ -f "${CLAMAV_DB_CVD}" ]; then
		db="${CLAMAV_DB_CVD}"
	fi

	if [ -z "${db}" ]; then
		echo ${STATUS_OUTDATED}
		return
	fi
	isNumRegex='^[0-9]+$'
	new_ver=`nslookup -query=txt ${CLAMAV_URL} |grep text | awk 'BEGIN {FS=":"} {print $3}'`
	old_ver=`${CLAMAV_SIGTOOL} -i "${db}" 2>/dev/null | grep Version | awk 'BEGIN {FS=": "} {print $2}'`

	if ! [[ ${new_ver} =~ ${isNumRegex} ]] || ! [[ ${old_ver} =~ ${isNumRegex} ]]; then
		echo ${STATUS_CHECKFAIL}
		return
	elif [ "${new_ver}" -gt "${old_ver}" ]; then
		echo ${STATUS_OUTDATED}
		return
	fi

	echo ${STATUS_UPDATED}
}

case "$1" in
	check_update)
		check_update
		;;
	*)
		echo "Usage: $0 {check_update}" >&2
		exit 1
		;;
esac