#!/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"