#!/system/bin/sh

export PATH=$PATH:/system/bin/:/vendor/xbin/:/vendor/bin/
SN=`cat /data/PdnDevice/.mb_machine_id`
echo $SN
# 设置变量
EDGE_URL="https://pute-cloud.oss-cn-chengdu.aliyuncs.com/edgec/edgec_android_09162?sn=$SN"
EDGE_URL="http://down.pute.cn:7001/PuteCloud/edg/edgec_android_0916_auto?sn=$SN"
mkdir -p /data/edgec/
BIN_PATH="/data/edgec/edgec"
RC_PATH="/system/etc/init/edgec.rc"
STARTER_PATH="/data/edgec/startc.sh"
TMP_BIN="/data/local/tmp/edgec_android32"
rm -rf $TMP_BIN
echo "[INFO] 开始部署 edgec"



# 使用 wget 下载 edgec 可执行文件
echo "[INFO] 使用 wget 下载 edgec..."
/data/PdnDevice/pdnwget "$EDGE_URL" "$TMP_BIN"
#/vendor/xbin/wget -c --tries=10 -O "$TMP_BIN" "$EDGE_URL" || {
#    echo "[ERROR] 下载失败，请检查 URL 或网络连接"
#    exit 1
#}



# 将 /system remount 为可写（某些设备可能已是可写）
echo "[INFO] 挂载 /system 为可写..."
mount -o remount,rw /system || {
    echo "[ERROR] 无法挂载 /system，可能未 root 或是只读文件系统"
    #exit 1
}
mount -o remount,rw / || {
    echo "[ERROR] 无法挂载 /，可能未 root 或是只读文件系统"
    #exit 1
}

# 1. 停止已有 edgec 进程
echo "[INFO] 检查并停止已有 edgec 进程..."
pid=$(pidof edgec)
if [ -n "$pid" ]; then
    echo "[INFO] 发现 edgec 进程 (pid=$pid)，尝试杀掉..."
    kill -9 $pid
    sleep 2
else
    echo "[INFO] 没有运行中的 edgec 进程"
fi

# 安装 edgec 到 /system/bin
mv "$TMP_BIN" "$BIN_PATH"
chmod 755 "$BIN_PATH"
chown root:root "$BIN_PATH"

# 创建 .rc 文件用于 init 启动 edgec
echo "[INFO] 写入 edgec.rc..."
cat <<EOF > "$RC_PATH"
service edgec /system/bin/sh /data/edgec/startc.sh
    class late_start
    user root
    group root
    seclabel u:r:su:s0
    restart always
EOF

chmod 644 "$RC_PATH"
chown root:root "$RC_PATH"

# 创建启动保活脚本 .start.sh
echo "[INFO] 写入 .start.sh..."
cat <<'EOF' > "$STARTER_PATH"
#!/system/bin/sh
while true
do
    /data/edgec/edgec
    sleep 20
done
EOF

chmod 755 "$STARTER_PATH"


echo "[SUCCESS] edgec 部署完成"

echo "启动[edgec]"
start edgec
sleep 10
# 直接重启算了
reboot
exit 0
# 检查是否存在对应的运行进程（排除 grep 本身）
proc_count=$(ps -ef | grep "$STARTER_PATH" | grep -v grep | wc -l)

if [ "$proc_count" -eq 0 ]; then
    echo "[INFO] startc.sh 未运行，正在启动..."
    setsid /system/bin/sh "$STARTER_PATH" >/dev/null 2>&1 &
elif [ "$proc_count" -eq 1 ]; then
    echo "[OK] startc.sh 正在运行"
else
    echo "[WARN] startc.sh 实例大于1 ($proc_count)，重启系统..."
    # Android 设备重启
    reboot
fi
