File: //usr/sbin/aibolitupdate
#!/bin/bash
#set -x
tmparch="$(mktemp --tmpdir=/tmp tmparchXXXXXXXXXXXXXXXXXX)"
UPDATE_CONFIG='/etc/aibolitupdate/aibolitupdate.conf'
UPDATE_FILES=(
"ai-bolit/ai-bolit-hoster.php"
"ai-bolit/AIBOLIT-WHITELIST.db"
"ai-bolit/.aurlignore"
)
WDIR='/usr/local/share/aibolitupdate'
function ai_exit() {
if [ "X${1}" == "X" ]; then
code=0
else
code="${1}"
fi
rm -f "${tmparch}"
exit "${code}"
}
if [ -e "${UPDATE_CONFIG}" ]; then
source "${UPDATE_CONFIG}"
fi
function ai_get() {
curl "${UPDATE_URL}" \
--silent \
--connect-timeout 30 \
--output "${tmparch}" \
--fail
code="$?"
return $code
}
function ai_extract() {
unzip -j -o "${tmparch}" "${UPDATE_FILES[@]}" -d "${WDIR}"
}
function ai_chmod() {
find "${WDIR}" -print0 | xargs -0 chmod 0440
find "${WDIR}" -print0 | xargs -0 chown root:root
}
if [ ! -d "${WDIR}" ]; then
echo "${WDIR} doesn't exist"
ai_exit 1
fi
if [ "X${UPDATE_URL}" == "X" ]; then
echo "Please provide a valid update link"
ai_exit 1
fi
aiupdate="$(ai_get)"
if [ $? -ne 0 ]; then
echo "${aiupdate}"
ai_exit 1
fi
aiextract="$(ai_extract)"
aiextract_exit_code="$?"
if [ "${aiextract_exit_code}" -ne 0 ] && [ "${aiextract_exit_code}" -ne 11 ]; then
echo "${aiextract}"
ai_exit 1
fi
ai_exit