From a2647a4138719febe5df3f018efd2c68b8de8cbd Mon Sep 17 00:00:00 2001 From: gigirassy Date: Wed, 17 Jun 2026 02:14:37 +0200 Subject: [PATCH] Update misc/riptideinstaller.sh --- misc/riptideinstaller.sh | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/misc/riptideinstaller.sh b/misc/riptideinstaller.sh index 3017ba5..299b48c 100644 --- a/misc/riptideinstaller.sh +++ b/misc/riptideinstaller.sh @@ -1,8 +1,10 @@ + #!/bin/sh set -eu repo="gigirassy/riptide" base="https://codeberg.org/$repo" +api="https://codeberg.org/api/v1/repos/$repo/releases/latest" green="$(printf '\033[1;32m')" red="$(printf '\033[1;31m')" @@ -10,17 +12,24 @@ blue="$(printf '\033[1;34m')" reset="$(printf '\033[0m')" info() { - printf "%s[+]%s %s\n" "$green" "$reset" "$*" + printf '%s[+]%s %s\n' "$green" "$reset" "$*" } step() { - printf "%s[*]%s %s\n" "$blue" "$reset" "$*" + printf '%s[*]%s %s\n' "$blue" "$reset" "$*" } error() { - printf "%s[-]%s %s\n" "$red" "$reset" "$*" >&2 + printf '%s[-]%s %s\n' "$red" "$reset" "$*" >&2 } +for cmd in curl jq sha256sum grep awk sed; do + command -v "$cmd" >/dev/null 2>&1 || { + error "missing dependency: $cmd !" + exit 1 + } +done + tmpdir="$(mktemp -d)" trap 'rm -rf "$tmpdir"' EXIT @@ -37,24 +46,19 @@ fi step "fetching latest release information..." -release_page="$(curl -fsSL "$base/releases/latest")" +release_json="$(curl -fsSL "$api")" -version="$( - printf '%s' "$release_page" | - grep -oE '/releases/tag/[0-9]+\.[0-9]+\.[0-9]+' | - head -n1 | - sed 's|.*/||' -)" - -[ -n "$version" ] || { +version="$(printf '%s' "$release_json" | jq -r '.tag_name')" +[ -n "$version" ] && [ "$version" != "null" ] || { error "failed to determine latest version!" exit 1 } checksum="$( - printf '%s' "$release_page" | - grep -E '^[a-f0-9]{64}[[:space:]]+riptide$' | - awk '{print $1}' + printf '%s' "$release_json" | + jq -r '.body' | + grep -oE '[a-f0-9]{64}' | + head -n1 )" [ -n "$checksum" ] || { @@ -65,6 +69,7 @@ checksum="$( url="$base/releases/download/$version/riptide" info "latest version is $version!" +info "checksum is $checksum!" step "downloading riptide..." @@ -81,6 +86,7 @@ chmod 755 "$tmpdir/riptide" step "installing to /usr/local/bin/riptide" step "authentication may be required ($asroot)" + "$asroot" install -m 755 "$tmpdir/riptide" /usr/local/bin/riptide -info "riptide $version installed successfully <3 have a nice day" +info "riptide $version installed successfully <3 have a nice day" \ No newline at end of file