File manager - Edit - /etc/cron.daily/phoenix-ga-updater
Back
#!/bin/bash set -eu declare -r H="$(hostname -s)" declare -r URL="http://updates.netangels.ru/phoenix-ga" declare -r USER_AGENT="GuestAgent_Updater_v0.5" declare -r WGET_BINARY="/usr/bin/wget" declare -r WGET_CMD="$WGET_BINARY -q --tries=3 --user-agent=${USER_AGENT}" declare -r CURL_BINARY="/usr/bin/curl" declare -r CURL_CMD="$CURL_BINARY -sf -L --retry 3 --user-agent ${USER_AGENT}" declare -r TEMPDIR="$(mktemp -d --tmpdir=/tmp pga_XXXXX)" trap "rm -Rf $TEMPDIR" 0 declare -r GA_BINARY="/usr/sbin/phoenix-ga" declare -r GA_TMPFILE="${TEMPDIR}/phoenix-ga" # Redirecting stdout/stderr to the remote syslog server exec 2>/dev/null exec > >(sed -u "s/^/<14>${H} ${USER_AGENT}: /g" >/dev/udp/logger.netangels.ru/1514 || exec >/dev/null) exec 2>&1 fetch() { local -r TARGET="$1" local -r OUTFILE="$2" if [[ -x "${WGET_BINARY}" ]] then $WGET_CMD -O "$OUTFILE" "${URL}/${TARGET}" || return 2 return 0 fi if [[ -x "${CURL_BINARY}" ]] then $CURL_CMD -o "$OUTFILE" "${URL}/${TARGET}" || return 2 return 0 fi echo "Not found: $WGET_BINARY or $CURL_BINARY" >&2 return 1 } # In order to spread requests to the server more equally if [[ "${1:-}" != 'now' ]] ; then sleep $[$RANDOM%300] fi declare -r CURRENT_HASH="$(md5sum $GA_BINARY | awk '{print $1}')" declare -r NEW_HASH="$(fetch agent.md5sum -)" if [[ "$NEW_HASH" == "$CURRENT_HASH" ]] ; then # Update is not necessary exit 0 fi fetch "agent" "$GA_TMPFILE" || { echo "Cannot fetch: ${URL}/agent" >&2 exit 1 } # Checking if GA_TMPFILE is a binary file if [[ "$(dd if=${GA_TMPFILE} bs=1 count=4 | base64)" != "f0VMRg==" ]] ; then echo "Not a binary file: $GA_TMPFILE" exit 1 fi # Updating chmod 750 "$GA_TMPFILE" mv -f "$GA_TMPFILE" "$GA_BINARY" pkill -f "$GA_BINARY" || true exit 0
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.29 |
proxy
|
phpinfo
|
Settings