diff --git a/logofclientctl.sh b/logofclientctl.sh new file mode 100755 index 0000000..16dea00 --- /dev/null +++ b/logofclientctl.sh @@ -0,0 +1,104 @@ +#!/bin/bash +set -Eeuo pipefail + +echo "Welcome to logofclient!" +echo "(c)2026 - MyPapertown, MyPaperCloud, Elias Fierke" +echo "Version 1.0" +echo "" + +show_help(){ + echo "-- HELP --" + echo " -v | Print the current application version" + echo " -h | Show this help text" + echo " -y | Answer all questions with yes" + echo "" + echo "-- COMMANDS --" + echo " install | install logofclient to your linux-system" + echo " update | update the logofclient to the newest version" + echo " uninstall | remove logofclient from your system" + exit 0 +} + +install(){ + printf "Fetching version...\n" + + + + GITEA_URL="${GITEA_URL:-https://git.mypapercloud.de}" + OWNER="${OWNER:-fierke}" + REPO="${REPO:-logofclient}" + + + API="${GITEA_URL%/}/api/v1" + + release_json="$( + curl --fail --silent --show-error --location \ + "$API/repos/$OWNER/$REPO/releases/latest" + )" + + tag="$( + jq --exit-status --raw-output '.tag_name' <<<"$release_json" + )" + + printf "Installing logofclient $tag...\n" + + ASSET="logofclient-$tag-linux.tar.xz" + + asset_url="$( + jq --exit-status --raw-output \ + --arg asset "$ASSET" \ + '.assets[] + | select(.name == $asset) + | .browser_download_url' \ + <<<"$release_json" + )" + + #printf 'Release tag: %s\n' "$tag" + printf 'Downloading package: %s\n' "$asset_url" + + curl --fail --location --retry 3 \ + "${AUTH[@]}" \ + --output "$ASSET" \ + "$asset_url" + + #printf 'Gespeichert als: %s\n' "$ASSET" +} + +update(){ + echo "updating logofclient" +} + +uninstall(){ + echo "removing logofclient from your system" +} + +while getopts "yhv" opt; do + case $opt in + v) exit 0 ;; + h) show_help ;; + y) ALWAYS_YES="1" ;; + \?) echo "Unknown option: -$OPTARG" >&2; exit 1 ;; + :) echo "Option -$OPTARG needs an argument" >&2; exit 1 ;; + esac +done + +if [[ "$1" == "install" ]]; then + + install + + exit 0 +fi + +if [[ "$1" == "update" ]]; then + + # update + exit 0 +fi + +if [[ "$1" == "uninstall" ]]; then + + # uninstall + exit 0 +fi + +