#!/bin/bash


EnNetWorkId=$(ip link show | awk '/ether/ {print $2; exit}' | sed 's/://g')

#cooper管理域名
CooperDomain="https://coopervue.wesais.com"
CooperApiDomain="https://api.wesais.com/cooper2"
CooperUser="edge"
CooperPwd="Edge123!@#QWE"

#系统设置时区
timedatectl set-timezone Asia/Shanghai

encodeUrl() {
  echo "$1" | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g'
}


#==================
#====cooper========
#===================
searchCooperDev() {
  #  检查是否注册过
  Result=$(curl "${CooperApiDomain}/sideGate/list" \
    -H 'AuthRouter: /sideDevice/side' \
    -H "Authorization: Cooper-vue-token/${CooperToken}" \
    -H "Origin: ${CooperDomain}" \
    --data-raw "page=1&size=10&is_enable=0&device_id=${EnNetWorkId}&app_id=10101" \
    --compressed)

  DeviceId=$(echo ${Result} | grep -o "${NetWorkId}")
  echo ${DeviceId}
}

setCooperToken() {
  Result=$(curl "${CooperApiDomain}/auth/account/login" \
    -H 'AuthRouter: /login?redirect=%2FsideDevice%2FsideEdit' \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H "Origin: ${CooperDomain}" \
    --data-raw "mp_id=2&user_name=edge&password=U60vpfCWCQ8HsTvRG1PDqCfHme0l2W2d%2Fm9c8glwdbGVhuYLWSfqMRDKvr
By%2F1%2FlOBxQa%2FvZZJeeTLxxja6bEu2X4j0wjEMyEbONsbTNW1o2K59Po97rYaPy8UfdcRORT9wRN%2FHqxKsPHOQGdAcacNGl%2F40U
o2t7m5xQ1PHwSig%3D" \
    --compressed)
  #  获取token
  token=$(echo ${Result} | grep -o '"token":"[^"]*' | grep -o '[^"]*$')
  CooperToken=${token}
  echo ${token}
}

addCooperDevDo() {
  dateTime=$(date "+%Y-%m-%d %H:%M:%S")
  curl "${CooperApiDomain}/sideGate/update" \
    -H 'Accept: application/json, text/plain, */*' \
    -H 'AuthRouter: /sideDevice/sideEdit' \
    -H "Authorization: auth-token/${CooperToken}" \
    -H "Origin: ${CooperDomain}" \
    --data-raw "device_type=2302&device_id=${EnNetWorkId}&device_info=${dateTime}_rk3568&device_domain=${EnNetWorkId}.edge.papa.com.cn&de
vice_type=2302&app_id=10101&dev_platform=linux/arm64/v8" \
    --compressed
}

addCooperDev() {
  #  检查是否注册过
  DeviceId=`searchCooperDev`

  if [[ -z ${DeviceId} ]]; then
    echo -e "\n====备注为:${EnNetWorkId} 的设备没在cooper注册,注册ing"
    addCooperDevDo
  else
    echo -e "\n====备注为:${EnNetWorkId} 的设备已在cooper注册"
  fi
}

  updateVersion(){
    echo -e "\n===新建配置文件：/data/edgeBox/dhproxy/config==\n"
    mkdir -pv /data/edgeBox/dhproxy/config

    echo -e "\n===配置frpc===\n"
    /data/edgeBox/installFrpc.sh

    echo -e "\n===更新PPOSMirouter版本==="
    wget  http://183.238.148.253:9091/PPOSMirouter.251010.01 && mv PPOSMirouter.251010.01  /usr/local/bin/pposmirouter && chmod 755 /usr/local/bin/pposmirouter && systemctl restart pposmirouter

    echo -e "\n===更新cooper上PPOSMirouter版本===\n"
    curl "${CooperApiDomain}/sideGate/versionSet" \
    -H 'Accept: application/json, text/plain, */*' \
    -H 'AuthRouter: /sideDevice/side' \
    -H "Authorization: auth-token/${CooperToken}" \
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H "Origin: ${CooperDomain}" \
    -H "Referer: ${CooperDomain}" \
    --data-raw "device_id=${EnNetWorkId}&dev_mirouter_ver=251010.01&dev_mirouter_image=http%3A%2F%2F183.238.148.253%3A9091%2FPPOSMirouter.251010.01"

echo -e "\n124.71.157.141 api.wesais.com\n47.110.147.31 tun.papa.com.cn">>/etc/hosts
echo -e "\n118.31.0.114 kl.papa.com.cn">>/etc/hosts
echo "* * * * * /data/task.sh >> /dev/null 2>&1
* * * * * sleep 20; /data/task.sh >> /dev/null 2>&1
* * * * * sleep 30; /data/task.sh >> /dev/null 2>&1
* * * * * sleep 40; /data/task.sh >> /dev/null 2>&1
* * * * * sleep 50; /data/task.sh >> /dev/null 2>&1
0 2 * * * /bin/sh /sbin/reboot
00 01 * * * truncate -s 0 /data/edgeBox/cmd/setRouteDo.log >> /dev/null 2>&1
00 01 * * * truncate -s 0 /var/log/syslog.log >> /dev/null 2>&1
00 01 * * * truncate -s 0 /var/log/syslog >> /dev/null 2>&1
00 01 * * * truncate -s 0 /var/log/messages >> /dev/null 2>&1
00 01 * * * truncate -s 0 /var/log/daemon.log >> /dev/null 2>&1
00 01 * * * find /var/log/kl/ -type f -name '*log' -exec truncate -s 0 {} \;>> /dev/null 2>&1
00 01 * * * find /var/log/journal/*/* -mtime +30 -type f -name '*' -exec rm -f {} \;>> /dev/null 2>&1" | crontab
  echo "====计划任务列表==="
      crontab -l
      echo -e "\n====计划任务重启===\n"
      /etc/init.d/cron restart
      echo -e "\n====边缘盒子标签添加信息 id：${EnNetWorkId}==="
  }

  fixTime(){
    echo -e "\n===修正时间：开始====\n"
    date
    ntpd -gq
    hwclock -w
    timedatectl set-timezone Asia/Shanghai
    echo -e "\n===修正时间：显示====\n"
    date
  }



exec() {
  setCooperToken
  addCooperDev
  updateVersion
  fixTime
}

#========方法调用======
exec