From 6fe405c864d7a30f094a6b288d3ff535c338c1cf Mon Sep 17 00:00:00 2001 From: MickLesk <47820557+MickLesk@users.noreply.github.com> Date: Wed, 30 Sep 2026 20:58:07 +0200 Subject: [PATCH] Use the release helpers instead of hand-rolled version checks and downloads Legacy /opt/*_version.txt files move to ~/. on the next update. --- ct/alpine-it-tools.sh | 19 ++++-------- ct/alpine-wakapi.sh | 19 ++---------- ct/autocaliweb.sh | 2 +- ct/bitmagnet.sh | 37 ++++++++++++------------ ct/glpi.sh | 8 +++--- ct/pterodactyl-panel.sh | 25 ++++++++-------- ct/rclone.sh | 15 ++++------ ct/rustdeskserver.sh | 43 +++++++++++----------------- ct/tasmocompiler.sh | 19 +++++------- ct/tinyauth.sh | 12 ++------ ct/wastebin.sh | 24 +++++----------- install/alpine-it-tools-install.sh | 12 +++----- install/bitmagnet-install.sh | 16 +++-------- install/caddy-install.sh | 6 ++-- install/docker-install.sh | 5 +--- install/erpnext-install.sh | 7 +---- install/glpi-install.sh | 10 +------ install/mariadb-install.sh | 2 +- install/npmplus-install.sh | 5 +--- install/onedev-install.sh | 2 +- install/postgresql-install.sh | 2 +- install/pterodactyl-panel-install.sh | 8 ++---- install/rclone-install.sh | 15 +++------- install/rustdeskserver-install.sh | 27 ++++++----------- install/tasmocompiler-install.sh | 9 ++---- install/tinyauth-install.sh | 11 +++---- install/wastebin-install.sh | 18 ++++-------- install/wazuh-install.sh | 2 +- 28 files changed, 124 insertions(+), 256 deletions(-) diff --git a/ct/alpine-it-tools.sh b/ct/alpine-it-tools.sh index cf02aeba9..c8bda7e32 100644 --- a/ct/alpine-it-tools.sh +++ b/ct/alpine-it-tools.sh @@ -29,20 +29,13 @@ function update_script() { exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/sharevb/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) - if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then - msg_info "Updating ${APP} LXC" - curl -fsSL "https://github.com/sharevb/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" -o it-tools.zip - mkdir -p /usr/share/nginx/html - rm -rf /usr/share/nginx/html/* - $STD unzip it-tools.zip -d /tmp - cp -r /tmp/dist/* /usr/share/nginx/html - rm -rf /tmp/dist - rm -f it-tools.zip - echo "${RELEASE}" >/opt/${APP}_version.txt + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/"${APP}_version.txt" ~/.it-tools + fi + + if check_for_gh_release "it-tools" "sharevb/it-tools"; then + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "it-tools" "sharevb/it-tools" "prebuild" "latest" "/usr/share/nginx/html" "it-tools-*.zip" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi exit 0 } diff --git a/ct/alpine-wakapi.sh b/ct/alpine-wakapi.sh index e3882aefb..ba0948704 100644 --- a/ct/alpine-wakapi.sh +++ b/ct/alpine-wakapi.sh @@ -29,8 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/muety/wakapi/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [ "${RELEASE}" != "$(cat ~/.wakapi 2>/dev/null)" ] || [ ! -f ~/.wakapi ]; then + if check_for_gh_release "wakapi" "muety/wakapi"; then msg_info "Stopping Wakapi Service" $STD rc-service wakapi stop msg_ok "Stopped Wakapi Service" @@ -39,26 +38,14 @@ function update_script() { $STD apk -U upgrade msg_ok "Updated Wakapi LXC" - msg_info "Creating backup" - mkdir -p /opt/wakapi-backup - cp /opt/wakapi/config.yml /opt/wakapi/wakapi_db.db /opt/wakapi-backup/ - msg_ok "Created backup" - + create_backup /opt/wakapi/config.yml /opt/wakapi/wakapi_db.db CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wakapi" "muety/wakapi" "prebuild" "latest" "/opt/wakapi" "wakapi_linux_$(arch_resolve).zip" - - msg_info "Configuring Wakapi" - cd /opt/wakapi - cp /opt/wakapi-backup/config.yml /opt/wakapi/ - cp /opt/wakapi-backup/wakapi_db.db /opt/wakapi/ - rm -rf /opt/wakapi-backup - msg_ok "Configured Wakapi" + restore_backup msg_info "Starting Service" $STD rc-service wakapi start msg_ok "Started Service" msg_ok "Updated successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi exit 0 } diff --git a/ct/autocaliweb.sh b/ct/autocaliweb.sh index 662b0b499..1b952e8b9 100644 --- a/ct/autocaliweb.sh +++ b/ct/autocaliweb.sh @@ -58,7 +58,7 @@ function update_script() { mkdir -p "$INSTALL_DIR"/metadata_temp $STD tar -xf ~/autocaliweb_bkp.tar --directory / KEPUB_VERSION="$(/usr/bin/kepubify --version)" - CALIBRE_RELEASE="$(curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)" + CALIBRE_RELEASE="$(get_latest_github_release "kovidgoyal/calibre")" echo "${KEPUB_VERSION#v}" >"$INSTALL_DIR"/KEPUBIFY_RELEASE echo "${CALIBRE_RELEASE#v}" >/"$INSTALL_DIR"/CALIBRE_RELEASE sed 's/^/v/' ~/.autocaliweb >"$INSTALL_DIR"/ACW_RELEASE diff --git a/ct/bitmagnet.sh b/ct/bitmagnet.sh index 9cdca7e6d..68249d609 100644 --- a/ct/bitmagnet.sh +++ b/ct/bitmagnet.sh @@ -75,8 +75,7 @@ update_deb_based() { msg_info "Configuring Bitmagnet" cd /opt/bitmagnet - VREL=v$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL" + $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v$(cat ~/.bitmagnet)" chmod +x bitmagnet msg_ok "Configured Bitmagnet" @@ -92,8 +91,10 @@ update_alpine() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [ "${RELEASE}" != "$(cat /opt/bitmagnet_version.txt)" ] || [ ! -f /opt/bitmagnet_version.txt ]; then + if [[ -f /opt/bitmagnet_version.txt ]]; then + mv /opt/bitmagnet_version.txt ~/.bitmagnet + fi + if check_for_gh_release "bitmagnet" "bitmagnet-io/bitmagnet"; then msg_info "Backing up database" rm -f /tmp/backup.sql $STD sudo -u postgres pg_dump \ @@ -119,27 +120,25 @@ update_alpine() { mv /tmp/backup.sql /opt/ msg_ok "Database backed up" - msg_info "Updating ${APP} from $(cat /opt/bitmagnet_version.txt) to ${RELEASE}" + msg_info "Stopping Service" $STD apk -U upgrade $STD service bitmagnet stop - [ -f /opt/bitmagnet/.env ] && cp /opt/bitmagnet/.env /opt/ - [ -f /opt/bitmagnet/config.yml ] && cp /opt/bitmagnet/config.yml /opt/ - rm -rf /opt/bitmagnet/* - temp_file=$(mktemp) - curl -fsSL "https://github.com/bitmagnet-io/bitmagnet/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - tar zxf "$temp_file" --strip-components=1 -C /opt/bitmagnet + msg_ok "Stopped Service" + + create_backup /opt/bitmagnet/.env /opt/bitmagnet/config.yml + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet" "tarball" + restore_backup + + msg_info "Building ${APP}" cd /opt/bitmagnet - VREL=v$RELEASE - $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL" + $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v$(cat ~/.bitmagnet)" chmod +x bitmagnet - [ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/ - [ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/ - rm -f "$temp_file" - echo "${RELEASE}" >/opt/bitmagnet_version.txt + msg_ok "Built ${APP}" + + msg_info "Starting Service" $STD service bitmagnet start + msg_ok "Started Service" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi } diff --git a/ct/glpi.sh b/ct/glpi.sh index 40e4b1901..b496d96cf 100644 --- a/ct/glpi.sh +++ b/ct/glpi.sh @@ -31,11 +31,11 @@ function update_script() { exit fi setup_mariadb - RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/"${APP}_version.txt" ~/.glpi + fi + if check_for_gh_release "glpi" "glpi-project/glpi"; then msg_error "Currently we don't provide an update function for this ${APP}." - else - msg_ok "No update required. ${APP} is already at v${RELEASE}." fi exit } diff --git a/ct/pterodactyl-panel.sh b/ct/pterodactyl-panel.sh index 5e0c86b7d..6f13ed397 100644 --- a/ct/pterodactyl-panel.sh +++ b/ct/pterodactyl-panel.sh @@ -54,19 +54,22 @@ EOF msg_ok "Migrated PHP $CURRENT_PHP to 8.4" fi - RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/"${APP}_version.txt" ~/.pterodactyl-panel + fi + + if check_for_gh_release "pterodactyl-panel" "pterodactyl/panel"; then msg_info "Stopping Service" cd /opt/pterodactyl-panel $STD php artisan down msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - cp -r /opt/pterodactyl-panel/.env /opt/ - rm -rf * .* - curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") - tar -xzf "panel.tar.gz" - mv /opt/.env /opt/pterodactyl-panel/ + create_backup /opt/pterodactyl-panel/.env + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "pterodactyl-panel" "pterodactyl/panel" "prebuild" "latest" "/opt/pterodactyl-panel" "panel.tar.gz" + restore_backup + + msg_info "Updating ${APP}" + cd /opt/pterodactyl-panel $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan view:clear $STD php artisan config:clear @@ -74,17 +77,13 @@ EOF chown -R www-data:www-data /opt/pterodactyl-panel/* chmod -R 755 /opt/pterodactyl-panel/storage /opt/pterodactyl-panel/bootstrap/cache/ ln -s /opt/pterodactyl-panel /var/www/pterodactyl - rm -rf "/opt/pterodactyl-panel/panel.tar.gz" - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to v${RELEASE}" + msg_ok "Updated ${APP}" msg_info "Starting Service" $STD php artisan queue:restart $STD php artisan up msg_ok "Started Service" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" fi exit } diff --git a/ct/rclone.sh b/ct/rclone.sh index ea037affa..c4e78e835 100644 --- a/ct/rclone.sh +++ b/ct/rclone.sh @@ -56,17 +56,12 @@ update_alpine() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/rclone/rclone/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [ "${RELEASE}" != "$(cat /opt/rclone_version.txt)" ] || [ ! -f /opt/rclone_version.txt ]; then - msg_info "Updating ${APP} LXC" - temp_file=$(mktemp) - curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-$(arch_resolve).zip" -o "$temp_file" - $STD unzip -o "$temp_file" '*/**' -d /opt/rclone - rm -f "$temp_file" - echo "${RELEASE}" >/opt/rclone_version.txt + if [[ -f /opt/rclone_version.txt ]]; then + mv /opt/rclone_version.txt ~/.rclone + fi + if check_for_gh_release "rclone" "rclone/rclone"; then + fetch_and_deploy_gh_release "rclone" "rclone/rclone" "prebuild" "latest" "/opt/rclone" "rclone*linux-$(arch_resolve).zip" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi } diff --git a/ct/rustdeskserver.sh b/ct/rustdeskserver.sh index cc21a5eb1..42845a3c1 100644 --- a/ct/rustdeskserver.sh +++ b/ct/rustdeskserver.sh @@ -66,41 +66,30 @@ update_alpine() { exit fi - APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - RELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [ "${RELEASE}" != "$(cat ~/.rustdesk-server 2>/dev/null)" ] || [ ! -f ~/.rustdesk-server ]; then - msg_info "Updating RustDesk Server to v${RELEASE}" + if check_for_gh_release "rustdesk-server" "lejianwen/rustdesk-server"; then + msg_info "Stopping RustDesk Server" $STD apk -U upgrade $STD service rustdesk-server-hbbs stop $STD service rustdesk-server-hbbr stop - temp_file1=$(mktemp) - ARCH=$(arch_resolve "amd64" "arm64v8") - curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-${ARCH}.zip" -o "$temp_file1" - $STD unzip "$temp_file1" - cp -r "$ARCH"/* /opt/rustdesk-server/ - echo "${RELEASE}" >~/.rustdesk-server + msg_ok "Stopped RustDesk Server" + + fetch_and_deploy_gh_release "rustdesk-server" "lejianwen/rustdesk-server" "prebuild" "latest" "/opt/rustdesk-server" "rustdesk-server-linux-$(arch_resolve "amd64" "arm64v8").zip" + + msg_info "Starting RustDesk Server" $STD service rustdesk-server-hbbs start $STD service rustdesk-server-hbbr start - rm -rf "$ARCH" - rm -f "$temp_file1" - msg_ok "Updated RustDesk Server" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" + msg_ok "Started RustDesk Server" fi - if [ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ] || [ ! -f ~/.rustdesk-api ]; then - msg_info "Updating RustDesk API to v${APIRELEASE}" + if check_for_gh_release "rustdesk-api" "lejianwen/rustdesk-api"; then + msg_info "Stopping RustDesk API" $STD service rustdesk-api stop - temp_file2=$(mktemp) - curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-$(arch_resolve).tar.gz" -o "$temp_file2" - $STD tar zxvf "$temp_file2" - cp -r release/* /opt/rustdesk-api - echo "${APIRELEASE}" >~/.rustdesk-api + msg_ok "Stopped RustDesk API" + + fetch_and_deploy_gh_release "rustdesk-api" "lejianwen/rustdesk-api" "prebuild" "latest" "/opt/rustdesk-api" "linux-$(arch_resolve).tar.gz" + + msg_info "Starting RustDesk API" $STD service rustdesk-api start - rm -rf release - rm -f "$temp_file2" - msg_ok "Updated RustDesk API" - else - msg_ok "No update required. RustDesk API is already at v${APIRELEASE}" + msg_ok "Started RustDesk API" fi msg_ok "Updated successfully!" } diff --git a/ct/tasmocompiler.sh b/ct/tasmocompiler.sh index 1427a3d39..72c5b1424 100644 --- a/ct/tasmocompiler.sh +++ b/ct/tasmocompiler.sh @@ -29,34 +29,29 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/"${APP}_version.txt" ~/.tasmocompiler + fi + + if check_for_gh_release "tasmocompiler" "benzino77/tasmocompiler"; then msg_info "Stopping Service" systemctl stop tasmocompiler msg_ok "Stopped Service" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "tasmocompiler" "benzino77/tasmocompiler" "tarball" + msg_info "Updating TasmoCompiler" - cd /opt - rm -rf /opt/tasmocompiler - RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz") - tar xzf v${RELEASE}.tar.gz - mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/ cd /opt/tasmocompiler $STD yarn install export NODE_OPTIONS=--openssl-legacy-provider $STD npm i $STD yarn build - rm -r "/opt/v${RELEASE}.tar.gz" - echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated TasmoCompiler" msg_info "Starting Service" systemctl start tasmocompiler msg_ok "Started Service" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" fi exit } diff --git a/ct/tinyauth.sh b/ct/tinyauth.sh index 06997b4c6..14c81163f 100644 --- a/ct/tinyauth.sh +++ b/ct/tinyauth.sh @@ -62,8 +62,7 @@ update_alpine() { $STD apk -U upgrade msg_ok "Updated packages" - RELEASE=$(curl -s https://api.github.com/repos/tinyauthapp/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [ "${RELEASE}" != "$(cat ~/.tinyauth 2>/dev/null)" ] || [ ! -f ~/.tinyauth ]; then + if check_for_gh_release "tinyauth" "tinyauthapp/tinyauth"; then msg_info "Stopping Service" $STD service tinyauth stop msg_ok "Service Stopped" @@ -82,19 +81,12 @@ update_alpine() { msg_ok "Migrated .env to v5 format" fi - msg_info "Updating Tinyauth" - rm -f /opt/tinyauth/tinyauth - curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-$(arch_resolve)" -o /opt/tinyauth/tinyauth - chmod +x /opt/tinyauth/tinyauth - echo "${RELEASE}" >~/.tinyauth - msg_ok "Updated Tinyauth" + fetch_and_deploy_gh_release "tinyauth" "tinyauthapp/tinyauth" "singlefile" "latest" "/opt/tinyauth" "tinyauth-$(arch_resolve)" msg_info "Restarting Tinyauth" $STD service tinyauth start msg_ok "Restarted Tinyauth" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi } diff --git a/ct/wastebin.sh b/ct/wastebin.sh index 741795cce..be01449d2 100644 --- a/ct/wastebin.sh +++ b/ct/wastebin.sh @@ -30,11 +30,11 @@ function update_script() { exit fi ensure_dependencies zstd - RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - # Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/"${APP}_version.txt" ~/.wastebin + fi msg_info "Running Migration" - if [[ ! -f /opt/${APP}_version.txt ]]; then - echo "2.7.1" >/opt/${APP}_version.txt + if [[ ! -f /opt/wastebin-data/.env ]]; then mkdir -p /opt/wastebin-data cat </opt/wastebin-data/.env WASTEBIN_DATABASE_PATH=/opt/wastebin-data/wastebin.db @@ -60,28 +60,18 @@ EOF systemctl daemon-reload fi msg_ok "Migration Done" - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if check_for_gh_release "wastebin" "matze/wastebin"; then msg_info "Stopping Wastebin" systemctl stop wastebin msg_ok "Wastebin Stopped" - msg_info "Updating Wastebin" - temp_file=$(mktemp) - curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_$(arch_resolve "x86_64" "aarch64")-unknown-linux-musl.tar.zst" -o "$temp_file" - tar -xf "$temp_file" - cp -f wastebin* /opt/wastebin/ - chmod +x /opt/wastebin/wastebin - chmod +x /opt/wastebin/wastebin-ctl - rm -f "$temp_file" - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated Wastebin" + fetch_and_deploy_gh_release "wastebin" "matze/wastebin" "prebuild" "latest" "/opt/wastebin" "wastebin_*_$(arch_resolve "x86_64" "aarch64")-unknown-linux-musl.tar.zst" + chmod +x /opt/wastebin/wastebin /opt/wastebin/wastebin-ctl msg_info "Starting Wastebin" systemctl start wastebin msg_ok "Started Wastebin" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" fi exit } diff --git a/install/alpine-it-tools-install.sh b/install/alpine-it-tools-install.sh index e72cecbdc..7a761262f 100644 --- a/install/alpine-it-tools-install.sh +++ b/install/alpine-it-tools-install.sh @@ -19,12 +19,9 @@ $STD apk add --no-cache \ python3 msg_ok "Installed Dependencies" -msg_info "Installing IT-Tools" -RELEASE=$(curl -fsSL https://api.github.com/repos/sharevb/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) -curl -fsSL "https://github.com/sharevb/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" -o it-tools.zip -mkdir -p /usr/share/nginx/html -$STD unzip it-tools.zip -d /tmp/ -mv /tmp/dist/* /usr/share/nginx/html +fetch_and_deploy_gh_release "it-tools" "sharevb/it-tools" "prebuild" "latest" "/usr/share/nginx/html" "it-tools-*.zip" + +msg_info "Configuring IT-Tools" cat <<'EOF' >/etc/nginx/http.d/default.conf server { listen 80; @@ -39,8 +36,7 @@ server { EOF $STD rc-update add nginx default $STD rc-service nginx start -echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt -msg_ok "Installed IT-Tools" +msg_ok "Configured IT-Tools" motd_ssh customize diff --git a/install/bitmagnet-install.sh b/install/bitmagnet-install.sh index 14e6fdf3a..9eea89757 100644 --- a/install/bitmagnet-install.sh +++ b/install/bitmagnet-install.sh @@ -90,20 +90,14 @@ setup_alpine() { $STD rc-service postgresql start msg_ok "Installed PostreSQL" - RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet" "tarball" - msg_info "Installing bitmagnet v${RELEASE}" - mkdir -p /opt/bitmagnet - temp_file=$(mktemp) - curl -fsSL "https://github.com/bitmagnet-io/bitmagnet/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - tar zxf "$temp_file" --strip-components=1 -C /opt/bitmagnet + msg_info "Building bitmagnet" cd /opt/bitmagnet - VREL=v$RELEASE - $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL" + $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v$(cat ~/.bitmagnet)" chmod +x bitmagnet $STD su - postgres -c "psql -c 'CREATE DATABASE bitmagnet;'" - echo "${RELEASE}" >/opt/bitmagnet_version.txt - msg_ok "Installed bitmagnet v${RELEASE}" + msg_ok "Built bitmagnet" read -rp "${TAB3}Enter your TMDB API key if you have one: " tmdbapikey @@ -133,8 +127,6 @@ EOF msg_info "Starting bitmagnet" $STD service bitmagnet start msg_ok "Started bitmagnet" - - rm -f "$temp_file" } run_os_setup diff --git a/install/caddy-install.sh b/install/caddy-install.sh index 75e511ad0..49762836c 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -78,12 +78,10 @@ EOF read -r -p "${TAB3}Would you like to install xCaddy Addon? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then GO_VERSION="$(curl -fsSL https://go.dev/VERSION?m=text | head -1 | cut -c3-)" setup_go + fetch_and_deploy_gh_release "xcaddy" "caddyserver/xcaddy" "prebuild" "latest" "/opt/xcaddy" "xcaddy_*_linux_$(arch_resolve).tar.gz" + ln -sf /opt/xcaddy/xcaddy /usr/local/bin/xcaddy msg_info "Setup xCaddy" cd /opt - RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.tar.gz" -o "xcaddy_${RELEASE:1}_linux_amd64.tar.gz" - $STD tar xzf xcaddy_"${RELEASE:1}"_linux_amd64.tar.gz -C /usr/local/bin xcaddy - rm -rf /opt/xcaddy* $STD xcaddy build msg_ok "Setup xCaddy" fi diff --git a/install/docker-install.sh b/install/docker-install.sh index a239279a1..a87781191 100644 --- a/install/docker-install.sh +++ b/install/docker-install.sh @@ -65,10 +65,7 @@ setup_alpine() { $STD rc-update add docker default msg_ok "Installed Docker" - get_latest_release() { - curl -fsSL https://api.github.com/repos/"$1"/releases/latest | grep '"tag_name":' | cut -d'"' -f4 - } - DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") + DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_github_release "docker/compose" false) read -r -p "${TAB3}Would you like to add Docker Compose? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" diff --git a/install/erpnext-install.sh b/install/erpnext-install.sh index 7f9d74012..e98f32701 100644 --- a/install/erpnext-install.sh +++ b/install/erpnext-install.sh @@ -51,12 +51,7 @@ EOF $STD systemctl restart mariadb msg_ok "Configured MariaDB for ERPNext" -msg_info "Installing wkhtmltopdf" -WKHTMLTOPDF_URL="https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_$(arch_resolve).deb" -$STD curl -fsSL -o /tmp/wkhtmltox.deb "$WKHTMLTOPDF_URL" -$STD apt install -y /tmp/wkhtmltox.deb -rm -f /tmp/wkhtmltox.deb -msg_ok "Installed wkhtmltopdf" +fetch_and_deploy_gh_release "wkhtmltopdf" "wkhtmltopdf/packaging" "binary" "latest" "" "wkhtmltox_*.bookworm_$(arch_resolve).deb" msg_info "Installing Frappe Bench" useradd -m -s /bin/bash frappe diff --git a/install/glpi-install.sh b/install/glpi-install.sh index af508514a..c58011766 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -41,14 +41,7 @@ Password: $DB_PASS EOF msg_ok "Set up database" -msg_info "Installing GLPi" -cd /opt -RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') -curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o $(basename "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") -$STD tar -xzvf glpi-${RELEASE}.tgz -cd /opt/glpi -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed GLPi" +fetch_and_deploy_gh_release "glpi" "glpi-project/glpi" "prebuild" "latest" "/opt/glpi" "glpi-*.tgz" msg_info "Setting Downstream file" cat </opt/glpi/inc/downstream.php @@ -133,7 +126,6 @@ $STD a2dissite 000-default.conf $STD a2enmod rewrite $STD a2ensite glpi.conf rm -rf /opt/glpi/install/install.php -rm -rf /opt/glpi-${RELEASE}.tgz msg_ok "Setup Service" msg_info "Setup Cronjob" diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 8a5d200fc..be400ae86 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -80,7 +80,7 @@ setup_alpine() { sed -i 's|# *include "mod_fastcgi.conf"|include "mod_fastcgi.conf"|' /etc/lighttpd/lighttpd.conf sed -i 's|/usr/bin/php-cgi|/usr/bin/php-cgi83|g' /etc/lighttpd/mod_fastcgi.conf mkdir -p /var/www/localhost/htdocs - ADMINER_VERSION=$(curl -fsSL https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/^v//') + ADMINER_VERSION=$(get_latest_github_release "vrana/adminer") curl -fsSL "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" -o /var/www/localhost/htdocs/adminer.php chown lighttpd:lighttpd /var/www/localhost/htdocs/adminer.php chmod 755 /var/www/localhost/htdocs/adminer.php diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index 7424d5d5e..df03c3095 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -25,10 +25,7 @@ $STD apk add docker $STD rc-service docker start $STD rc-update add docker default -get_latest_release() { - curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 -} -DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") +DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_github_release "docker/compose" false) DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-$(arch_resolve "x86_64" "aarch64") -o ~/.docker/cli-plugins/docker-compose diff --git a/install/onedev-install.sh b/install/onedev-install.sh index 11edfab86..3b20d1d2f 100644 --- a/install/onedev-install.sh +++ b/install/onedev-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" JAVA_VERSION="21" setup_java msg_info "Installing OneDev" -RELEASE=$(curl -fsSL https://api.github.com/repos/theonedev/onedev/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +RELEASE=$(get_latest_github_release "theonedev/onedev" false) cd /opt curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o onedev-latest.tar.gz tar -xzf onedev-latest.tar.gz diff --git a/install/postgresql-install.sh b/install/postgresql-install.sh index d6b6cd11a..4a32ac3fa 100644 --- a/install/postgresql-install.sh +++ b/install/postgresql-install.sh @@ -180,7 +180,7 @@ setup_alpine() { sed -i 's|# *include "mod_fastcgi.conf"|include "mod_fastcgi.conf"|' /etc/lighttpd/lighttpd.conf sed -i 's|/usr/bin/php-cgi|/usr/bin/php-cgi83|g' /etc/lighttpd/mod_fastcgi.conf mkdir -p /var/www/localhost/htdocs - ADMINER_VERSION=$(curl -fsSL https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/^v//') + ADMINER_VERSION=$(get_latest_github_release "vrana/adminer") curl -fsSL "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" -o /var/www/localhost/htdocs/adminer.php chown lighttpd:lighttpd /var/www/localhost/htdocs/adminer.php chmod 755 /var/www/localhost/htdocs/adminer.php diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index a4d0a6744..d879bf31f 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -64,12 +64,10 @@ read -p "${TAB3}Provide an email address for admin login, this should be a valid read -p "${TAB3}Enter your First Name: " NAME_FIRST read -p "${TAB3}Enter your Last Name: " NAME_LAST +fetch_and_deploy_gh_release "pterodactyl-panel" "pterodactyl/panel" "prebuild" "latest" "/opt/pterodactyl-panel" "panel.tar.gz" + msg_info "Installing pterodactyl Panel" -RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -mkdir /opt/pterodactyl-panel cd /opt/pterodactyl-panel -curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o "panel.tar.gz" -tar -xzf "panel.tar.gz" cp .env.example .env ADMIN_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -88,9 +86,7 @@ pterodactyl Admin Username: admin pterodactyl Admin Email: $ADMIN_EMAIL pterodactyl Admin Password: $ADMIN_PASS EOF -rm -rf "/opt/pterodactyl-panel/panel.tar.gz" rm -rf "/tmp/debsuryorg-archive-keyring.deb" -echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt msg_ok "Installed pterodactyl Panel" msg_info "Creating Service" diff --git a/install/rclone-install.sh b/install/rclone-install.sh index a845760b5..68cb3f3ee 100644 --- a/install/rclone-install.sh +++ b/install/rclone-install.sh @@ -57,12 +57,9 @@ setup_alpine() { apache2-utils fuse3 msg_ok "Installed dependencies" - msg_info "Installing rclone" - temp_file=$(mktemp) - mkdir -p /opt/rclone - RELEASE=$(curl -s https://api.github.com/repos/rclone/rclone/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclone-v${RELEASE}-linux-$(arch_resolve).zip" -o "$temp_file" - $STD unzip -j "$temp_file" '*/**' -d /opt/rclone + fetch_and_deploy_gh_release "rclone" "rclone/rclone" "prebuild" "latest" "/opt/rclone" "rclone*linux-$(arch_resolve).zip" + + msg_info "Configuring rclone" cd /opt/rclone RCLONE_PASSWORD=$(head -c 16 /dev/urandom | xxd -p -c 16) $STD htpasswd -cb -B /opt/login.pwd admin "$RCLONE_PASSWORD" @@ -71,9 +68,7 @@ rclone-Credentials rclone User Name: admin rclone Password: $RCLONE_PASSWORD EOF - echo "${RELEASE}" >/opt/rclone_version.txt - rm -f "$temp_file" - msg_ok "Installed rclone" + msg_ok "Configured rclone" msg_info "Enabling rclone Service" cat </etc/init.d/rclone @@ -96,8 +91,6 @@ EOF msg_info "Starting rclone" $STD service rclone start msg_ok "Started rclone" - - rm -rf "$temp_file" } run_os_setup diff --git a/install/rustdeskserver-install.sh b/install/rustdeskserver-install.sh index 11b9d5cf8..5b0ae06fa 100644 --- a/install/rustdeskserver-install.sh +++ b/install/rustdeskserver-install.sh @@ -24,13 +24,9 @@ setup_deb_based() { } setup_alpine() { - RELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - msg_info "Installing RustDesk Server v${RELEASE}" - temp_file1=$(mktemp) - ARCH=$(arch_resolve "amd64" "arm64v8") - curl -fsSL "https://github.com/lejianwen/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-${ARCH}.zip" -o "$temp_file1" - $STD unzip "$temp_file1" - mv "$ARCH" /opt/rustdesk-server + fetch_and_deploy_gh_release "rustdesk-server" "lejianwen/rustdesk-server" "prebuild" "latest" "/opt/rustdesk-server" "rustdesk-server-linux-$(arch_resolve "amd64" "arm64v8").zip" + + msg_info "Configuring RustDesk Server" mkdir -p /root/.config/rustdesk cd /opt/rustdesk-server ./rustdesk-utils genkeypair >/tmp/rustdesk_keys.txt @@ -39,15 +35,11 @@ setup_alpine() { chmod 600 /root/.config/rustdesk/id_ed25519 chmod 644 /root/.config/rustdesk/id_ed25519.pub rm /tmp/rustdesk_keys.txt - echo "${RELEASE}" >~/.rustdesk-server - msg_ok "Installed RustDesk Server v${RELEASE}" + msg_ok "Configured RustDesk Server" - APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - msg_info "Installing RustDesk API v${APIRELEASE}" - temp_file2=$(mktemp) - curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-$(arch_resolve).tar.gz" -o "$temp_file2" - $STD tar zxvf "$temp_file2" - mv release /opt/rustdesk-api + fetch_and_deploy_gh_release "rustdesk-api" "lejianwen/rustdesk-api" "prebuild" "latest" "/opt/rustdesk-api" "linux-$(arch_resolve).tar.gz" + + msg_info "Configuring RustDesk API" cd /opt/rustdesk-api ADMINPASS=$(head -c 16 /dev/urandom | xxd -p -c 16) $STD ./apimain reset-admin-pwd "$ADMINPASS" @@ -57,8 +49,7 @@ RustDesk WebUI Username: admin Password: $ADMINPASS EOF - echo "${APIRELEASE}" >~/.rustdesk-api - msg_ok "Installed RustDesk API v${APIRELEASE}" + msg_ok "Configured RustDesk API" msg_info "Enabling RustDesk Server Services" cat </etc/init.d/rustdesk-server-hbbs @@ -124,8 +115,6 @@ EOF $STD service rustdesk-server-hbbr start $STD service rustdesk-api start msg_ok "Started RustDesk Server" - - rm -f "$temp_file1" "$temp_file2" } run_os_setup diff --git a/install/tasmocompiler-install.sh b/install/tasmocompiler-install.sh index ece36657b..4c5d33903 100644 --- a/install/tasmocompiler-install.sh +++ b/install/tasmocompiler-install.sh @@ -26,13 +26,10 @@ curl -fsSL -o get-platformio.py https://raw.githubusercontent.com/platformio/pla $STD python3 get-platformio.py msg_ok "Setup Platformio" +fetch_and_deploy_gh_release "tasmocompiler" "benzino77/tasmocompiler" "tarball" + msg_info "Setup TasmoCompiler" mkdir /tmp/Tasmota -RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl_download "/tmp/v${RELEASE}.tar.gz" "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -cd /tmp -tar xzf /tmp/v${RELEASE}.tar.gz -mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/ cd /opt/tasmocompiler $STD yarn install export NODE_OPTIONS=--openssl-legacy-provider @@ -42,8 +39,6 @@ mkdir -p /usr/local/bin ln -s ~/.platformio/penv/bin/platformio /usr/local/bin/platformio ln -s ~/.platformio/penv/bin/pio /usr/local/bin/pio ln -s ~/.platformio/penv/bin/piodebuggdb /usr/local/bin/piodebuggdb -rm -f /tmp/v${RELEASE}.tar.gz -echo "${RELEASE}" >"/opt/tasmocompiler_version.txt" msg_ok "Setup TasmoCompiler" msg_info "Creating Service" diff --git a/install/tinyauth-install.sh b/install/tinyauth-install.sh index 7ec13281a..b0f710fdb 100644 --- a/install/tinyauth-install.sh +++ b/install/tinyauth-install.sh @@ -64,11 +64,9 @@ setup_alpine() { $STD apk add --no-cache openssl apache2-utils msg_ok "Installed Dependencies" - msg_info "Installing Tinyauth" - mkdir -p /opt/tinyauth - RELEASE=$(curl -s https://api.github.com/repos/tinyauthapp/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.com/tinyauthapp/tinyauth/releases/download/v${RELEASE}/tinyauth-$(arch_resolve)" -o /opt/tinyauth/tinyauth - chmod +x /opt/tinyauth/tinyauth + fetch_and_deploy_gh_release "tinyauth" "tinyauthapp/tinyauth" "singlefile" "latest" "/opt/tinyauth" "tinyauth-$(arch_resolve)" + + msg_info "Configuring Tinyauth" PASS=$(openssl rand -base64 8 | tr -dc 'a-zA-Z0-9' | head -c 8) USER=$(htpasswd -Bbn "tinyauth" "${PASS}") @@ -77,8 +75,7 @@ Tinyauth Credentials Username: tinyauth Password: ${PASS} EOF - echo "${RELEASE}" >~/.tinyauth - msg_ok "Installed Tinyauth" + msg_ok "Configured Tinyauth" read -r -p "${TAB3}Enter your Tinyauth subdomain (e.g. https://tinyauth.example.com): " app_url diff --git a/install/wastebin-install.sh b/install/wastebin-install.sh index 782486080..8912f42c6 100644 --- a/install/wastebin-install.sh +++ b/install/wastebin-install.sh @@ -17,15 +17,10 @@ msg_info "Installing dependencies" $STD apt install -y zstd msg_ok "Installed dependencies" -msg_info "Installing Wastebin" -temp_file=$(mktemp) -RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_$(arch_resolve "x86_64" "aarch64")-unknown-linux-musl.tar.zst" -o "$temp_file" -tar -xf "$temp_file" -mkdir -p /opt/wastebin -mv wastebin* /opt/wastebin/ -chmod +x /opt/wastebin/wastebin -chmod +x /opt/wastebin/wastebin-ctl +fetch_and_deploy_gh_release "wastebin" "matze/wastebin" "prebuild" "latest" "/opt/wastebin" "wastebin_*_$(arch_resolve "x86_64" "aarch64")-unknown-linux-musl.tar.zst" +chmod +x /opt/wastebin/wastebin /opt/wastebin/wastebin-ctl + +msg_info "Configuring Wastebin" mkdir -p /opt/wastebin-data cat </opt/wastebin-data/.env @@ -35,10 +30,7 @@ WASTEBIN_HTTP_TIMEOUT=30 WASTEBIN_SIGNING_KEY=$(openssl rand -hex 32) WASTEBIN_PASTE_EXPIRATIONS=0,600,3600=d,86400,604800,2419200,29030400 EOF -rm -f "$temp_file" -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" - -msg_ok "Installed Wastebin" +msg_ok "Configured Wastebin" msg_info "Creating Service" cat </etc/systemd/system/wastebin.service diff --git a/install/wazuh-install.sh b/install/wazuh-install.sh index 97698b8ea..59f029f5d 100644 --- a/install/wazuh-install.sh +++ b/install/wazuh-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -RELEASE=$(curl -fsSL https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '"tag_name"' | awk -F '"' '{print substr($4, 2, length($2)-4)}') +RELEASE=$(get_latest_github_release "wazuh/wazuh" | cut -d. -f1,2) msg_warn "WARNING: This script will run an external installer from a third-party source (https://wazuh.com/)." msg_warn "The following code is NOT maintained or audited by our repository."