#!/bin/sh /etc/rc.common

USE_PROCD=1
START=99

CONF="uuplugin"
PROG="/var/tmp/uu/uuplugin"
UU_CONF="/var/tmp/uu/uu.conf"
UU_INFO="/var/tmp/uu/h3c_info"
uurl="https://router.uu.163.com/api/plugin?type=h3c-nx30pro"
SN=$(ip addr show br-lan | grep "link/ether" | awk '{print $2}')

start_service() {
        config_load "$CONF"
	local enabled 
	config_get_bool enabled "$CONF" "enabled" "0"
	[ "$enabled" -eq "1" ] || return 1
	if [ "$(uname -m)" != "aarch64" ]; then
          echo "当前架构不符合，无法安装！此luci-app-uugamebooster安装包仅支持aarch64架构！"
          uci -q set uuplugin.@uuplugin[0].enabled=0
          exit 1
        fi
        local model
	config_get model "uuplugin" "model" "OpenWrt"
	mkdir -p /var/tmp/uu
	echo "productname=$model" >$UU_INFO
	echo "ethaddr=$SN" >>$UU_INFO
	echo "hardversion=VER.A" >>$UU_INFO
	echo "bootversion=100" >>$UU_INFO
	echo "manucode=$SN" >>$UU_INFO
	if [ ! -e "$PROG" ] || [ ! -e "$UU_CONF" ] ; then
	  echo "开始下载主程序..."
	  UU_url=$(curl -L -s -k -H "Accept:text/plain" "$uurl" | wget --header=Accept:text/plain -q --no-check-certificate -O - "$uurl" | curl -s -k -H "Accept:text/plain" "$uurl")
	  [ -z "$UU_url" ] && UU_url="http://uu.gdl.netease.com/uuplugin/h3c-nx30pro/v6.3.12/uu.tar.gz,059dda9bf2803fe3f32b1d48e6b5c6d3"
	  plugin_url=$(echo "$UU_url" | cut  -d ',' -f 1)
	  plugin_md5=$(echo "$UU_url" | cut  -d ',' -f 2)
	  echo "下载$plugin_url 到/tmp/uu.tar.gz"
	  curl -L -s -k "$plugin_url" -o /tmp/uu.tar.gz >/dev/null 2>&1 || wget -q --no-check-certificate "$plugin_url" -O /tmp/uu.tar.gz >/dev/null 2>&1 || curl -s -k "$plugin_url" -o /tmp/uu.tar.gz >/dev/null 2>&1 
	  download_md5=$(md5sum /tmp/uu.tar.gz | awk '{print $1}')
	  if [ "$download_md5" != "$plugin_md5" ];then
            echo "下载的/tmp/uu.tar.gz不完整！"
            rm -rf /tmp/uu.tar.gz
            return 1
          else
            echo "下载完成，开始解压到$PROG"
            tar zxf /tmp/uu.tar.gz -C /var/tmp/uu
          fi
	  
	fi
	chmod u+x $PROG
        uu_ver=$($PROG -v | awk -F 'version:' '{print $2}' | tr -d ' \n')
        echo "开始启动 ${PROG}-${uu_ver}"
	procd_open_instance uuplugin

	procd_set_param command "$PROG" "$UU_CONF"

	procd_set_param limits core="unlimited"
	procd_set_param respawn
	procd_set_param stdout 1
	procd_set_param stderr 1

	procd_close_instance
}

reload_service() {
	stop
	start
}

service_triggers() {
	procd_add_reload_trigger uuplugin
}

