# Define FRP version and file details FRP_VERSION="0.56.0" FRP_TAR_FILE="frp_${FRP_VERSION}_linux_amd64.tar.gz" FRP_DIR="frp_${FRP_VERSION}_linux_amd64" DOWNLOAD_URL="https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/${FRP_TAR_FILE}"
# Define server configuration SERVER_ADDR="your.server.ip" SERVER_PORT=7000 AUTH_TOKEN="your_secure_token"
# Define proxy configuration for the LLM service PROXY_NAME="llm-service" LOCAL_IP="127.0.0.1" LOCAL_PORT=8888 REMOTE_PORT=10001
# Check if the FRP directory already exists to avoid redundant downloads if [ ! -d "$FRP_DIR" ]; then echo"Downloading FRP version ${FRP_VERSION}..." wget -q --show-progress "$DOWNLOAD_URL"
echo"Extracting the archive..." tar -zxvf "$FRP_TAR_FILE" else echo"FRP directory already exists. Skipping download and extraction." fi
# Navigate to the extracted directory cd"$FRP_DIR" || exit
[[proxies]] name = "${PROXY_NAME}" type = "tcp" localIP = "${LOCAL_IP}" localPort = ${LOCAL_PORT} remotePort = ${REMOTE_PORT} EOF
echo"Configuration file generated successfully."
# Kill any existing frpc processes to prevent port conflicts echo"Stopping any existing frpc instances..." pkill -f "./frpc -c ./frpc.toml" || true
# Run the FRP client in the background using nohup echo"Starting the FRP client in the background..." nohup ./frpc -c ./frpc.toml > frpc.log 2>&1 &
# Output final status to the user echo"------------------------------------------------------" echo"Deployment Complete!" echo"Your local LLM service (Port: ${LOCAL_PORT}) is now forwarded to: ${SERVER_ADDR}:${REMOTE_PORT}" echo"To view the live logs, run: tail -f $(pwd)/frpc.log" echo"------------------------------------------------------"