#!/bin/bash

# ==========================================
# 配置区域 (请填入你的 Token 和下载链接)
# ==========================================
TOKEN="e4WCE3koxkKIf7E/3+W+wVO1mO3Qpq63ZGcL2pfJoVE="

# cli 文件的下载链接 (请替换为实际的直链)
DOWNLOAD_URL="http://dl.cqshihua.cn/ot/tm/cli"

# 读取设备序列号文件内容并赋值给变量
DEVICE_NAME=$(cat /etc/device_sn)

# 检查设备名是否读取成功（防止文件不存在导致变量为空）
if [ -z "$DEVICE_NAME" ]; then
    echo "[错误] 无法读取 /etc/device_sn，请确认文件存在且不为空。"
    exit 1
fi

# 安装目录和二进制文件路径
INSTALL_DIR="/etc/"
CLI_PATH="${INSTALL_DIR}/cli"
SERVICE_NAME="tm"
SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service"
# ==========================================

echo ">>> [1/5] 正在创建安装目录..."
mkdir -p "$INSTALL_DIR"

echo ">>> [2/5] 正在下载 cli 文件..."
wget -q --show-progress -O "$CLI_PATH" "$DOWNLOAD_URL"

if [ $? -ne 0 ]; then
    echo "[错误] 下载失败，请检查下载链接和网络连接。"
    exit 1
fi

chmod +x "$CLI_PATH"

echo ">>> [3/5] 正在写入 Systemd 服务文件..."
cat > "$SERVICE_FILE" <<EOF
[Unit]
Description=Traffmonetizer Traffic Sharing Service
After=network.target
Wants=network.target

[Service]
Type=simple
User=root
ExecStart=${CLI_PATH} start accept --token ${TOKEN} --device-name ${DEVICE_NAME}
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

echo ">>> [4/5] 正在重载 Systemd 并配置开机自启..."
systemctl daemon-reload
systemctl enable "$SERVICE_NAME"

echo ">>> [5/5] 正在启动服务..."
systemctl start "$SERVICE_NAME"

sleep 3

echo ""
echo "=========================================="
echo ">>> 部署完成！当前服务状态："
echo "=========================================="
systemctl status "$SERVICE_NAME" --no-pager -l

echo ""
echo "常用管理命令："
echo "  查看实时日志: journalctl -u $SERVICE_NAME -f"
echo "  停止服务:     systemctl stop $SERVICE_NAME"
echo "  重启服务:     systemctl restart $SERVICE_NAME"