mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-27 01:52:51 +08:00
46 lines
1.2 KiB
Bash
Executable File
46 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 自动更新 OpenWrt frpc-next 包的版本和 Hash
|
|
# 依赖: curl, grep, sed, sha256sum (或 shasum)
|
|
|
|
set -e
|
|
|
|
PKG_DIR=$(cd "$(dirname "$0")"; pwd)
|
|
MAKEFILE="$PKG_DIR/Makefile"
|
|
|
|
if [ ! -f "$MAKEFILE" ]; then
|
|
echo "错误: 找不到 Makefile 文件 ($MAKEFILE)"
|
|
exit 1
|
|
fi
|
|
|
|
# 1. 获取当前本地版本
|
|
CURRENT_VERSION=$(grep 'PKG_VERSION:=' "$MAKEFILE" | cut -d'=' -f2 | tr -d ' ')
|
|
echo "当前本地版本: $CURRENT_VERSION"
|
|
|
|
# 2. 获取 GitHub 上的最新版本号
|
|
LATEST_VERSION=$(curl -s https://api.github.com/repos/fatedier/frp/releases/latest | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | sed 's/^v//')
|
|
|
|
if [ -z "$LATEST_VERSION" ]; then
|
|
echo "错误: 无法从 GitHub 获取最新版本号。"
|
|
exit 1
|
|
fi
|
|
|
|
echo "GitHub 最新版本: $LATEST_VERSION"
|
|
|
|
# 3. 比较版本
|
|
if [ "$CURRENT_VERSION" == "$LATEST_VERSION" ]; then
|
|
echo "版本已经是最新,无需更新。"
|
|
exit 0
|
|
fi
|
|
|
|
echo "发现新版本! 正在准备更新..."
|
|
|
|
# 4. 更新 Makefile
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
sed -i '' "s/PKG_VERSION:=.*/PKG_VERSION:=$LATEST_VERSION/" "$MAKEFILE"
|
|
else
|
|
sed -i "s/PKG_VERSION:=.*/PKG_VERSION:=$LATEST_VERSION/" "$MAKEFILE"
|
|
fi
|
|
|
|
echo "Makefile 更新成功: $CURRENT_VERSION -> $LATEST_VERSION (Binary Mode)"
|