收起左侧

自动更新应用商店的frpc

0
回复
135
查看
[ 复制链接 ]

2

主题

1

回帖

0

牛值

江湖小虾

2025-11-28 01:49:23 显示全部楼层 阅读模式

飞牛应用中心的应用更新太慢了,对于想体验最新版的人有点难受,我就想着能不能做个脚本自动更新frpc的二进制文件,然后发现替换二进制文件后怎么用命令重启应用中心的应用才是难点,我发现frpc的作者在这个应用的文件夹下写了一个重启代码 /vol1/@appcenter/frpc/ui/restart.sh,这就方便很多了

检测更新代码如下:

#!/bin/bash

APP_DIR="/vol1/@appcenter/frpc/app"
UI_DIR="/vol1/@appcenter/frpc/ui"
FRPC_BIN="$APP_DIR/frpc"
TMP_DIR="/tmp/frpc_update"

# 获取当前版本
CURRENT_VERSION=$($FRPC_BIN -v 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')

# 获取最新版本号
LATEST_VERSION=$(curl -s https://api.github.com/repos/fatedier/frp/releases/latest | grep '"tag_name":' | sed -E 's/.*"v?([^"]+)".*/\1/')

echo "当前版本: $CURRENT_VERSION"
echo "最新版本: $LATEST_VERSION"

if [ "$CURRENT_VERSION" != "$LATEST_VERSION" ]; then
    echo "发现新版本,开始更新..."

    mkdir -p $TMP_DIR
    cd $TMP_DIR

    # 下载最新版
    wget -q https://github.com/fatedier/frp/releases/download/v${LATEST_VERSION}/frp_${LATEST_VERSION}_linux_amd64.tar.gz

    # 解压
    tar -xzf frp_${LATEST_VERSION}_linux_amd64.tar.gz

    # 复制到临时文件
    cp frp_${LATEST_VERSION}_linux_amd64/frpc ${APP_DIR}/frpc.new

    # 设置执行权限
    chmod +x ${APP_DIR}/frpc.new

    # 原子替换
    mv -f ${APP_DIR}/frpc.new ${FRPC_BIN}

    # 切换目录再清理
    cd /root
    rm -rf $TMP_DIR

    echo "更新完成,正在重启frpc..."
    bash $UI_DIR/restart.sh
else
    echo "frpc已是最新版本,无需更新。"
fi

vi /vol1/@appcenter/frpc/ui/update创建脚本

将脚本内容复制粘贴

chmod +x /vol1/@appcenter/frpc/ui/update赋予脚本执行权限

创建定时任务(每天凌晨三点执行)

crontab -e编辑cron

添加一行:

0 3 * * * /bin/bash /vol1/@appcenter/frpc/ui/update_frpc.sh

这样就能每天自动检测并更新frpc的二进制文件

实测更新重启后在frps能看到飞牛的frpc客户端已经是最新版

屏幕截图2025-11-28014622.png

应用中心的版本显示不会变,但实际已经是最新版的了

image.png

理论上frps也可以这样更新,修改一下脚本内容就行

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则