Add wget/curl fallback for vendor and update downloads
This commit is contained in:
@@ -12,6 +12,21 @@ TMP_BIN="/tmp/bee-audit-new"
|
||||
TMP_SIG="/tmp/bee-audit-new.sig"
|
||||
REPO_API="${BEE_RELEASE_API:-https://git.mchus.pro/api/v1/repos/<org>/bee/releases/latest}"
|
||||
|
||||
download_to() {
|
||||
url="$1"
|
||||
out="$2"
|
||||
if command -v wget >/dev/null 2>&1; then
|
||||
wget -q -O "$out" "$url"
|
||||
return $?
|
||||
fi
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
curl -fsSL "$url" -o "$out"
|
||||
return $?
|
||||
fi
|
||||
log "neither wget nor curl available"
|
||||
return 1
|
||||
}
|
||||
|
||||
version_of() {
|
||||
"$1" --version 2>/dev/null | head -n1 | tr -d '[:space:]'
|
||||
}
|
||||
@@ -65,8 +80,8 @@ check_network_update() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! command -v wget >/dev/null 2>&1; then
|
||||
log "wget not found; skip network update"
|
||||
if ! command -v wget >/dev/null 2>&1 && ! command -v curl >/dev/null 2>&1; then
|
||||
log "neither wget nor curl found; skip network update"
|
||||
return 1
|
||||
fi
|
||||
if ! command -v jq >/dev/null 2>&1; then
|
||||
@@ -75,7 +90,7 @@ check_network_update() {
|
||||
fi
|
||||
|
||||
meta="/tmp/bee-release-latest.json"
|
||||
wget -q -O "$meta" "$REPO_API" || { log "failed to fetch release metadata"; return 1; }
|
||||
download_to "$REPO_API" "$meta" || { log "failed to fetch release metadata"; return 1; }
|
||||
|
||||
tag=$(jq -r '.tag_name // empty' "$meta")
|
||||
[ -n "$tag" ] || { log "release metadata missing tag_name"; return 1; }
|
||||
@@ -90,8 +105,8 @@ check_network_update() {
|
||||
sig_url=$(jq -r '.assets[]? | select(.name=="bee-audit-linux-amd64.sig") | .browser_download_url // empty' "$meta")
|
||||
[ -n "$bin_url" ] && [ -n "$sig_url" ] || { log "missing release asset URLs"; return 1; }
|
||||
|
||||
wget -q -O "$TMP_BIN" "$bin_url" || return 1
|
||||
wget -q -O "$TMP_SIG" "$sig_url" || return 1
|
||||
download_to "$bin_url" "$TMP_BIN" || return 1
|
||||
download_to "$sig_url" "$TMP_SIG" || return 1
|
||||
chmod +x "$TMP_BIN"
|
||||
|
||||
log "network update candidate: $tag"
|
||||
|
||||
Reference in New Issue
Block a user