#!/bin/bash
cd /Users/gxwebsoft/frp/frp_0.63.0_darwin_arm64

echo "=== FRP客户端启动脚本 ==="

# 检查是否已有frpc进程运行
if pgrep -f "frpc" > /dev/null; then
    echo "⚠️  检测到frpc进程正在运行："
    ps aux | grep frpc | grep -v grep
    echo ""
    echo "正在停止现有进程..."
    pkill -f frpc
    sleep 3

    # 再次检查是否还有进程
    if pgrep -f "frpc" > /dev/null; then
        echo "❌ 无法停止现有进程，强制终止..."
        pkill -9 -f frpc
        sleep 2
    fi
fi

# 检查配置文件是否存在（优先使用toml格式）
CONFIG_FILE=""
if [ -f "frpc.toml" ]; then
    CONFIG_FILE="frpc.toml"
elif [ -f "frpc.ini" ]; then
    CONFIG_FILE="frpc.ini"
else
    echo "❌ 错误：配置文件不存在（frpc.toml 或 frpc.ini）"
    echo "当前目录: $(pwd)"
    echo "目录内容:"
    ls -la
    exit 1
fi

echo "📋 配置文件检查通过，使用: $CONFIG_FILE"

# 清理旧的日志文件
if [ -f "frpc.log" ]; then
    mv frpc.log frpc.log.old
fi

# 后台启动frpc客户端
echo "🚀 正在启动FRP客户端..."
nohup ./frpc -c $CONFIG_FILE > frpc.log 2>&1 &
FRP_PID=$!

# 等待启动
sleep 3

# 检查是否启动成功
if pgrep -f "frpc" > /dev/null; then
    echo "✅ FRP客户端启动成功！"
    echo "📊 进程信息:"
    ps aux | grep frpc | grep -v grep
    echo ""
    echo "📄 日志文件: $(pwd)/frpc.log"
    echo "🔍 查看实时日志: tail -f $(pwd)/frpc.log"
    echo ""
    echo "📋 最新日志内容:"
    echo "----------------------------------------"
    tail -10 frpc.log
    echo "----------------------------------------"
else
    echo "❌ FRP客户端启动失败！"
    echo "📄 错误日志:"
    echo "----------------------------------------"
    cat frpc.log
    echo "----------------------------------------"
    exit 1
fi

echo ""
echo "🔧 常用管理命令:"
echo "  查看进程: ps aux | grep frpc"
echo "  停止服务: pkill -f frpc"
echo "  查看日志: tail -f $(pwd)/frpc.log"
echo "  检查端口: lsof -i | grep frp"