#!/bin/sh wcAEGIS_BIN='/opt/bolemo/scripts/aegis' wcPRT_URL='https://raw.githubusercontent.com/bolemo/aegis/master/data/net-protocols.csv' wcDAT_DIR='/www/bolemo/aegis_data'; wcPRT_PTH="$wcDAT_DIR/net-protocols.csv" wcUCI='/sbin/uci -qc /opt/bolemo/etc/config' wcLHTTPD_CONF='/etc/lighttpd/conf.d' wcLHTTPD_WC_CONF="$wcLHTTPD_CONF/31-aegis.conf" if [ $QUERY_STRING ]; then CMD=$(echo "$QUERY_STRING"|/bin/sed 's/cmd=\([^&]*\).*/\1/') ARG=$(echo "$QUERY_STRING"|/bin/sed 's/.*arg=\([^&]*\)/\1/') else CMD=$1 ARG=$2 fi init() { $wcUCI import aegis_web << EOF package aegis_web config subsection 'log' EOF $wcUCI aegis_web commit [ -r "$wcPRT_PTH" ] && [ $(/bin/date -d $(($(date +%s)-$(date -r $wcPRT_PTH +%s))) -D %s +%s) -lt 1296000 ] && return [ -d "$wcDAT_DIR" ] || mkdir $wcDAT_DIR /usr/bin/wget -qO- --no-check-certificate $wcPRT_URL >$wcPRT_PTH } 2>/dev/null postinstall() { if test -d "$wcLHTTPD_CONF" && ! test -e "$wcLHTTPD_WC_CONF"; then cat >/opt/bolemo/etc/lighttpd_aegis_web.conf <<'EOF' $HTTP["url"] =~ "/bolemo/" { cgi.assign = ( "aegis_web.cgi" => "/opt/bolemo/www/cgi-bin/aegis_web.cgi" ) } EOF /bin/ln -sfn /opt/bolemo/etc/lighttpd_aegis_web.conf "$wcLHTTPD_WC_CONF" /etc/init.d/lighttpd restart fi } uninstall() { /bin/rm -f /opt/bolemo/etc/config/aegis_web /bin/rm -f /tmp/aegis_web /bin/rm -rf "$wcDAT_DIR" /bin/rm -rf "$wcLHTTPD_WC_CONF" } 2>/dev/null aegis_env() { eval "$($wcAEGIS_BIN _env)"; } # source environment we need from aegis status() { aegis_env set -- $($wcAEGIS_BIN _status) eval "_CK=$1 _DNA=$2 _DIR=$3 _ABLC=$4 _AWLC=$5 _WBLC=$6 _WWLC=$7 _TBLC=$8 _TWLC=$9 _WAN=${10} _TUN=${11} _WINET=${12} _TINET=${13} _ONFO=${14} _ODNA=${15} _OWAN=${16} _OWINET=${17} _OTUN=${18} _OTINET=${19}" _OFROM=$((_ONFO&INFO_FROM_MASK)) _ODIR=$(((_ONFO>>INFO_DIR_SHIFT)&INFO_DIR_MASK)) _OIPT=$(((_ONFO>>INFO_IPT_SHIFT)&INFO_IPT_MASK)) _OLOGD=$(((_ONFO>>INFO_LOGD_SHIFT)&INFO_LOGD_MASK)) _PB=false _UNSET=false _DOWN=false [ $((_CK&CK_SET)) -gt $CK_UNSET ] && [ $((_CK&CK_SET)) -lt $CK_SETOK ] && _PB=true [ $((_CK&CK_SND)) -eq 0 ] && _DOWN=true if [ $_CK -le $CK_UNSET ]; then _UNSET=true elif [ $_CK -le $CK_SET ]; then : # Down, already known elif [ $((_CK&CK_DPB)) -lt $CK_UPOK ]; then _PB=true elif [ $((_CK&CK_DPB)) -gt $CK_DOK ]; then _PB=true fi [ $((_CK&CK_DLOGD)) -ne 0 ] && _PB=true echo "

Status @ $(/bin/date +'%Y-%m-%d %X') (router time)

" if $_UNSET; then if $_PB; then echo '