diff --git a/ct/kasm.sh b/ct/kasm.sh
index 0b7a8f38e..930e0748f 100644
--- a/ct/kasm.sh
+++ b/ct/kasm.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2026 community-scripts ORG
-# Author: Omar Minaya
+# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.kasmweb.com/docs/latest/index.html
@@ -16,7 +16,7 @@ var_arm64="${var_arm64:-yes}"
var_unprivileged="${var_unprivileged:-0}"
var_fuse="${var_fuse:-yes}"
var_tun="${var_tun:-yes}"
-var_kasm_version="${var_kasm_version:-}"
+var_kasm_version="${var_kasm_version:-1.19.0}"
header_info "$APP"
variables
@@ -34,19 +34,18 @@ function update_script() {
msg_info "Checking for new version"
CURRENT_VERSION=$(readlink -f /opt/kasm/current | awk -F'/' '{print $4}')
- KASM_VERSION=$(curl -s https://kasm.com/downloads | grep -oP '
]*>.*?
' | sed -E 's/<\/?h1[^>]*>//g' | grep -oP '\d+\.\d+\.\d+')
- KASM_URL="https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION:-var_kasm_version}.tar.gz"
+ KASM_URL=$(curl -s https://kasm.com/downloads \
+ | grep -oP 'https://kasm-static-content\.s3\.amazonaws\.com/kasm_release_\d+\.\d+\.\d+-latest\.tar\.gz' \
+ | head -1)
+ KASM_VERSION=$(echo "$KASM_URL" | grep -oP '\d+\.\d+\.\d+(?=-latest)')
- # KASM_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_[0-9]+\.[0-9]+\.[0-9]+\.[a-z0-9]+\.tar\.gz' | head -n 1)
- # if [[ -z "$KASM_URL" ]]; then
- # SERVICE_IMAGE_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_service_images_amd64_[0-9]+\.[0-9]+\.[0-9]+\.tar\.gz' | head -n 1)
- # if [[ -n "$SERVICE_IMAGE_URL" ]]; then
- # KASM_VERSION=$(echo "$SERVICE_IMAGE_URL" | sed -E 's/.*kasm_release_service_images_amd64_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
- # KASM_URL="https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
- # fi
- # else
- # KASM_VERSION=$(echo "$KASM_URL" | sed -E 's/.*kasm_release_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
- # fi
+ # Fallback to predefined version if online lookup failed.
+ if [[ -z "$KASM_VERSION" ]] || [[ -z "$KASM_URL" ]]; then
+ msg_warn "Unable to fetch latest Kasm release online, falling back to v${var_kasm_version}"
+ fi
+
+ KASM_VERSION="${KASM_VERSION:-$var_kasm_version}"
+ KASM_URL="${KASM_URL:-https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}-latest.tar.gz}"
if [[ -z "$KASM_VERSION" ]] || [[ -z "$KASM_URL" ]]; then
msg_error "Unable to detect latest Kasm release URL."
diff --git a/install/kasm-install.sh b/install/kasm-install.sh
index 3b9bafa10..f5dbd024f 100644
--- a/install/kasm-install.sh
+++ b/install/kasm-install.sh
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
-# Author: Omar Minaya
+# Author: CrazyWolf13
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://www.kasmweb.com/docs/latest/index.html
@@ -18,19 +18,18 @@ $STD sh <(curl -fsSL https://get.docker.com/)
msg_ok "Installed Docker"
msg_info "Detecting latest Kasm Workspaces release"
-KASM_VERSION=$(curl -s https://kasm.com/downloads | grep -oP ']*>.*?
' | sed -E 's/<\/?h1[^>]*>//g' | grep -oP '\d+\.\d+\.\d+')
-KASM_URL="https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION:-var_kasm_version}.tar.gz"
+KASM_URL=$(curl -s https://kasm.com/downloads \
+ | grep -oP 'https://kasm-static-content\.s3\.amazonaws\.com/kasm_release_\d+\.\d+\.\d+-latest\.tar\.gz' \
+ | head -1)
+KASM_VERSION=$(echo "$KASM_URL" | grep -oP '\d+\.\d+\.\d+(?=-latest)')
-# KASM_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_[0-9]+\.[0-9]+\.[0-9]+\.[a-z0-9]+\.tar\.gz' | head -n 1)
-# if [[ -z "$KASM_URL" ]]; then
-# SERVICE_IMAGE_URL=$(curl -fsSL "https://www.kasm.com/downloads" | tr '\n' ' ' | grep -oE 'https://kasm-static-content[^"]*kasm_release_service_images_amd64_[0-9]+\.[0-9]+\.[0-9]+\.tar\.gz' | head -n 1)
-# if [[ -n "$SERVICE_IMAGE_URL" ]]; then
-# KASM_VERSION=$(echo "$SERVICE_IMAGE_URL" | sed -E 's/.*kasm_release_service_images_amd64_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
-# KASM_URL="https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}.tar.gz"
-# fi
-# else
-# KASM_VERSION=$(echo "$KASM_URL" | sed -E 's/.*kasm_release_([0-9]+\.[0-9]+\.[0-9]+).*/\1/')
-# fi
+# Fallback to predefined version if online lookup failed.
+if [[ -z "$KASM_VERSION" ]] || [[ -z "$KASM_URL" ]]; then
+ msg_warn "Unable to fetch latest Kasm release online, falling back to v${var_kasm_version}"
+fi
+
+KASM_VERSION="${KASM_VERSION:-$var_kasm_version}"
+KASM_URL="${KASM_URL:-https://kasm-static-content.s3.amazonaws.com/kasm_release_${KASM_VERSION}-latest.tar.gz}"
if [[ -z "$KASM_VERSION" ]] || [[ -z "$KASM_URL" ]]; then
msg_error "Unable to detect latest Kasm release URL."