#!/bin/sh # fonts color Green="\033[32m" Red="\033[31m" Yellow="\033[33m" GreenBG="\033[42;37m" RedBG="\033[41;37m" Font="\033[0m" # fonts color # variable WORK_PATH=$(dirname $(readlink -f $0)) FRP_NAME=frpc FRP_VERSION=0.57.0 FRP_PATH=/usr/local/frp PROXY_URL="https://mirror.ghproxy.com/" # check frpc if [ -f "/usr/local/frp/${FRP_NAME}" ] || [ -f "/usr/local/frp/${FRP_NAME}.toml" ] || [ -f "/lib/systemd/system/${FRP_NAME}.service" ];then echo -e "${Green}=========================================================================${Font}" echo -e "${RedBG}当前已退出脚本.${Font}" echo -e "${Green}检查到服务器已安装${Font} ${Red}${FRP_NAME}${Font}" echo -e "${Green}请手动确认和删除${Font} ${Red}/usr/local/frp/${Font} ${Green}目录下的${Font} ${Red}${FRP_NAME}${Font} ${Green}和${Font} ${Red}/${FRP_NAME}.toml${Font} ${Green}文件以及${Font} ${Red}/lib/systemd/system/${FRP_NAME}.service${Font} ${Green}文件,再次执行本脚本.${Font}" echo -e "${Green}参考命令如下:${Font}" echo -e "${Red}rm -rf /usr/local/frp/${FRP_NAME}${Font}" echo -e "${Red}rm -rf /usr/local/frp/${FRP_NAME}.toml${Font}" echo -e "${Red}rm -rf /lib/systemd/system/${FRP_NAME}.service${Font}" echo -e "${Green}=========================================================================${Font}" exit 0 fi while ! test -z "$(ps -A | grep -w ${FRP_NAME})"; do FRPCPID=$(ps -A | grep -w ${FRP_NAME} | awk 'NR==1 {print $1}') kill -9 $FRPCPID done # check network GOOGLE_HTTP_CODE=$(curl -o /dev/null --connect-timeout 5 --max-time 8 -s --head -w "%{http_code}" "https://www.google.com") PROXY_HTTP_CODE=$(curl -o /dev/null --connect-timeout 5 --max-time 8 -s --head -w "%{http_code}" "${PROXY_URL}") # check arch if [ $(uname -m) = "x86_64" ]; then PLATFORM=amd64 elif [ $(uname -m) = "aarch64" ]; then PLATFORM=arm64 else PLATFORM=arm fi FILE_NAME=frp_${FRP_VERSION}_linux_${PLATFORM} # download if [ $GOOGLE_HTTP_CODE == "200" ]; then wget -P ${WORK_PATH} https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/${FILE_NAME}.tar.gz -O ${FILE_NAME}.tar.gz else if [ $PROXY_HTTP_CODE == "200" ]; then wget -P ${WORK_PATH} ${PROXY_URL}https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/${FILE_NAME}.tar.gz -O ${FILE_NAME}.tar.gz else echo -e "${Red}检测 GitHub Proxy 代理失效 开始使用官方下载地址下载${Font}" wget -P ${WORK_PATH} https://github.com/fatedier/frp/releases/download/v${FRP_VERSION}/${FILE_NAME}.tar.gz -O ${FILE_NAME}.tar.gz fi fi tar -zxvf ${FILE_NAME}.tar.gz mkdir -p ${FRP_PATH} mv ${FILE_NAME}/${FRP_NAME} ${FRP_PATH} # configure frpc.toml RADOM_NAME=$(cat /dev/urandom | head -n 10 | md5sum | head -c 8) cat >${FRP_PATH}/${FRP_NAME}.toml </dev/null 2>&1 &${Font}" echo -e "${Green}=======================================================================${Font}"