更新 frpc.sh

This commit is contained in:
lc 2025-02-13 05:52:49 +00:00
parent 85c371c5fa
commit 5f64ddfe9f

61
frpc.sh
View File

@ -6,6 +6,7 @@ INSTALL_DIR="/usr/local/bin"
SERVICE_NAME="frpc" SERVICE_NAME="frpc"
CONFIG_DIR="/etc/frp" CONFIG_DIR="/etc/frp"
CONFIG_FILE="$CONFIG_DIR/frpc.toml" CONFIG_FILE="$CONFIG_DIR/frpc.toml"
FRPC_BIN="$INSTALL_DIR/frpc"
# 检测系统架构 # 检测系统架构
ARCH=$(uname -m) ARCH=$(uname -m)
@ -25,30 +26,41 @@ case $ARCH in
;; ;;
esac esac
# 下载 frpc # 检查 frpc 是否已安装
echo "正在下载 frpc v$FRPC_VERSION ..." if [ -f "$FRPC_BIN" ]; then
DOWNLOAD_URL="https://ghub.z1.mk/https://github.com/fatedier/frp/releases/download/v${FRPC_VERSION}/frp_${FRPC_VERSION}_linux_${ARCH}.tar.gz" echo "frpc 已安装,跳过下载步骤。"
wget -q --show-progress -O /tmp/frp.tar.gz $DOWNLOAD_URL else
# 下载 frpc
echo "正在下载 frpc v$FRPC_VERSION ..."
DOWNLOAD_URL="https://ghub.z1.mk/https://github.com/fatedier/frp/releases/download/v${FRPC_VERSION}/frp_${FRPC_VERSION}_linux_${ARCH}.tar.gz"
wget -q --show-progress -O /tmp/frp.tar.gz $DOWNLOAD_URL
fi
# 解压并安装 # 解压并安装
echo "正在安装 frpc ..." echo "正在安装 frpc ..."
tar -xzf /tmp/frp.tar.gz -C /tmp tar -xzf /tmp/frp.tar.gz -C /tmp
sudo mv /tmp/frp_${FRPC_VERSION}_linux_${ARCH}/frpc $INSTALL_DIR/ sudo mv /tmp/frp_${FRPC_VERSION}_linux_${ARCH}/frpc $INSTALL_DIR/
sudo chmod +x $INSTALL_DIR/frpc sudo chmod +x $INSTALL_DIR/frpc
# 清理临时文件
rm -rf /tmp/frp_${FRPC_VERSION}_linux_${ARCH} /tmp/frp.tar.gz
# 创建配置文件目录 # 创建配置文件目录
echo "正在创建配置文件目录 ..." echo "正在创建配置文件目录 ..."
sudo mkdir -p $CONFIG_DIR sudo mkdir -p $CONFIG_DIR
# 用户输入 frps 服务器地址和端口号 # 检查配置文件是否存在
echo "请输入 frps 服务器地址例如frps.example.com" if [ -f "$CONFIG_FILE" ]; then
read FRPS_SERVER echo "配置文件已存在,跳过生成步骤。"
echo "请输入 frps 服务器端口号例如7000" else
read FRPS_PORT # 用户输入 frps 服务器地址和端口号
echo "请输入 frps 服务器地址例如frps.example.com"
read FRPS_SERVER
echo "请输入 frps 服务器端口号例如7000"
read FRPS_PORT
# 写入 TOML 配置文件 # 写入 TOML 配置文件
echo "正在写入 TOML 配置文件 ..." echo "正在写入 TOML 配置文件 ..."
sudo bash -c "cat > $CONFIG_FILE" <<EOF sudo bash -c "cat > $CONFIG_FILE" <<EOF
[common] [common]
server_addr = "$FRPS_SERVER" server_addr = "$FRPS_SERVER"
server_port = $FRPS_PORT server_port = $FRPS_PORT
@ -60,11 +72,16 @@ server_port = $FRPS_PORT
# localPort = 80 # localPort = 80
# customDomains = ["example.com"] # customDomains = ["example.com"]
EOF EOF
fi
# 创建 Systemd 服务 # 检查 Systemd 服务是否已存在
echo "正在创建 Systemd 服务 ..."
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service" SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service"
sudo bash -c "cat > $SERVICE_FILE" <<EOF if [ -f "$SERVICE_FILE" ]; then
echo "Systemd 服务已存在,跳过生成步骤。"
else
# 创建 Systemd 服务
echo "正在创建 Systemd 服务 ..."
sudo bash -c "cat > $SERVICE_FILE" <<EOF
[Unit] [Unit]
Description=Frp Client Service Description=Frp Client Service
After=network.target After=network.target
@ -80,15 +97,13 @@ RestartSec=5s
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
# 重载 Systemd 并启动服务 # 重载 Systemd 并启动服务
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable $SERVICE_NAME sudo systemctl enable $SERVICE_NAME
sudo systemctl start $SERVICE_NAME sudo systemctl start $SERVICE_NAME
fi
# 检查服务状态 # 检查服务状态
echo "frpc 安装完成!" echo "frpc 安装完成!"
echo "服务状态:" echo "服务状态:"
sudo systemctl status $SERVICE_NAME sudo systemctl status $SERVICE_NAME
# 清理临时文件
rm -rf /tmp/frp_${FRPC_VERSION}_linux_${ARCH} /tmp/frp.tar.gz