正在用网上的免费frp服务,但有时不能使用,发现服务端版本更新了,所以导致不能使用,于是编辑一个脚本,发现不能用就自动更新一下完事。
#!/bin/bash
RELEASE_URL="https://githubfast.com/fatedier/frp/releases/latest"
VERSION=$(curl -s -L -I -o /dev/null -w '%{url_effective}' "$RELEASE_URL" | grep -o "v[0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d 'v' -f 2)
if [ -z "$VERSION" ]; then
echo "无法获取最新版本号"
exit 1
fi
CURRENT_VERSION_FILE="/download/current_version.txt" # 替换为存储当前版本的文件路径
CURRENT_VERSION=$(cat "$CURRENT_VERSION_FILE")
if [ "$VERSION" != "$CURRENT_VERSION" ]; then
DOWNLOAD_URL="https://githubfast.com/fatedier/frp/releases/download/v$VERSION/frp_${VERSION}_linux_mipsle.tar.gz"
echo "找到新版本号: $VERSION"
echo "下载链接: $DOWNLOAD_URL"
# 下载和安装操作...
DOWNLOAD_FILE=$(basename "$DOWNLOAD_URL")
echo "Downloading $DOWNLOAD_FILE..."
wget "$DOWNLOAD_URL"
# 2. 解压缩文件并停止frpc服务
echo "Extracting $DOWNLOAD_FILE..."
tar -xzf "$DOWNLOAD_FILE"
supervisorctl stop frpc
# 3. 复制frpc文件到指定路径
echo "Copying frpc to /frps/frps/..."
cp "./frp_${VERSION}_linux_amd64/frpc" "/usr/bin/"
echo "remove gz file"
rm *.gz*
echo "remove unzip files"
rm -r "frp_${VERSION}_linux_amd64*"
echo "$VERSION" > "$CURRENT_VERSION_FILE" # 更新当前版本文件
echo "Done!"
else
echo "版本无变化"
fi